def glCheckError(title): if not glCheckError.CHECK_ERROR: return err = bgl.glGetError() if err == bgl.GL_NO_ERROR: return print('ERROR (%s): %s' % (title, glCheckError.ERROR_MAP.get(err, 'code %d' % err))) traceback.print_stack()
def gl_error(msg): """ Get latest OpenGL error and print it if any along with additional message. """ err = bgl.glGetError() if err == bgl.GL_NO_ERROR: return False print('GL Error: %d (%s)'%(err,msg)) return True
def glerr(msg="OpenGL error"): err = bgl.glGetError() if err == 0: return glmsg = { bgl.GL_INVALID_ENUM: "invalid enum", bgl.GL_INVALID_VALUE: "invalid value", bgl.GL_INVALID_OPERATION: "invalid operation", bgl.GL_INVALID_FRAMEBUFFER_OPERATION: "invalid framebuffer operation", bgl.GL_OUT_OF_MEMORY: "out of memory", }.get(err, "unknown ({:x})".format(err)) raise RuntimeError(msg + ": " + glmsg)
def glCheckError(self, title): err = bgl.glGetError() if err == bgl.GL_NO_ERROR: return derrs = { bgl.GL_INVALID_ENUM: 'invalid enum', bgl.GL_INVALID_VALUE: 'invalid value', bgl.GL_INVALID_OPERATION: 'invalid operation', bgl.GL_STACK_OVERFLOW: 'stack overflow', bgl.GL_STACK_UNDERFLOW: 'stack underflow', bgl.GL_OUT_OF_MEMORY: 'out of memory', bgl.GL_INVALID_FRAMEBUFFER_OPERATION: 'invalid framebuffer operation', } if err in derrs: print('ERROR (%s): %s' % (title, derrs[err])) else: print('ERROR (%s): code %d' % (title, err)) traceback.print_stack()
def draw(self, engine, context, scene): if self._transparent: bgl.glEnable(bgl.GL_BLEND) bgl.glBlendFunc(bgl.GL_ONE, bgl.GL_ONE_MINUS_SRC_ALPHA) engine.bind_display_space_shader(scene) bgl.glActiveTexture(bgl.GL_TEXTURE0) bgl.glBindTexture(bgl.GL_TEXTURE_2D, self.texture_id) bgl.glBindVertexArray(self.vertex_array[0]) bgl.glDrawArrays(bgl.GL_TRIANGLE_FAN, 0, 4) bgl.glBindVertexArray(NULL) bgl.glBindTexture(bgl.GL_TEXTURE_2D, NULL) engine.unbind_display_space_shader() err = bgl.glGetError() if err != bgl.GL_NO_ERROR: print("GL Error:", err) if self._transparent: bgl.glDisable(bgl.GL_BLEND)
def check_gl_error(): error = bgl.glGetError() if error != bgl.GL_NO_ERROR: raise Exception(error)
def check_error(msg): err = bgl.glGetError() if err != bgl.GL_NO_ERROR: print("slcad_snap GL Error:", msg, err)