void glsl_destroy(GLSLProgram *program) { unregister_gl_resource_holder(program); glDeleteShader(program->vsh_); glDeleteShader(program->fsh_); glDeleteProgram(program->program_); active_programs.erase(program); delete program; }
void glsl_destroy(GLSLProgram *program) { if (program) { unregister_gl_resource_holder(program); glDeleteShader(program->vsh_); glDeleteShader(program->fsh_); glDeleteProgram(program->program_); active_programs.erase(program); } else { ELOG("Deleting null GLSL program!"); } delete program; }
TransformDrawEngine::~TransformDrawEngine() { DestroyDeviceObjects(); FreeMemoryPages(decoded, DECODED_VERTEX_BUFFER_SIZE); FreeMemoryPages(decIndex, DECODED_INDEX_BUFFER_SIZE); FreeMemoryPages(transformed, TRANSFORMED_VERTEX_BUFFER_SIZE); FreeMemoryPages(transformedExpanded, 3 * TRANSFORMED_VERTEX_BUFFER_SIZE); delete [] quadIndices_; unregister_gl_resource_holder(this); for (auto iter = decoderMap_.begin(); iter != decoderMap_.end(); iter++) { delete iter->second; } delete [] uvScale; }
~Thin3DGLTexture() { unregister_gl_resource_holder(this); Destroy(); }
~Thin3DGLShaderSet() { unregister_gl_resource_holder(this); vshader->Release(); fshader->Release(); glDeleteProgram(program_); }
~Thin3DGLBuffer() override { unregister_gl_resource_holder(this); glDeleteBuffers(1, &buffer_); }
void DrawBuffer::Shutdown() { glDeleteBuffers(1, (GLuint *)&vbo_); vbo_ = 0; inited_ = false; unregister_gl_resource_holder(this); }
Texture::~Texture() { unregister_gl_resource_holder(this); Destroy(); }