prev up next


Aufgabe 4.1 (25 Punkte)

Laden Sie sich das Projekt von /home/cg/2012/Uebung/Blatt4/Aufg/CG12Blatt4.zip  und binden Sie es in Ihre bevorzugte Entwicklungsumgebung ein. Öffnen Sie die Klasse main.TranslateNGon. Diese soll folgende Features bereitstellen:

  1. Es sollen die Ecken eines regelmäßigen 12-Ecks als Punkte auf dem Bildschirm dargestellt werden.
  2. Der Benutzer soll die Möglichkeit haben, das 12-Eck mittels der Tasten $W$, $A$, $S$ und $D$ zu translatieren.
Punkt 1.) ist bereits implementiert.
  1. Erweitern Sie die Klasse um eine Klassenvariable translation vom Typ org.lwjgl.util.vector.Vector3f, in der die aktuelle Translation des 12-Ecks vermerkt ist.
  2. Füllen Sie die Methoden handleInput() und updateUniforms(), in denen folgendes passieren soll:

    1. In handleInput() soll geprüft werden, ob die Tasten $W$, $A$, $S$ oder $D$ gedrückt sind und die Variable translation entsprechend verändert werden.
    2. In updateUniforms() soll aus der Variable translation eine Translationsmatrix erzeugt werden und diese als uniform Variable translate dem Shaderprogramm übergeben werden.
    3. Verändern Sie den Vertexshader MainT_VS.glsl, sodass er eine uniform Variable translate vom Typ mat4 bereitstellt und mit dessen Hilfe die Position des Vertex verändert.

Musterlösung vom 23.05.2012:
Die Quellen finden sich hier: /home/cg/2012/Uebung/Blatt4/Lsg/CG12Blatt4.zip 


prev up next