def paint_grid(self): shader_program = self.shader_manager.fixed_shader_program shader_program.bind() GL.glLineWidth(1.) shader_program.uniforms.colour = (1., 1., 1.) self.grid_vertex_array.draw() GL.glLineWidth(10.) x = 150 GlFixedPipeline.draw_rectangle(-x, -x, x, x) shader_program.unbind()
def paint_object(self): GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL) GL.glEnable(GL.GL_POLYGON_OFFSET_FILL) GL.glPolygonOffset(1., 1.) # shader_program = self.shader_manager.basic_shader_program shader_program = self.shader_manager.lighting_shader_program # shader_program.light.Position = (0, 0, 100, 1) shader_program.bind() self.object_vertex_array.draw() GL.glDisable(GL.GL_POLYGON_OFFSET_FILL) GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_LINE) GL.glLineWidth(1.) shader_program = self.shader_manager.fixed_colour_shader_program shader_program.bind() self.object_vertex_array.draw() shader_program.unbind()
def paint_lines(self): shader_program = self.shader_manager.fixed_shader_program shader_program.bind() GL.glLineWidth(1.) shader_program.uniforms.colour = (0., 0., 1.) self.simple_square_vertex_array.draw() # try: GL.glLineWidth(5.) shader_program.uniforms.colour = (0., 0., 1.) self.segment_vertex_array1.draw() # del self.segment_vertex_array1 # except: # pass GL.glLineWidth(2.) shader_program.uniforms.colour = (0., 1., 1.) self.segment_vertex_array2.draw() GL.glLineWidth(2.) shader_program.uniforms.colour = (1., 0., 0.) # six.print_('colour', shader_program.uniforms.colour) self.segment_vertex_array3.draw() shader_program = self.shader_manager.rectangle_shader_program shader_program.bind() GL.glLineWidth(2.) shader_program.uniforms.colour = (1., 0., 1.) self.rectangle_vertex_array.draw() shader_program = self.shader_manager.centred_rectangle_shader_program shader_program.bind() GL.glLineWidth(2.) shader_program.uniforms.colour = (8., 3., .5) self.centred_rectangle_vertex_array.draw() shader_program = self.shader_manager.wide_line_shader_program shader_program.bind() shader_program.uniforms.line_width = 2 shader_program.uniforms.colour = (1., 1., 1.) self.line_vertex_array1.draw() shader_program = self.shader_manager.stipple_line_shader_program shader_program.bind() shader_program.uniforms.line_width = 4 shader_program.uniforms.stipple_factor = 4 shader_program.uniforms.colour = (1., .8, .8) self.stipple_texture.bind() self.line_vertex_array2.draw() self.stipple_texture.unbind() shader_program.unbind()