SSAO::~SSAO(){ glDetachShader(this->_normalMapShaderProgram, this->_normalMapVert); glDetachShader(this->_normalMapShaderProgram, this->_normalMapFrag); glDeleteShader(this->_normalMapVert); glDeleteShader(this->_normalMapFrag); glDeleteProgram(this->_normalMapShaderProgram); glDetachShader(this->_ssaoShaderProgram, this->_ssaoVert); glDetachShader(this->_ssaoShaderProgram, this->_ssaoFrag); glDeleteShader(this->_ssaoVert); glDeleteShader(this->_ssaoFrag); glDeleteProgram(this->_ssaoShaderProgram); glDetachShader(this->_blurShaderProgram, this->_blurVert); glDetachShader(this->_blurShaderProgram, this->_blurFrag); glDeleteShader(this->_blurVert); glDeleteShader(this->_blurFrag); glDeleteProgram(this->_blurShaderProgram); glDeleteTexturesEXT(1, &(this->_color1)); glDeleteTexturesEXT(1, &(this->_depthMap)); glDeleteFramebuffersEXT(1, &(this->_depth)); glDeleteTexturesEXT(1, &(this->_color2)); glDeleteTexturesEXT(1, &(this->_color2)); glDeleteFramebuffersEXT(1, &_fbo); glDeleteFramebuffersEXT(1, &_fbo2); }
static void UnInit(void) { if (multTex && texObj) { glDeleteTexturesEXT(NUM_TEXTURES, texNames); } UnBuildLists(); }
// Deconstructor void ParticleEmitterPoint::Destroy(){ glDeleteTexturesEXT (1, &glTexture); ParticleEmitterPoint::particleList.clear(); ParticleEmitterPoint::lifeList.clear(); ParticleEmitterPoint::sizeList.clear(); ParticleEmitterPoint::velocityList.clear(); }
void cgtk::reset_fbo() { if(renderbuffer) glDeleteRenderbuffersEXT(1, &renderbuffer); if(final_image) glDeleteTexturesEXT(1, &final_image); if(backface_buffer) glDeleteTexturesEXT(1, &backface_buffer); if(framebuffer) glDeleteFramebuffersEXT(1, &framebuffer); // Create the to FBO's one for the backside of the volumecube and one for the finalimage rendering glGenFramebuffersEXT(1, &framebuffer); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,framebuffer); glGenTextures(1, &backface_buffer); glBindTexture(GL_TEXTURE_RECTANGLE_ARB, backface_buffer); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0,GL_RGBA16F_ARB, WINDOW_SIZE_W, WINDOW_SIZE_H, 0, GL_RGBA, GL_FLOAT, NULL); glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_RECTANGLE_ARB, backface_buffer, 0); glGenTextures(1, &final_image); glBindTexture(GL_TEXTURE_RECTANGLE_ARB, final_image); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0,GL_RGBA16F_ARB, WINDOW_SIZE_W, WINDOW_SIZE_H, 0, GL_RGBA, GL_FLOAT, NULL); glGenRenderbuffersEXT(1, &renderbuffer); glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, renderbuffer); glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, WINDOW_SIZE_W, WINDOW_SIZE_H); glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, renderbuffer); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); }
cgtk::~cgtk() { if(volume_texture) glDeleteRenderbuffersEXT(1, &volume_texture); if(renderbuffer) glDeleteRenderbuffersEXT(1, &renderbuffer); if(final_image) glDeleteTexturesEXT(1, &final_image); if(backface_buffer) glDeleteTexturesEXT(1, &backface_buffer); if(framebuffer) glDeleteFramebuffersEXT(1, &framebuffer); if(b) delete [] b; }
///////////////////////////////////////////////////////// // stopRendering // ///////////////////////////////////////////////////////// void pix_snap2tex :: stopRendering() { if(m_textureObj) { if(GLEW_VERSION_1_1) { glDeleteTextures(1, &m_textureObj); } else { glDeleteTexturesEXT(1, &m_textureObj); } } m_textureObj = 0; m_oldWidth = m_oldHeight = m_texWidth = m_texHeight = -1; }
void glDeleteTextures(GLsizei n, const GLuint *textures) { #if 0 /* see comments above */ __GLX_SINGLE_DECLARE_VARIABLES(); __GLX_SINGLE_LOAD_VARIABLES(); if (n < 0) return; cmdlen = 4+n*4; __GLX_SINGLE_BEGIN(X_GLsop_DeleteTextures,cmdlen); __GLX_SINGLE_PUT_LONG(0,n); __GLX_PUT_LONG_ARRAY(4,textures,n); __GLX_SINGLE_END(); #else glDeleteTexturesEXT(n, textures); #endif }
int __glXDisp_DeleteTexturesEXT(__GLXclientState *cl, GLbyte *pc) { GLsizei n; __GLXcontext *cx; int error; cx = __glXForceCurrent(cl, __GLX_GET_VENDPRIV_CONTEXT_TAG(pc), &error); if (!cx) { return error; } pc += __GLX_VENDPRIV_HDR_SIZE; n = *(GLsizei *)(pc + 0); glDeleteTexturesEXT( *(GLsizei *)(pc + 0), (GLuint *)(pc + 4) ); return Success; }