def on_draw(): # clears the background with the background color gl.glClear(gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT) # wire-frame mode gl.glPolygonMode(gl.GL_FRONT_AND_BACK, gl.GL_FILL) data_points.draw() # gl.glPointSize(10) # pyglet.graphics.draw(len(data_points), gl.GL_POINTS, #v3f/stream c4B/static # ('v3f', data_points.reshape(-1)), # ('c4B', data_points_color.reshape(-1))) # gl.glPointSize(1) # gl.glBegin(gl.GL_POINTS) gl.glBegin(gl.GL_LINES) gl.glColor4fv((gl.GLfloat * 4)(1, 0, 0, 1)) gl.glVertex3f(10.0, 10.0, 20) gl.glVertex3f(0.0, 0.0, 20) gl.glEnd() surface.draw('b') surface1.draw('g')
def draw(self, transformation, **kwargs): transformation.scale(self.width, self.height, 1) color = self.color + (self.opacity,) gl.glColor4fv((gl.GLfloat * 4)(*color)) gl.glEnableClientState(gl.GL_VERTEX_ARRAY) gl.glVertexPointer(2, gl.GL_FLOAT, 0, self.vertices) gl.glDrawArrays(gl.GL_TRIANGLE_STRIP, 0, 4)
def blit_buffer(self, framebuffer, parent_width, parent_height, **kwargs): """Draw the texture into the parent scene .. warning: This method's arguments are not part of the API yet and may change at any time. """ gl.glViewport(0, 0, parent_width, parent_height) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST) gl.glBindTexture(gl.GL_TEXTURE_2D, framebuffer.texture_id) gl.glEnable(gl.GL_TEXTURE_2D) gl.glColor4fv((gl.GLfloat * 4)(*self.color + (self.opacity, ))) gl.glBlendFunc(gl.GL_ONE, gl.GL_ONE_MINUS_SRC_ALPHA) # premultipl. gl.glBegin(gl.GL_TRIANGLE_STRIP) gl.glTexCoord2f(0, 0) gl.glVertex2i(0, 0) gl.glTexCoord2f(0, parent_height) gl.glVertex2i(0, parent_height) gl.glTexCoord2f(parent_width, 0) gl.glVertex2i(parent_width, 0) gl.glTexCoord2f(parent_width, parent_height) gl.glVertex2i(parent_width, parent_height) gl.glEnd() gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR) gl.glDisable(gl.GL_TEXTURE_2D) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST) gl.glBlendFunc(gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA) gl.glViewport(0, 0, parent_width, parent_height)