Íàðîäíûé ó÷åáíèê ïî OpenGL


             

Óðîê 31. Âèçóàëèçàöèÿ ìîäåëåé Milkshape 3D - ÷àñòü 8


              int materialIndex = m_pMeshes[i].m_materialIndex;

              if ( materialIndex >= 0 )

              {

                    glMaterialfv( GL_FRONT, GL_AMBIENT,

                                         

m_pMaterials[materialIndex].m_ambient );

                    glMaterialfv( GL_FRONT, GL_DIFFUSE,

                                         

m_pMaterials[materialIndex].m_diffuse );

                    glMaterialfv( GL_FRONT, GL_SPECULAR,

                                         

m_pMaterials[materialIndex].m_specular );

                    glMaterialfv( GL_FRONT, GL_EMISSION,

                                         

m_pMaterials[materialIndex].m_emissive );

                    glMaterialf( GL_FRONT, GL_SHININESS,

                                         

m_pMaterials[materialIndex].m_shininess );

 

                    if ( m_pMaterials[materialIndex].m_texture > 0 )

                    {

                           glBindTexture( GL_TEXTURE_2D,

                                         

m_pMaterials[materialIndex].m_texture );

                           glEnable( GL_TEXTURE_2D );

                    }

                    else

                           glDisable( GL_TEXTURE_2D );

              }

              else

              {

                    glDisable( GL_TEXTURE_2D );

              }

Ñâîéñòâà ìàòåðèàëà óñòàíàâëèâàþòñÿ â ñîîòâåòñòâèå ñî çíà÷åíèåì, ñîõðàíåííûì â ìîäåëè. Çàìåòèì, ÷òî òåêñòóðà èñïîëüçóåòñÿ è äîñòóïíà, åñëè åå èíäåêñ áîëüøå ÷åì 0. Åñëè ïîñòàâèòü 0, òî âû îòêàçûâàåòåñü îò òåêñòóðû, è òåêñòóðà íå èñïîëüçóåòñÿ. Òàê æå òåêñòóðà íå èñïîëüçóåòñÿ, åñëè äëÿ ñåòêè âîîáùå íåò ìàòåðèàëà.

              glBegin( GL_TRIANGLES );

              {

                    for ( int j = 0; j < m_pMeshes[i].m_numTriangles; j++ )

                    {

                           int triangleIndex = m_pMeshes[i].m_pTriangleIndices[j];

                           const Triangle* pTri = &m_pTriangles[triangleIndex];




Ñîäåðæàíèå  Íàçàä  Âïåðåä