Exemplo n.º 1
0
 def error_callback(code):
     ptr = glu.gluErrorString(code)
     err = ''
     idx = 0
     while ptr[idx]:
         err += chr(ptr[idx])
         idx += 1
     self._warn("GLU Tesselation Error: " + err)
Exemplo n.º 2
0
 def error_callback(code):
     ptr = glu.gluErrorString(code)
     err = ''
     idx = 0
     while ptr[idx]:
         err += chr(ptr[idx])
         idx += 1
     self._warn("GLU Tesselation Error: " + err)
Exemplo n.º 3
0
    def createOpenGLDisplayList(self):
        if self.displayList is None:
            self.displayList = GL.glGenLists(1)
            error = GL.glGetError()
            if error != GL.GL_NO_ERROR:
                print "An OpenGL error has occurred: ", GLU.gluErrorString(
                    error)
                return
        GL.glNewList(self.displayList, GL.GL_COMPILE)
        if self.displayAsPoints:
            GL.glBegin(GL.GL_POINTS)
        else:
            GL.glBegin(GL.GL_TRIANGLES)
        for i in xrange(len(self.TriangleVertexIndexList)):
            if len(self.TriangleVertexIndexList[i]) != 3:
                continue
            GL.glNormal3fv(self.NormVectors[i])
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 0]])
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 1]])
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 2]])
        GL.glEnd()
        if self.displayAsPoints:
            GL.glBegin(GL.GL_POINTS)
        else:
            GL.glBegin(GL.GL_QUADS)
        for i in xrange(len(self.TriangleVertexIndexList)):
            if len(self.TriangleVertexIndexList[i]) != 4:
                continue

            GL.glNormal3fv(self.NormVectors[i])
            if self.textureID is not None:
                GL.glTexCoord2d(0.0, 0.0)
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 0]])
            if self.textureID is not None:
                GL.glTexCoord2d(0.0, 1.0)
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 1]])
            if self.textureID is not None:
                GL.glTexCoord2d(1.0, 1.0)
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 2]])
            if self.textureID is not None:
                GL.glTexCoord2d(1.0, 0.0)
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 3]])
        GL.glEnd()

        GL.glEndList()
Exemplo n.º 4
0
    def createOpenGLDisplayList(self):
        if self.displayList is None:
            self.displayList = GL.glGenLists(1)
            error = GL.glGetError()
            if error != GL.GL_NO_ERROR:
                print "An OpenGL error has occurred: ", GLU.gluErrorString(error)
                return
        GL.glNewList(self.displayList, GL.GL_COMPILE)
        if self.displayAsPoints:
            GL.glBegin(GL.GL_POINTS)
        else:
            GL.glBegin(GL.GL_TRIANGLES)
        for i in xrange(len(self.TriangleVertexIndexList)):
            if len(self.TriangleVertexIndexList[i]) != 3:
                continue
            GL.glNormal3fv(self.NormVectors[i])
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 0]])
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 1]])
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 2]])
        GL.glEnd()
        if self.displayAsPoints:
            GL.glBegin(GL.GL_POINTS)
        else:
            GL.glBegin(GL.GL_QUADS)
        for i in xrange(len(self.TriangleVertexIndexList)):
            if len(self.TriangleVertexIndexList[i]) != 4:
                continue

            GL.glNormal3fv(self.NormVectors[i])
            if self.textureID is not None:
                GL.glTexCoord2d(0.0, 0.0)
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 0]])
            if self.textureID is not None:
                GL.glTexCoord2d(0.0, 1.0)
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 1]])
            if self.textureID is not None:
                GL.glTexCoord2d(1.0, 1.0)
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 2]])
            if self.textureID is not None:
                GL.glTexCoord2d(1.0, 0.0)
            GL.glVertex3fv(self.VertexList[self.TriangleVertexIndexList[i, 3]])
        GL.glEnd()

        GL.glEndList()
Exemplo n.º 5
0
def _checkProgramError(prog):
    res = True
    while (True):
        error = glew.glGetError()
        if (error == glew.GL_NO_ERROR): return res
        res = False
        if (error == glew.GL_INVALID_OPERATION):
            print prog
            errPos = glGetIntegerv(glew.GL_PROGRAM_ERROR_POSITION_ARB)
            errString = glGetString(glew.GL_PROGRAM_ERROR_STRING_ARB)
            print "error at position: %d\n[%s]"%(errPos,errString)
            print "\n\"..."
            for i in range(errPos-40,errPos+40):
                if (i >= 0):
                    if not prog[i]: break
                    if (i == errPos): print "(*)"
                    if (prog[i]=='\n'): print '\\'
                    else: print prog[i]
            print "...\"\n"
        else:
            errString = GLU.gluErrorString(error)
            print "error: [%s]"%errString
Exemplo n.º 6
0
def printOpenGLError():
    err = GL.glGetError()
    if (err != GL.GL_NO_ERROR):
        print('GLERROR: ', GLU.gluErrorString(err))
        sys.exit(-1)
Exemplo n.º 7
0
def check_errors(source) :
   global s_errors
   s_errors += source + "\n" + str(GLU.gluErrorString(GL.glGetError())) + "\n\n"