//----------------------------------------------------------------------------// void OpenGLApplePBTextureTarget::clear() { enablePBuffer(); glDisable(GL_SCISSOR_TEST); glClear(GL_COLOR_BUFFER_BIT); glEnable(GL_SCISSOR_TEST); disablePBuffer(); }
//----------------------------------------------------------------------------// void OpenGLApplePBTextureTarget::activate() { enablePBuffer(); // we clear the blend mode here so the next setupRenderingBlendMode call // is forced to update states for our local context. d_owner.setupRenderingBlendMode(BM_INVALID); OpenGLRenderTarget::activate(); }
//----------------------------------------------------------------------------// void OpenGLWGLPBTextureTarget::activate() { enablePBuffer(); glEnable(GL_SCISSOR_TEST); glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glDisableClientState(GL_SECONDARY_COLOR_ARRAY); glDisableClientState(GL_INDEX_ARRAY); glDisableClientState(GL_NORMAL_ARRAY); glDisableClientState(GL_FOG_COORDINATE_ARRAY); glDisableClientState(GL_EDGE_FLAG_ARRAY); // we clear the blend mode here so the next setupRenderingBlendMode call // is forced to update states for our local context. d_owner.setupRenderingBlendMode(BM_INVALID); OpenGLTextureTarget::activate(); }
//----------------------------------------------------------------------------// void OpenGLWGLPBTextureTarget::clear() { // save the old clear colour GLfloat old_colour[4]; glGetFloatv(GL_COLOR_CLEAR_VALUE, old_colour); // save old scissor state GLboolean old_scissor; glGetBooleanv(GL_SCISSOR_TEST, &old_scissor); enablePBuffer(); glDisable(GL_SCISSOR_TEST); glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT); disablePBuffer(); // restore old scissor state if (GL_TRUE == old_scissor) glEnable(GL_SCISSOR_TEST); // restore the old clear colour glClearColor(old_colour[0], old_colour[1], old_colour[2], old_colour[3]); }
//----------------------------------------------------------------------------// OpenGLGLXPBTextureTarget::OpenGLGLXPBTextureTarget(OpenGLRenderer& owner) : OpenGLTextureTarget(owner), d_pbuffer(0) { if (!GLXEW_VERSION_1_3) throw InvalidRequestException("System does not support GLX >= 1.3 " "required by CEGUI pbuffer usage under GLX"); d_dpy = glXGetCurrentDisplay(); selectFBConfig(); createContext(); initialiseTexture(); // set default size (and cause initialisation of the pbuffer) declareRenderSize(Size(DEFAULT_SIZE, DEFAULT_SIZE)); // set some states as a one-time thing (because we use a separate context) enablePBuffer(); glEnable(GL_SCISSOR_TEST); glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glDisableClientState(GL_SECONDARY_COLOR_ARRAY); glDisableClientState(GL_INDEX_ARRAY); glDisableClientState(GL_NORMAL_ARRAY); glDisableClientState(GL_FOG_COORDINATE_ARRAY); glDisableClientState(GL_EDGE_FLAG_ARRAY); glClearColor(0,0,0,0); disablePBuffer(); }
//----------------------------------------------------------------------------// void OpenGLGLXPBTextureTarget::activate() { enablePBuffer(); OpenGLRenderTarget::activate(); }