include(PUN_ROOT.'syn/css.php'); ?>
Sie sind nicht angemeldet.
Name: Transformationsmatrizen
Beschreibung: Nachbilden von Teilen der FFP (Fixed-Function Pipeline). Berechnung von Gerätekoordinaten aus lokalen Objektkoordinaten unter Verwendung von verschiedenen Transformationsmatrizen: Geometrische (Skalierung, Rotation, Translation), Kamera, Projektion (Parallelprojektion oder Perspektivprojektion), Viewport. Clipping von Vertices (ohne neue Vertices hinzuzufügen).
Bilder sind im Anhang.
Beitrag geändert von TonyMontana (29.03.2011 19:01:09)
Offline
Inwiefern hast du denn das Clipping nachgebildet, dass wird doch eigentlich von der Hardware automatisch gemacht? Oder versuchst du einen Software-Renderer zu schreiben?
Was hast du für die dicken Linien verwendet? Ineinandergesteckte Vierecke oder Vierecke die der Kamera ausgerichtet sind oder was noch Anderes?
Offline
Ein kompletter Software-Renderer ist es nicht, es geht jedoch in diese Richtung. Die Koordinaten eines Würfels sind vorgegeben. Der Würfel wird dann 125 mal gerendert, wobei der Würfel jedes mal verschoben wird, sodass diese nicht überlappen und zusammen wieder einen "großen" Würfel Bilden.
Wie die Punkte des Würfels verbunden werden müssen, ist ebenfalls separat abgespeichert. Es ist eine Indizierung notwendig, da ich Punktprimitiven verwende, was das Ganze vereinfacht.
Clipping (also das weglassen von nicht sichtbaren Vertices aufgrund einer bestimmten Perspektive) überprüfe ich zwar, jedoch ist es natürlich so, dass nicht sichtbare Vertices sowieso nicht sichtbar wären. Die Überprüfung verhindert also nur den Aufruf der DrawPoint Methode.
Die Linien dienen der besseren Visualisierung und werden nur gezeichnet, falls keiner der Endpunkte geclippt wurde.
Ich habe noch ein weiteres Bild angefügt auf denen man das Ergebnis der beschriebenen Clippingtests sehen kann. Natürlich gehört zum richtigen Clipping das Hinzufügen von zusätzlichen Vertices, dass habe ich allerdings weggelassen.
Offline