All pastes #560190 Raw Edit

Untitled

public text v1 · immutable
·published 2007-06-12 00:49 UTC
rendered paste body

glGenProgramsARB = gl.glGenProgramsARB
glGenProgramsARB.argtypes = [GLuint, GLuint]
glBindProgramARB = gl.glBindProgramARB
glBindProgramARB.argtypes = [GLuint, GLuint]
glProgramStringARB = gl.glProgramStringARB
glProgramStringARB.argtypes = [GLuint, GLuint, c_void_p]
glDeleteProgramsARB = gl.glDeleteProgramsARB
glDeleteProgramsARB.argtypes = [GLint, c_void_p]
glGetError = gl.glGetError

#resumbrae.com glGenProgramsARB

class Program:

    source = ""

    def __init__ (self, source):
        self.source = source
        self.id = c_uint(0)
        glGenProgramsARB (c_uint (1), addressof(self.id))
        if self.id.value == 0:
            print "Could not create fragment program, aborting"
            raise SystemExit
        glBindProgramARB (GL_FRAGMENT_SHADER_ARB, self.id.value)
        print len(self.source)
        glProgramStringARB (GL_PROGRAM_FORMAT_ASCII_ARB,
                            len(self.source), self.source)
        self.check_error ()