def render(self): """ Draws Line """ p1 = self.a2 p2 = self.b2 gl.glColor4f(*self.color) color = (gl.GLfloat * 4)(*self.color) gl.glPushMatrix() gl.glTranslatef(self.x, self.y, -self.z) # translate to GL loc ppint gl.glRotatef(self.rotation, 0, 0, 0.1) if self.style: gl.glEnable(gl.GL_LINE_STIPPLE) gl.glLineStipple(1, self.style) ## else : ## glDisable(GL_LINE_STIPPLE) if self.stroke <= 0: self.stroke = 1 gl.glLineWidth(self.stroke) gl.glBegin(gl.GL_LINES) gl.glVertex2i(int(p1[0]), int(p1[1])) # draw pixel points gl.glVertex2i(int(p2[0]), int(p2[1])) gl.glEnd() if self.style: gl.glDisable(gl.GL_LINE_STIPPLE) gl.glPopMatrix()
def draw_square(self): gl.glBegin(gl.GL_POLYGON) gl.glVertex2i(*self.points[0]) gl.glVertex2i(*self.points[1]) gl.glVertex2i(*self.points[2]) gl.glVertex2i(*self.points[3]) gl.glEnd()
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)
def on_draw(self): self.parent.set_caption(str(pyglet.clock.get_fps())) gl.glClear(gl.GL_COLOR_BUFFER_BIT) gl.glColor4ub(*[255,255,255,255]) self.room.bg.blit(0,0) self.room.render() gl.glColor4ub(255,255,255,255) self.player.draw() self.room.lightbatch.draw() self.player.draw_eye() self.player.draw_integrity() if self.pause: gl.glColor4ub(50,50,50,150) left = self.message['text'].x-self.message['text'].width/2 -5 down = self.message['text'].y-self.message['text'].height/2 -5 right = self.message['text'].x+self.message['text'].width/2 + 5 up = self.message['text'].y+self.message['text'].height/2 + 5 gl.glRecti(left,down,right,up) gl.glLineWidth(2) gl.glColor4ub(200,200,200,200) gl.glBegin(gl.GL_LINE_LOOP) gl.glVertex2i(left,down) gl.glVertex2i(left,up) gl.glVertex2i(right,up) gl.glVertex2i(right,down) gl.glEnd() gl.glLineWidth(1) gl.glColor4ub(255,255,255,255) self.message['text'].draw() self.message['helper'].draw() self.message['sprite'].draw()
def on_draw(): window.clear() gl.glEnable(gl.GL_TEXTURE_2D) gl.glBindTexture(gl.GL_TEXTURE_2D, texture.id) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA, pic.width, pic.height, 0, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, data) gl.glBegin(gl.GL_QUADS) gl.glTexCoord2f(0.0, 1.0) gl.glVertex2i(0, 0) gl.glTexCoord2f(1.0, 1.0) gl.glVertex2i(pic.width, 0) gl.glTexCoord2f(1.0, 0.0) gl.glVertex2i(pic.width, pic.height) gl.glTexCoord2f(0.0, 0.0) gl.glVertex2i(0, pic.height) gl.glEnd()
def on_draw(): window.clear() # Draw texture backed by ImageSurface gl.glEnable(gl.GL_TEXTURE_2D) gl.glBindTexture(gl.GL_TEXTURE_2D, texture.id) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA, width, height, 0, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, surface_data) gl.glBegin(gl.GL_QUADS) gl.glTexCoord2f(0.0, 1.0) gl.glVertex2i(0, 0) gl.glTexCoord2f(1.0, 1.0) gl.glVertex2i(width, 0) gl.glTexCoord2f(1.0, 0.0) gl.glVertex2i(width, height) gl.glTexCoord2f(0.0, 0.0) gl.glVertex2i(0, height) gl.glEnd()
def on_draw(): window.clear() gl.glEnable(gl.GL_TEXTURE_2D) gl.glBindTexture(gl.GL_TEXTURE_2D, texture.id) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA, WIDTH, HEIGHT, 0, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, data) gl.glBegin(gl.GL_QUADS) gl.glTexCoord2f(0.0, 1.0) gl.glVertex2i(0, 0) gl.glTexCoord2f(1.0, 1.0) gl.glVertex2i(WIDTH, 0) gl.glTexCoord2f(1.0, 0.0) gl.glVertex2i(WIDTH, HEIGHT) gl.glTexCoord2f(0.0, 0.0) gl.glVertex2i(0, HEIGHT) gl.glEnd() text.draw()
def _textgrid_lines_gl(self): if self._line_color: if not self._gridlines_dlist: dl_index = glGenLists(1) glNewList(dl_index, GL_COMPILE) glLineWidth(self._line_width) glColor4f(*self._text_box._toRGBA(self._line_color)) glBegin(GL_LINES) for x in self._col_lines: for y in self._row_lines: if x == 0: glVertex2i(x, y) glVertex2i(int(self._size[0]), y) if y == 0: glVertex2i(x, y) glVertex2i(x, int(-self._size[1])) glEnd() glColor4f(0.0, 0.0, 0.0, 1.0) glEndList() self._gridlines_dlist = dl_index glCallList(self._gridlines_dlist)
def _textgrid_lines_gl(self): if self._line_color: if not self._gridlines_dlist: dl_index = glGenLists(1) glNewList(dl_index, GL_COMPILE) glLineWidth(self._line_width) glColor4f(*self._text_box._toRGBA(self._line_color)) glBegin(GL_LINES) for x in self._col_lines: for y in self._row_lines: if x == 0: glVertex2i(x,y) glVertex2i(int(self._size[0]), y) if y == 0: glVertex2i(x, y) glVertex2i(x, int(-self._size[1])) glEnd() glColor4f(0.0,0.0,0.0,1.0) glEndList() self._gridlines_dlist=dl_index glCallList(self._gridlines_dlist)
def on_draw(self): gl.glEnable(gl.GL_TEXTURE_2D) gl.glBindTexture(gl.GL_TEXTURE_2D, self.pypen.texture.id) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA, self.pypen.user_sketch.settings.width, self.pypen.user_sketch.settings.height, 0, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, self.pypen.surface_data) gl.glBegin(gl.GL_QUADS) gl.glTexCoord2f(0.0, 1.0) gl.glVertex2i(0, 0) gl.glTexCoord2f(1.0, 1.0) gl.glVertex2i(self.pypen.user_sketch.settings.width, 0) gl.glTexCoord2f(1.0, 0.0) gl.glVertex2i(self.pypen.user_sketch.settings.width, self.pypen.user_sketch.settings.height) gl.glTexCoord2f(0.0, 0.0) gl.glVertex2i(0, self.pypen.user_sketch.settings.height) gl.glEnd()
def drawGenerated(self): gl.glMatrixMode(gl.GL_PROJECTION) gl.glLoadIdentity() gl.glOrtho(-1., 1., 1., -1., 0., 1.) gl.glMatrixMode(gl.GL_MODELVIEW) gl.glLoadIdentity() self.shader.bind() self.shader_controller.set_uniforms() gl.glBegin(gl.GL_QUADS) gl.glVertex2i(-1, -1) gl.glTexCoord2i(-2, -2) gl.glVertex2f(1, -1) gl.glTexCoord2i(2, -2) gl.glVertex2i(1, 1) gl.glTexCoord2i(2, 2) gl.glVertex2i(-1, 1) gl.glTexCoord2i(-2, 2) gl.glEnd() self.shader.unbind()