EgtGraphics 1.6j1 :

- aggiunto TextureMgr per gestire le textures caricate
- fatte modifiche per visualizzare gli oggetti con le textures (solo opachi).
This commit is contained in:
Dario Sassi
2015-10-11 18:02:06 +00:00
parent 17dc39c758
commit 4a8c2c2e1b
8 changed files with 221 additions and 72 deletions
+21
View File
@@ -52,12 +52,15 @@ Scene::Scene( void)
m_hRC = nullptr ;
memset( &m_wglewc, 0, sizeof( WGLEWContext)) ;
memset( &m_glewc, 0, sizeof( GLEWContext)) ;
m_nOglVer = 0 ;
m_bNewWay = false ;
// Camera e viewport
m_ptCenter = ORIG ;
SetCamera( 0, 0, 0) ;
m_nViewportW = 0 ;
m_nViewportH = 0 ;
// Textures
m_TextMgr.SetScene( this) ;
// Sfondo
m_colBackTop.Set( 176, 176, 176) ;
m_colBackBottom.Set( 176, 176, 176) ;
@@ -214,6 +217,20 @@ Scene::CreateContext( HDC hDC, int nDriver, bool b2Buff, int nColorBits, int nDe
if ( ! m_bNewWay)
LOG_INFO( GetEGrLogger(), "OpenGL old way rendering !")
// determino la versione di OpenGL
m_nOglVer = 0 ;
const char* p ;
if ( ( p = reinterpret_cast<const char*> ( glGetString( GL_VERSION))) != nullptr) {
string sOglVer = p ;
STRVECTOR vsTok ;
Tokenize( sOglVer, ".", vsTok) ;
if ( vsTok.size() >= 2) {
int nMaj, nMin ;
if ( FromString( vsTok[0], nMaj) && FromString( vsTok[1], nMin))
m_nOglVer = 10 * nMaj + nMin ;
}
}
// reset stato di errore di OpenGL
glGetError() ;
@@ -857,6 +874,10 @@ Scene::Destroy( void)
// cancellazione eventuali ObjEgrGraphics attaccati a oggetti geometrici
DeleteObjGraphicsGroup( GDB_ID_ROOT) ;
// cancellazione textures
if ( ! m_TextMgr.Clear())
LOG_ERROR( GetEGrLogger(), "Error uloading textures from OpenGl") ;
// cancellazione rendering context
wglMakeCurrent( nullptr, nullptr) ;
if ( m_hRC != nullptr) {