def on_draw(): glPolygonMode(GL_FRONT_AND_BACK, GL_LINE) window.clear() program.vars.modelview = Matrix().translate( 0, 0, -3).rotatex(-0.175).rotatez(rotation) program.vars.projection = Matrix.perspective(window.width, window.height, 60, 0.1, 100.0) with program: vbo.draw(GL_PATCHES)
def on_draw(): glPolygonMode(GL_FRONT_AND_BACK, GL_LINE) glEnable(GL_CULL_FACE) glCullFace(GL_BACK) window.clear() model = Matrix().translate(-0.5, 0.0, 0.0) program.vars.modelview = view.matrix * model program.vars.projection = Matrix.perspective(window.width, window.height, 60, 0.001, 2.0) with program: terrain.draw()
def update(self, delta): delta = min(delta, 0.03) rotmatrix = Matrix().rotatex(self.rotation.y).rotatey(self.rotation.x) front = rotmatrix * Vector(0.0, 0.0, 1.0, 1.0) right = rotmatrix * Vector(1.0, 0.0, 0.0, 1.0) up = rotmatrix * Vector(0.0, 1.0, 0.0, 1.0) factor = 0.5 * delta self.speed += right * -self.navigator.x * factor * 0.5 self.speed += up * self.navigator.z * factor * 0.5 self.speed += front * -self.navigator.y * factor * 0.5 self.rotspeed += Vector(self.navigator.rz * factor, -self.navigator.rx * factor) self.rotspeed -= self.rotspeed * 1.0 * delta self.speed -= self.speed * 1.0 * delta self.rotation += self.rotspeed * delta self.position += self.speed * delta self.matrix = rotmatrix * Matrix().translate( self.position.x, self.position.y, self.position.z)
def on_draw(): window.clear() program = lod program.vars.modelview = Matrix().translate( 0, 0, -zoom).rotatex(-0.14).rotatez(rotation) program.vars.projection = Matrix.perspective(window.width, window.height, 60, 0.1, 200.0) program.vars.screen_size = float(window.width), float(window.height) glPolygonMode(GL_FRONT_AND_BACK, GL_LINE) with program: glPatchParameteri(GL_PATCH_VERTICES, 4) vbo.draw(GL_PATCHES) #vbo.draw(GL_QUADS) glPolygonMode(GL_FRONT_AND_BACK, GL_FILL) fps.draw()
def on_draw(): window.clear() model = Matrix().rotatex(-0.25).translate(-0.5, -0.5, 0.0) projection = Matrix.perspective(window.width, window.height, 65, 0.0001, 100.0) modelview = view.matrix * model program.vars.mvp = projection * modelview program.vars.modelview = modelview program.vars.projection = projection program.vars.screen_size = float(window.width), float(window.height) #glPolygonMode(GL_FRONT_AND_BACK, GL_LINE) with nested(DepthTest, diffuse, terrain, program): vbo.draw(GL_PATCHES) ''' normals.vars.mvp = projection * modelview with nested(DepthTest, normals): vbo.draw(normals, GL_TRIANGLES) ''' fps.draw()