EgtGraphics 1.6b5 :
- modifiche per gestione superfici trasparenti - migliorata gestione colore da padre.
This commit is contained in:
+17
-6
@@ -83,6 +83,8 @@ ObjOldGraphics::AddPoint( const Point3d& ptP, bool bAux)
|
||||
AddStart( GL_POINTS, bAux) ;
|
||||
// inserisco il nuovo vertice
|
||||
AddVert3f( ptP) ;
|
||||
// aggiorno bbox
|
||||
m_b3Loc.Add( ptP) ;
|
||||
// fine
|
||||
AddEnd() ;
|
||||
// dichiaro valida la grafica
|
||||
@@ -100,9 +102,11 @@ ObjOldGraphics::AddLines( const PNTVECTOR& vPnt, bool bAux)
|
||||
return false ;
|
||||
// start
|
||||
AddStart( GL_LINES, bAux) ;
|
||||
// inserisco i vertici
|
||||
for ( int i = 0 ; i < int( vPnt.size()) ; ++ i)
|
||||
// inserisco i vertici + aggiorno bbox
|
||||
for ( int i = 0 ; i < int( vPnt.size()) ; ++ i) {
|
||||
AddVert3f( vPnt[i]) ;
|
||||
m_b3Loc.Add( vPnt[i]) ;
|
||||
}
|
||||
// fine
|
||||
AddEnd() ;
|
||||
// dichiaro valida la grafica
|
||||
@@ -120,10 +124,12 @@ ObjOldGraphics::AddPolyLine( const PolyLine& PL, bool bAux)
|
||||
return false ;
|
||||
// start
|
||||
AddStart( GL_LINE_STRIP, bAux) ;
|
||||
// inserisco i nuovi vertici
|
||||
// inserisco i nuovi vertici + aggiorno bbox
|
||||
Point3d ptP ;
|
||||
for ( bool bFound = PL.GetFirstPoint( ptP) ; bFound ; bFound = PL.GetNextPoint( ptP))
|
||||
for ( bool bFound = PL.GetFirstPoint( ptP) ; bFound ; bFound = PL.GetNextPoint( ptP)) {
|
||||
AddVert3f( ptP) ;
|
||||
m_b3Loc.Add( ptP) ;
|
||||
}
|
||||
// fine
|
||||
AddEnd() ;
|
||||
// dichiaro valida la grafica
|
||||
@@ -152,11 +158,12 @@ ObjOldGraphics::AddTriangle( const Triangle3d& Tria, const TriFlags3d& TFlags, c
|
||||
// modo corrente deve essere triangoli
|
||||
if ( m_nCurrMode != GL_TRIANGLES)
|
||||
return false ;
|
||||
// emetto le normali e i vertici del triangolo
|
||||
// emetto i flag, le normali e i vertici del triangolo + aggiorno bbox
|
||||
for ( int i = 0 ; i < 3 ; ++ i) {
|
||||
AddBndFlag( TFlags.bFlag[i]) ;
|
||||
AddNormal3f( TNrms.vtN[i]) ;
|
||||
AddVert3f( Tria.GetP( i)) ;
|
||||
m_b3Loc.Add( Tria.GetP( i)) ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
@@ -179,7 +186,7 @@ ObjOldGraphics::EndTriangles( void)
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
ObjOldGraphics::Draw( int nStat, int nMark, bool bSurfSha, bool bShowAux)
|
||||
ObjOldGraphics::Draw( int nStat, int nMark, bool bSurfSha, int nAlpha, bool bShowAux)
|
||||
{
|
||||
// se vuoto non faccio alcunché
|
||||
if ( m_ogaList.size() == 0)
|
||||
@@ -201,15 +208,19 @@ ObjOldGraphics::Draw( int nStat, int nMark, bool bSurfSha, bool bShowAux)
|
||||
if ( nMark == GDB_MK_ON) {
|
||||
bStdCol = false ;
|
||||
Color colMark = ( ( GetScene() != nullptr) ? GetScene()->GetMark() : Color( 255, 255, 0)) ;
|
||||
colMark.SetAlpha( nAlpha) ;
|
||||
colMark.GetFloat( fSelMarkCol) ;
|
||||
Color colMarkBack = GetSurfBackColor( colMark) ;
|
||||
colMarkBack.SetAlpha( nAlpha) ;
|
||||
colMarkBack.GetFloat( fSelMarkBackCol) ;
|
||||
}
|
||||
else if ( nStat == GDB_ST_SEL) {
|
||||
bStdCol = false ;
|
||||
Color colSelSurf = ( ( GetScene() != nullptr) ? GetScene()->GetSelSurf() : Color( 255, 255, 192)) ;
|
||||
colSelSurf.SetAlpha( nAlpha) ;
|
||||
colSelSurf.GetFloat( fSelMarkCol) ;
|
||||
Color colSelSurfBack = GetSurfBackColor( colSelSurf) ;
|
||||
colSelSurfBack.SetAlpha( nAlpha) ;
|
||||
colSelSurfBack.GetFloat( fSelMarkBackCol) ;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user