glCallList(self.dot) glPopMatrix() glPushMatrix() glTranslate(*self.target) glCallList(self.dot) glPopMatrix() glLineWidth(3) glDisable(GL_LIGHTING) glBegin(GL_LINES) glVertex(self.eye) glVertex(self.target) glEnd() glEnable(GL_LIGHTING) glColor(1, 1, 1) font.put(5, 100, "eye: %s" % self.eye) font.put(5, 110, "target: %s" % self.target) font.put(5, 120, "up: %s" % self.up) if __name__ == "__main__": stupid = Stupid("Stupid [ CGI - Aufgabe 2 ]") stupid.add(Contra()) stupid.add(Suck()) stupid.mainloop()
class Normal(Entity): def __init__(self, obj): Entity.__init__(self) self.obj = obj self.shade = Shade(""" varying vec3 normal; void main(void) { normal = gl_Normal; gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }""", """ varying vec3 normal; void main(void) { vec3 h = vec3(0.5, 0.5, 0.5); gl_FragColor = vec4(normalize(normal.xyz) * h + h, 1); }""") def render_sub(self): self.shade.on() self.obj.render() self.shade.off() if __name__ == "__main__": stupid = Stupid("Stupid [ CGI - Aufgabe 5 ]") obj = ObjObject(sys.argv[1]) stupid.add(Trick(obj)) stupid.add(Normal(obj)) stupid.mainloop()
self.surface = self.obj.calc_surface() if Stupid.key_state(K_c, True): self.obj.noise(self.sigma) if Stupid.key_state(K_v, True): self.obj.smooth(self.alpha) if Stupid.key_state(K_b, True): self.silhouette = not self.silhouette self.sigma += (Stupid.key_state(K_r, True) - Stupid.key_state(K_f, True)) * 0.01 self.alpha += (Stupid.key_state(K_t, True) - Stupid.key_state(K_g, True)) * 0.01 # evil hack def get_eye(): global eye return eye if __name__ == "__main__": stupid = Stupid("Stupid [ CGI - Aufgabe 3 ]") global eye eye = stupid.eye stupid.add(Squeeze(sys.argv[1])) stupid.mainloop()