//------------------------------------------------------------------------ void TBuilder_Model_Ogre::Build() { mFGI = TModuleLogic::Get()->GetFGI(); int cntPart = mPatternModel->mMngNode_Collection.GetCountPart(); for( int iPart = 0 ; iPart < cntPart ; iPart++ ) { std::string namePart = mPatternModel->mMngNode_Collection.GetNamePart(iPart); int cntVariant = mPatternModel->mMngNode_Collection.GetCountVariant(namePart); for( int iVariant = 0 ; iVariant < cntVariant ; iVariant++ ) { std::string nameVariant = mPatternModel->mMngNode_Collection.GetNameVariant(namePart, iVariant); TBaseNode_Model* pNode = mPatternModel->mMngNode_Collection.Get(namePart, nameVariant); if( pNode==NULL ) continue; if( mPatternModel->GetTypeContent()==TModelItem::eModel ) { TModelNode_Model* pModelNode = (TModelNode_Model*)pNode; pModelNode->mPtrModel->BuildByModule_Graphic(); } else { TShapeNode_Model* pShapeNode = (TShapeNode_Model*)pNode; BuildShape(pShapeNode); } } } PostBuild(); }
QGLWidgetTest::QGLWidgetTest(const QGLFormat& Format, QWidget *parent) : QGLWidget(Format, parent) { #else QGLWidgetTest::QGLWidgetTest(QWidget * parent) : QGLWidget(parent) { #endif #ifdef _DEBUG SysUtils::RedirectIOToConsole(); #endif GString s; GError err; // Depth Into The Screen gX = -8.0f; gY = -8.0f; gZ = -22.0f; gKernel = new GKernel(); // build path for data (textures) gDataPath = SysUtils::AmanithPath(); if (gDataPath.length() > 0) gDataPath += "data/"; gWireFrame = G_TRUE; gAnim = G_TRUE; gAng1 = gAng2 = gAng3 = 0; gFillRule = G_ODD_EVEN_RULE; gFillMode = 1; gStepAng1 = 0.004f; gStepAng2 = -0.002f; gStepAng3 = 0.001f; gAng1 = gAng2 = gAng3 = 0; // load the texture gTexture = (GPixelMap *)gKernel->CreateNew(G_PIXELMAP_CLASSID); if (!gTexture) abort(); s = gDataPath + "metal05.png"; err = gTexture->Load(StrUtils::ToAscii(s), "expandpalette=true"); if (err != G_NO_ERROR) abort(); } //------------------------------------------------------------ // destructor QGLWidgetTest::~QGLWidgetTest() { if (gKernel) delete gKernel; DeleteFont(); } //----- paintGL ---------------------------------------------- void QGLWidgetTest::paintGL() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); setLightAndTransform(); if (gAnim) { gAng1 += gStepAng1; gAng2 += gStepAng2; gAng3 += gStepAng3; } // build the shape BuildShape(gAng1, gAng2, gAng3); // triangulate GenerateTessellation(); DrawTriangles(gTrianglesPts, gTrianglesIdx); glFlush(); }