EgrGraphics :

- aggiunta gestione normali diverse sui triangoli.
This commit is contained in:
Dario Sassi
2014-04-09 13:01:18 +00:00
parent cb34a7b71a
commit 7b1b6e8ad8
8 changed files with 20 additions and 14 deletions
+3 -3
View File
@@ -166,7 +166,7 @@ ObjNewGraphics::StartTriangles( int nNum)
//----------------------------------------------------------------------------
bool
ObjNewGraphics::AddTriangle( const Triangle3d& Tria)
ObjNewGraphics::AddTriangle( const Triangle3d& Tria, const TriNormals3d& TNrms)
{
if ( m_pScene == nullptr || ! m_pScene->MakeCurrent())
return false ;
@@ -175,11 +175,11 @@ ObjNewGraphics::AddTriangle( const Triangle3d& Tria)
return false ;
// recupero il conteggio dei vertici
int nCount = m_ngaList.back().m_nCount ;
// emetto i vertici del triangolo
// emetto i vertici e le normali del triangolo
for ( int i = 0 ; i < 3 ; ++ i) {
Vert3f v3V( Tria.GetP( i)) ;
glBufferSubData( GL_ARRAY_BUFFER, 2 * nCount * SIZEV3F, SIZEV3F, &v3V) ;
Vert3f v3N( Tria.GetN()) ;
Vert3f v3N( TNrms.vtN[i]) ;
glBufferSubData( GL_ARRAY_BUFFER, ( 2 * nCount + 1) * SIZEV3F, SIZEV3F, &v3N) ;
++ nCount ;
}