bool CRenderSystemGLES::ResetRenderSystem(int width, int height, bool fullScreen, float refreshRate) { m_width = width; m_height = height; glClearColor( 0.0f, 0.0f, 0.0f, 0.0f ); CalculateMaxTexturesize(); CRect rect( 0, 0, width, height ); SetViewPort( rect ); glEnable(GL_SCISSOR_TEST); g_matrices.MatrixMode(MM_PROJECTION); g_matrices.LoadIdentity(); g_matrices.Ortho(0.0f, width-1, height-1, 0.0f, -1.0f, 1.0f); g_matrices.MatrixMode(MM_MODELVIEW); g_matrices.LoadIdentity(); glBlendFunc(GL_SRC_ALPHA, GL_ONE); glEnable(GL_BLEND); // Turn Blending On glDisable(GL_DEPTH_TEST); return true; }
bool CRenderSystemGLES::ResetRenderSystem(int width, int height) { m_width = width; m_height = height; glClearColor( 0.0f, 0.0f, 0.0f, 0.0f ); CalculateMaxTexturesize(); CRect rect( 0, 0, width, height ); SetViewPort( rect ); glEnable(GL_SCISSOR_TEST); glMatrixProject.Clear(); glMatrixProject->LoadIdentity(); glMatrixProject->Ortho(0.0f, width-1, height-1, 0.0f, -1.0f, 1.0f); glMatrixProject.Load(); glMatrixModview.Clear(); glMatrixModview->LoadIdentity(); glMatrixModview.Load(); glMatrixTexture.Clear(); glMatrixTexture->LoadIdentity(); glMatrixTexture.Load(); glBlendFunc(GL_SRC_ALPHA, GL_ONE); glEnable(GL_BLEND); // Turn Blending On glDisable(GL_DEPTH_TEST); return true; }
bool CRenderSystemGL::ResetRenderSystem(int width, int height, bool fullScreen, float refreshRate) { m_width = width; m_height = height; glClearColor( 0.0f, 0.0f, 0.0f, 0.0f ); CalculateMaxTexturesize(); CRect rect( 0, 0, width, height ); SetViewPort( rect ); glEnable(GL_TEXTURE_2D); glEnable(GL_SCISSOR_TEST); glMatrixProject.Clear(); glMatrixModview->LoadIdentity(); glMatrixProject->Ortho(0.0f, width-1, height-1, 0.0f, -1.0f, 1.0f); glMatrixProject.Load(); glMatrixModview.Clear(); glMatrixModview->LoadIdentity(); glMatrixModview.Load(); glMatrixTexture.Clear(); glMatrixTexture->LoadIdentity(); glMatrixTexture.Load(); if (glewIsSupported("GL_ARB_multitexture")) { //clear error flags ResetGLErrors(); GLint maxtex; glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS_ARB, &maxtex); //some sanity checks GLenum error = glGetError(); if (error != GL_NO_ERROR) { CLog::Log(LOGERROR, "ResetRenderSystem() GL_MAX_TEXTURE_IMAGE_UNITS_ARB returned error %i", (int)error); maxtex = 3; } else if (maxtex < 1 || maxtex > 32) { CLog::Log(LOGERROR, "ResetRenderSystem() GL_MAX_TEXTURE_IMAGE_UNITS_ARB returned invalid value %i", (int)maxtex); maxtex = 3; } //reset texture matrix for all textures for (GLint i = 0; i < maxtex; i++) { glActiveTextureARB(GL_TEXTURE0 + i); glMatrixTexture.Load(); } glActiveTextureARB(GL_TEXTURE0); } glBlendFunc(GL_SRC_ALPHA, GL_ONE); glEnable(GL_BLEND); // Turn Blending On glDisable(GL_DEPTH_TEST); return true; }