void OpenGLFrameBuffer::InitializeState() { static bool first=true; if (first) { glewInit(); } gl_LoadExtensions(); Super::InitializeState(); if (first) { first=false; // [BB] For some reason this crashes, if compiled with MinGW and optimization. Has to be investigated. #ifdef _MSC_VER gl_PrintStartupLog(); #endif } glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClearDepth(1.0f); glDepthFunc(GL_LESS); glShadeModel(GL_SMOOTH); glEnable(GL_DITHER); glEnable(GL_ALPHA_TEST); glDisable(GL_CULL_FACE); glDisable(GL_POLYGON_OFFSET_FILL); glEnable(GL_POLYGON_OFFSET_LINE); glEnable(GL_BLEND); glEnable(GL_DEPTH_CLAMP_NV); glDisable(GL_DEPTH_TEST); glEnable(GL_TEXTURE_2D); glDisable(GL_LINE_SMOOTH); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glAlphaFunc(GL_GEQUAL,0.5f); glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // This was to work around a bug in some older driver. Probably doesn't make sense anymore. glEnable(GL_FOG); glDisable(GL_FOG); glHint(GL_FOG_HINT, GL_FASTEST); glFogi(GL_FOG_MODE, GL_EXP); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); int trueH = GetTrueHeight(); int h = GetHeight(); glViewport(0, (trueH - h)/2, GetWidth(), GetHeight()); Begin2D(false); GLRenderer->Initialize(); }
void OpenGLFrameBuffer::InitializeState() { static bool first=true; if (first) { ogl_LoadFunctions(); } gl_LoadExtensions(); Super::InitializeState(); if (first) { first=false; gl_PrintStartupLog(); } glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClearDepth(1.0f); glDepthFunc(GL_LESS); glEnable(GL_DITHER); glDisable(GL_CULL_FACE); glDisable(GL_POLYGON_OFFSET_FILL); glEnable(GL_POLYGON_OFFSET_LINE); glEnable(GL_BLEND); glEnable(GL_DEPTH_CLAMP); glDisable(GL_DEPTH_TEST); glEnable(GL_TEXTURE_2D); glDisable(GL_LINE_SMOOTH); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); int trueH = GetTrueHeight(); int h = GetHeight(); glViewport(0, (trueH - h)/2, GetWidth(), GetHeight()); Begin2D(false); GLRenderer->Initialize(); }