示例#1
0
void GSShaderOGL::Delete(GLuint s)
{
	if (GLLoader::found_GL_ARB_separate_shader_objects) {
		gl_DeleteProgram(s);
	} else {
		gl_DeleteShader(s);
	}
}
示例#2
0
GSShaderOGL::~GSShaderOGL()
{
	if (GLLoader::found_GL_ARB_separate_shader_objects)
		gl_DeleteProgramPipelines(1, &m_pipeline);

	for (auto it = m_single_prog.begin(); it != m_single_prog.end() ; it++) gl_DeleteProgram(it->second);
	m_single_prog.clear();
}