void Graphics3D::render(const Matrix &view, const Matrix &proj, const Light *lighting, int flags) { if (!getIsVisible()) return; if (!isValid()) return; if (lighting == nullptr) { lighting = defaultLight; } Matrix modl = referenceFrame->getModelMatrix(); OpenGLShaderProgram *shaderProgram = shader->getShader(); shaderProgram->use(); OpenGLShaderProgram::Uniform modlMatrix(*shaderProgram, "M"); OpenGLShaderProgram::Uniform viewMatrix(*shaderProgram, "V"); OpenGLShaderProgram::Uniform projMatrix(*shaderProgram, "P"); OpenGLShaderProgram::Uniform selectionHandle(*shaderProgram, "selectionHandle"); modlMatrix.setMatrix4(modl.mat, 1, false); viewMatrix.setMatrix4(view.mat, 1, false); projMatrix.setMatrix4(proj.mat, 1, false); selectionHandle.set(flags ? uniqueHandle : 0); geometry->activate(shaderProgram); material->activate(shaderProgram); lighting->activate(shaderProgram); geometry->drawElements(); geometry->deactivate(shaderProgram); material->deactivate(shaderProgram); lighting->deactivate(shaderProgram); }
void CUIMAAApprenticeManage::show() { if (getIsVisible())return; setIsVisible(true); setIsTouchEnabled(true); CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, 1, true); createBasicChild(); }