EgtGraphics 1.5b3 :

- aggiunto SceExecutor per eseguire file Tsc
- centralizzata gestiopne del logger
- mogliorie varie
This commit is contained in:
Dario Sassi
2014-02-19 11:21:12 +00:00
parent 8560bc5cae
commit 73ee89f9c5
11 changed files with 383 additions and 55 deletions
+26 -15
View File
@@ -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 ;
}