prev up next

Previous: Körper Up: Arbeitsgruppe Renderer Next: Material

Unterabschnitte


Geometrie

Als Grundgeometrieen sind folgende abstrakte Beschreibungsmöglichkeiten vorgesehen: Darüber hinaus war noch die Kugel als vorgefertigte geometrische Grundstruktur vorgesehen. Die Kugel ist allerdings noch nicht implementiert.

Punktliste

Eine Punktliste besteht einfach aus einer Liste von dreidimensionalen Koordinaten, die sequentiell durchlaufen und dargestellt werden kann. Punkten kann man Grösse, Farbe und Materialeigenschaften zuweisen. Die Grösse eines Punktes erweist sich als etwas schwierig für die dreidimensinale Darstellung, da sie eine von der Entfernung des Betrachters unabhängige Grösse ist. Weit entfernte Punkte haben also die gleiche Grösse, wie nah gelegene. Punkte können mit oder ohne Kantenglättung gerendert werden. Bei eingeschalteter Kantenglättung werden die Punkte als kreisrunde Flächen mit der halben Punktgrösse als Radius gezeichnet. Bei ausgeschalteter Kantenglättung werden sie als quadrate mit der Punktgrösse als Kantenlänge dargestellt. Ein Beispiel fr ein Punktmodell

ist in Abbildung gif zu sehen.


Punktmodell des Buchstaben C aus dem CGP-2000 Logo. DasModell ist nicht Beleuchtet und die Farben stammen aus einem Array mit RGBAFarben.

Verzeigerte Kantenliste

Eine verzeigerte Kantenliste ähnelt der Punktliste grundsätzlich. Sie besteht wie die Punktliste aus einer Liste mit 3D Koordinaten, allerdings gefolgt von einer Liste mit Indizes, die in die Liste mit Koordinaten verweisen. Jeweils zwei Indizes werden zu einer Linie zusammengefasst und gezeichnet. Möchte man einene Linienzug beschrieben, so muss man die Verbindungspunkte jeweils zweimal aufschreiben.

Eine Indexliste der Form {0,1,2,3,4,6} erzeugt drei voneinander unabhngige Linien, möchte man einen Linienzug von Punkt 0 zu Punkt 6, so muss man die Indexliste folgendermassen wählen {0,1,1,2,2,3,3,4,4,5,5,6}.

In der Abbildung

gif

ist die Punktgeometrie von Abbildung gif

als Drahtgittermodell mit Linienzügen zu sehen.


Linienmodell des Buchstaben C aus dem CGP-2000 Logo. DasModell ist nicht Beleuchtet und die Farben stammen aus einem Array mit RGBAFarben.

Verzeigerte Flächenliste

Die Flächenliste ähnelt in ihrem Aufbau der Kantenliste sehr stark. Im Gegensatz zu der Kantenliste werden über die Indizes natürlich Flächen und keine Kanten erstellt. Der letzte Punkt aus der Indexliste wird dabei automatisch mit dem ersten Punkt verbunden um ein geschlossenes Polygon zu erreichen, es werden also nur die Eckpunkte des Polygons angegeben. Die Punkte müssen , wenn man von vorne auf die Fläche schaut entgegen dem Uhrzeigersinn angegeben werden, damit der Back-Face-Culling Algorithmus korrekt arbeitet. Ursprünglich war es vorgesehen zu den Flächenlisten optional Normalenvektoren angeben zu können. Im Moment ist es allerdings so, dass die Normalen immer automatisch berechnet werden. Es ist möglich der Flchenbeschreibung Farben mitzugeben. Die Farben sind per Seite und nicht per Vertex zu verstehen. Sollte das Array mit Farben kürzer sein, als die Flächenliste, so wird am Anfang des Arrays neu gestartet. Die Eckpunkte für eine Fläche müssen ein konvexes nicht gekrümmtes Polygon beschreiben, da der Darstellungsalgorithmus ansonsten undefinierte Effekte bringt. Die automatische Tesselierung von Polygondaten ist nicht vorgesehen. Auf Abbildung

gif

ist ein ohne Materialeigenschaften gerendertes Flächenmodell zu sehen.


Flächenmodell des Buchstaben C aus dem CGP-2000 Logo. DasModell ist nicht Beleuchtet und die Farben stammen aus einem Array mit RGBAFarben.


prev up next
Previous: Körper Up: Arbeitsgruppe Renderer Next: Material