EgtGraphics 1.5b3 :
- aggiunto SceExecutor per eseguire file Tsc - centralizzata gestiopne del logger - mogliorie varie
This commit is contained in:
+26
-15
@@ -14,6 +14,7 @@
|
||||
//--------------------------- Include ----------------------------------------
|
||||
#include "stdafx.h"
|
||||
#include "Scene.h"
|
||||
#include "DllMain.h"
|
||||
#include "/EgtDev/Include/EgtILogger.h"
|
||||
#include "/EgtDev/Include/EGnStringUtils.h"
|
||||
#include "/EgtDev/Include/EGkFrame3d.h"
|
||||
@@ -37,7 +38,6 @@ CreateEGrScene( void)
|
||||
Scene::Scene( void)
|
||||
{
|
||||
m_pGeomDB = nullptr ;
|
||||
m_pLogger = nullptr ;
|
||||
// Context data
|
||||
m_hDC = nullptr ;
|
||||
m_hRC = nullptr ;
|
||||
@@ -62,10 +62,9 @@ Scene::~Scene( void)
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Scene::Init( IGeomDB* pGeomDB, ILogger* pLogger)
|
||||
Scene::Init( IGeomDB* pGeomDB)
|
||||
{
|
||||
m_pGeomDB = pGeomDB ;
|
||||
m_pLogger = pLogger ;
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -113,7 +112,7 @@ Scene::CreateContext( HDC hDC, int nDriver, bool b2Buff, int nColorBits, int nDe
|
||||
WglewInitResult = wglewInit() ;
|
||||
|
||||
if ( WglewInitResult != GLEW_OK)
|
||||
LOG_INFO( m_pLogger, "WGLEW is not initialized !")
|
||||
LOG_INFO( GetEGrLogger(), "WGLEW is not initialized !")
|
||||
|
||||
int attribs[10] ;
|
||||
if ( nDriver == OD_SOFT) {
|
||||
@@ -147,7 +146,7 @@ Scene::CreateContext( HDC hDC, int nDriver, bool b2Buff, int nColorBits, int nDe
|
||||
else {
|
||||
//It's not possible to make a GL 3.x context. Use the old style context (GL 2.1 and before)
|
||||
m_hRC = tempContext ;
|
||||
LOG_INFO( m_pLogger, "WGL_ARB_create_context missing !")
|
||||
LOG_INFO( GetEGrLogger(), "WGL_ARB_create_context missing !")
|
||||
}
|
||||
|
||||
// verifico validità Rendering Context
|
||||
@@ -159,12 +158,12 @@ Scene::CreateContext( HDC hDC, int nDriver, bool b2Buff, int nColorBits, int nDe
|
||||
GlewInitResult = glewInit() ;
|
||||
|
||||
if ( GlewInitResult != GLEW_OK)
|
||||
LOG_INFO( m_pLogger, "GLEW is not initialized !")
|
||||
LOG_INFO( GetEGrLogger(), "GLEW is not initialized !")
|
||||
|
||||
// verifico se posso lavorare in modalità nuova
|
||||
m_bNewWay = ( nDriver == OD_NEW && glewIsSupported( "GL_VERSION_3_0") == 1) ;
|
||||
if ( ! m_bNewWay)
|
||||
LOG_INFO( m_pLogger, "OpenGL old way rendering !")
|
||||
LOG_INFO( GetEGrLogger(), "OpenGL old way rendering !")
|
||||
|
||||
// reset stato di errore di OpenGL
|
||||
glGetError() ;
|
||||
@@ -310,14 +309,26 @@ Scene::GetPixelFormatInfo( void)
|
||||
return sInfo ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Scene::RedrawWindow( void)
|
||||
{
|
||||
HWND hWnd = ::WindowFromDC( m_hDC) ;
|
||||
if ( hWnd == nullptr)
|
||||
return false ;
|
||||
|
||||
return ( ::RedrawWindow( hWnd, nullptr, nullptr, RDW_INVALIDATE | RDW_UPDATENOW) != 0) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Scene::SetExtension( const BBox3d& b3Ext)
|
||||
{
|
||||
if ( b3Ext.IsEmpty())
|
||||
return false ;
|
||||
|
||||
m_b3ExtWorld = b3Ext ;
|
||||
m_b3ExtWorld.Set( -MIN_EXTENSION, -MIN_EXTENSION, -MIN_EXTENSION,
|
||||
MIN_EXTENSION, MIN_EXTENSION, MIN_EXTENSION) ;
|
||||
else
|
||||
m_b3ExtWorld = b3Ext ;
|
||||
m_bExtViewOk = false ;
|
||||
return true ;
|
||||
}
|
||||
@@ -387,7 +398,7 @@ Scene::AdjustDimView( double dHalfWidth, double dHalfHeight)
|
||||
GLenum nErr = glGetError() ;
|
||||
if ( nErr != GL_NO_ERROR) {
|
||||
string sOut = "First glViewport OpenGL error " + ToString( (int)nErr) ;
|
||||
LOG_INFO( m_pLogger, sOut.c_str())
|
||||
LOG_INFO( GetEGrLogger(), sOut.c_str())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -444,7 +455,7 @@ Scene::Reshape( int nW, int nH)
|
||||
GLenum nErr = glGetError() ;
|
||||
if ( nErr != GL_NO_ERROR) {
|
||||
string sOut = "Reshape OpenGL error " + ToString( (int)nErr) ;
|
||||
LOG_INFO( m_pLogger, sOut.c_str())
|
||||
LOG_INFO( GetEGrLogger(), sOut.c_str())
|
||||
}
|
||||
|
||||
// aggiorno
|
||||
@@ -485,7 +496,7 @@ Scene::Prepare( void)
|
||||
GLenum nErr = glGetError() ;
|
||||
if ( nErr != GL_NO_ERROR) {
|
||||
string sOut = "Prepare OpenGL error " + ToString( (int)nErr) ;
|
||||
LOG_INFO( m_pLogger, sOut.c_str())
|
||||
LOG_INFO( GetEGrLogger(), sOut.c_str())
|
||||
}
|
||||
|
||||
return true ;
|
||||
@@ -512,12 +523,12 @@ Scene::Draw( void)
|
||||
GLenum nErr = glGetError() ;
|
||||
if ( nErr != GL_NO_ERROR) {
|
||||
string sOut = "Draw OpenGL error " + ToString( (int)nErr) ;
|
||||
LOG_INFO( m_pLogger, sOut.c_str())
|
||||
LOG_INFO( GetEGrLogger(), sOut.c_str())
|
||||
}
|
||||
|
||||
// scambio i buffer back e front ( eseguita solo se previsti)
|
||||
if ( ! SwapBuffers( m_hDC))
|
||||
LOG_INFO( m_pLogger, "Draw SwapBuffers error")
|
||||
LOG_INFO( GetEGrLogger(), "Draw SwapBuffers error")
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user