void GUIRenderer::display(float invFrameRate) { ShaderManager::instance()->bind(GUIShader); glUniform1i(diffuseTexSamplerLoc, 0); glActiveTexture(GL_TEXTURE0); for(unsigned int i=0;i<widgets.size();++i) { if(widgets[i]->isVisible()) { Vector2<int> translateVector(widgets[i]->getGlobalPositionX(), widgets[i]->getGlobalPositionY()); glUniform2iv(translateDistanceLoc, 1, (const int*)translateVector); widgets[i]->display(translateDistanceLoc, invFrameRate); } } #ifdef _DEBUG //display font texture // std::shared_ptr<XmlChunk> fontChunk = GUISkinService::instance()->getXmlSkin()->getUniqueChunk(true, "text", XmlAttribute("nameSkin", "defaultSkin")); // std::shared_ptr<XmlChunk> fileFontChunk = GUISkinService::instance()->getXmlSkin()->getUniqueChunk(true, "ttf", XmlAttribute(), fontChunk); // std::shared_ptr<XmlChunk> sizeFontChunk = GUISkinService::instance()->getXmlSkin()->getUniqueChunk(true, "size", XmlAttribute(), fontChunk); // Font *font = MediaManager::instance()->getMedia<Font>(fileFontChunk->getStringValue(), (void*) sizeFontChunk->getIntValue()); // // TextureDisplayer textureDisplayer(font->getTextureID(), TextureDisplayer::DEFAULT_VALUE); // textureDisplayer.setPosition(TextureDisplayer::USER_DEFINED_X, TextureDisplayer::USER_DEFINED_Y); // textureDisplayer.setSize(20.0, font->getDimensionTexture() + 20.0, 20.0, font->getDimensionTexture() + 20.0); // textureDisplayer.initialize(width, height, -1.0, -1.0); // textureDisplayer.display(); // font->release(); #endif }
void GUIRenderer::display(float dt) { ScopeProfiler profiler("3d", "uiRenderDisplay"); ShaderManager::instance()->bind(GUIShader); glUniform1i(diffuseTexSamplerLoc, 0); glActiveTexture(GL_TEXTURE0); for (auto &widget : widgets) { if(widget->isVisible()) { Vector2<int> translateVector(widget->getGlobalPositionX(), widget->getGlobalPositionY()); glUniform2iv(translateDistanceLoc, 1, (const int*)translateVector); widget->display(translateDistanceLoc, dt); } } #ifdef _DEBUG // //display font texture // Font *font = MediaManager::instance()->getMedia<Font>("font/font.fnt"); // // TextureDisplayer textureDisplayer(font->getTextureID(), TextureDisplayer::DEFAULT_VALUE); // textureDisplayer.setPosition(TextureDisplayer::USER_DEFINED_X, TextureDisplayer::USER_DEFINED_Y); // textureDisplayer.setSize(20.0, font->getDimensionTexture() + 20.0, 20.0, font->getDimensionTexture() + 20.0); // textureDisplayer.initialize(512, 512, -1.0, -1.0); // textureDisplayer.display(); // font->release(); #endif }
void DebugDraw::drawBox(const btVector3 &bbMin, const btVector3 &bbMax, const btTransform &trans, const btVector3 &color) { float openGlMatrix[16]; trans.getOpenGLMatrix(openGlMatrix); btScalar transX = openGlMatrix[12]; btScalar transY = openGlMatrix[13]; btScalar transZ = openGlMatrix[14]; btVector3 translateVector(transX, transY, transZ); glPushMatrix(); glMultMatrixf(openGlMatrix); drawLine(btVector3(bbMin.getX(), bbMin.getY(), bbMin.getZ()), btVector3(bbMax.getX(), bbMin.getY(), bbMin.getZ()), color); drawLine(btVector3(bbMin.getX(), bbMin.getY(), bbMin.getZ()), btVector3(bbMin.getX(), bbMax.getY(), bbMin.getZ()), color); drawLine(btVector3(bbMin.getX(), bbMax.getY(), bbMin.getZ()), btVector3(bbMax.getX(), bbMax.getY(), bbMin.getZ()), color); drawLine(btVector3(bbMax.getX(), bbMax.getY(), bbMin.getZ()), btVector3(bbMax.getX(), bbMin.getY(), bbMin.getZ()), color); drawLine(btVector3(bbMin.getX(), bbMin.getY(), bbMax.getZ()), btVector3(bbMin.getX(), bbMin.getY(), bbMin.getZ()), color); drawLine(btVector3(bbMin.getX(), bbMin.getY(), bbMax.getZ()), btVector3(bbMin.getX(), bbMax.getY(), bbMax.getZ()), color); drawLine(btVector3(bbMin.getX(), bbMax.getY(), bbMax.getZ()), btVector3(bbMin.getX(), bbMax.getY(), bbMin.getZ()), color); drawLine(btVector3(bbMin.getX(), bbMax.getY(), bbMax.getZ()), btVector3(bbMax.getX(), bbMax.getY(), bbMax.getZ()), color); drawLine(btVector3(bbMax.getX(), bbMax.getY(), bbMax.getZ()), btVector3(bbMax.getX(), bbMax.getY(), bbMin.getZ()), color); drawLine(btVector3(bbMax.getX(), bbMax.getY(), bbMax.getZ()), btVector3(bbMax.getX(), bbMin.getY(), bbMax.getZ()), color); drawLine(btVector3(bbMax.getX(), bbMin.getY(), bbMax.getZ()), btVector3(bbMin.getX(), bbMin.getY(), bbMax.getZ()), color); drawLine(btVector3(bbMax.getX(), bbMin.getY(), bbMax.getZ()), btVector3(bbMax.getX(), bbMin.getY(), bbMin.getZ()), color); glPopMatrix(); }