ShaderResource::~ShaderResource() { if (hasOwnership()) { glDeleteShader(id()); } }
ProgramResource::~ProgramResource() { if (hasOwnership()) { glDeleteProgram(id()); } }
VertexArrayObjectResource::~VertexArrayObjectResource() { deleteObject(glDeleteVertexArrays, id(), hasOwnership()); }
TransformFeedbackResource::~TransformFeedbackResource() { deleteObject(glDeleteTransformFeedbacks, id(), hasOwnership()); }
TextureResource::~TextureResource() { if (hasOwnership()) ImplementationRegistry::current().textureImplementation().destroy(id()); }
SamplerResource::~SamplerResource() { deleteObject(glDeleteSamplers, id(), hasOwnership()); }
RenderBufferObjectResource::~RenderBufferObjectResource() { deleteObject(glDeleteRenderbuffers, id(), hasOwnership()); }
QueryResource::~QueryResource() { deleteObject(glDeleteQueries, id(), hasOwnership()); }
FrameBufferObjectResource::~FrameBufferObjectResource() { if (hasOwnership()) ImplementationRegistry::current().framebufferImplementation().destroy(id()); }
BufferResource::~BufferResource() { if (hasOwnership()) ImplementationRegistry::current().bufferImplementation().destroy(id()); }
ProgramPipelineResource::~ProgramPipelineResource() { deleteObject(glDeleteProgramPipelines, id(), hasOwnership()); }