Пример #1
0
void GPUProgram::deletePrograms(int num, unsigned int* id) const {

    switch (extension) {
    case NVIDIA:
        glDeleteProgramsNV(num, id);
        break;

    case ARB:
        glDeleteProgramsARB(num, id);
        break;
    }
}
Пример #2
0
Shader::~Shader() {
	if(vertex_target == GL_VERTEX_PROGRAM_ARB) {
		if(vertex_id) glDeleteProgramsARB(1,&vertex_id);
	}
	if(fragment_target == GL_FRAGMENT_PROGRAM_ARB) {
		if(fragment_id) glDeleteProgramsARB(1,&fragment_id);
	} else if(fragment_target == GL_FRAGMENT_PROGRAM_NV) {
		if(fragment_id) glDeleteProgramsNV(1,&fragment_id);
	} else if(fragment_target == GL_COMBINE) {
		glDeleteLists(fragment_id,1);
	}
}
Пример #3
0
////////////////////////////////////////////////////////
// closeMess
//
/////////////////////////////////////////////////////////
void vertex_program :: closeMess(void)
{
    delete [] m_programString;
    m_programString=NULL;
    m_size=0;
    if(m_programID) {
        switch(m_programType) {
        case(GEM_PROGRAM_NV):
            glDeleteProgramsNV(1,&m_programID);
            break;
        case(GEM_PROGRAM_ARB):
            glDeleteProgramsARB(1,&m_programID);
            break;
        default:
            break;
        }
    }

    m_programID=0;
    m_programType=GEM_PROGRAM_none;
}
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVProgram_nglDeleteProgramsNV(JNIEnv *env, jclass clazz, jint n, jlong programs, jlong function_pointer) {
	const GLuint *programs_address = (const GLuint *)(intptr_t)programs;
	glDeleteProgramsNVPROC glDeleteProgramsNV = (glDeleteProgramsNVPROC)((intptr_t)function_pointer);
	glDeleteProgramsNV(n, programs_address);
}