Previous: Beleuchtung
Up: Arbeitsgruppe Renderer
Next: Renderer
Unterabschnitte
Die Kamera verkapselt die Daten für das View Frustum. Die Kamera ist
sinnbildlich als reale Kamera mit bestimmten Eigenschaften für die
Renderingqualität zu sehen.
Die Kamera kann an einen bestimmten Punkt in der Szene plaziert werden. Als
weitere Information benötigt sie den Fokussierungspunkt, sowie den View Up
Vektor.
Als weitere Einstellung erlaubt die Kamera die angabe des Blickwinkels, man
kann hier also einstellen, ob es sich um ein Teleobjektiv, oder eher um ein
Fisheyeobjektiv handelt.
Für das Rendeern von 3D Szenen ist es über die normalen
Kameraeigenschaften natürlich noch notwendig den Aufnahmebereich der
Kamera, also Front- und Backplane festzulegen.
Die Kamera hat eine gewisse Menge an get und set Methoden, über die man
den Standpunkt, bzw. die anderen Statusinformationen abfragen und setzen
kann.
Die Kamera selbst enthält keine Logik um sich zu bewegen, sondern ist ein
rein statisches Objekt in der Szene. Möchte man mit der Kamera einen
Bewegungspfad abgehen, so ist der Benutzer selbst dafür verantwortlich in
angemessenen Intervallen die Standortinformationen zu ändern und dem
Renderer die neue Kamera zum rendern zu übergeben.
Die Kamera kann als beschränkender Faktor für die Renderingqualität
genutzt werden. Das heisst die Renderqualität ist maximal so gut, wie in
der Kamera definiert, kann aber für bestimmte Objekte auch einzeln
heruntergesetzt werden. Sollte die Software auf einem leistungsschwachen
Rechner benutzt werden so gibt es die Möglichkeit in der Kamera bestimmte
Leistungsmerkmale in ihrer Qualität zu verschlechtern, bzw. ganz
auszuschalten. Die Kamera verfügt über eine Bitmaske mit möglichen
Qualitätseigenschaften. Weiterhin sind in der Kamera gewisse Konstatnen
definiert, die bestimmte Bits widerspiegeln. Über get und set und switch
Methoden kann man die Informationen abfragen und setzen.
Es besteht die Möglichkeit Oberflächen in einer Farbei einzufärben,
die über die Farbe in den jeweiligen Eckpunkten gemittelt wird, oder die
Farbe über die Fläche zu interpolieren (Smooth- oder Gouraudshading). Zu
den Problemen bei dem Entwurf der Geometrie und der Beleuchtung sind die
Anmerkungen in Kapitel 3.0.6 zu studieren. Unter Schattierung ist nicht
die Möglichkeit Schatten zu rendern gemeint. Dies ist eine Eigenschaft des
Renderers, die in dem derzeitigen Stand der Implementation nicht vorgesehen
ist.
Unter Kantenglättung (Antialiasing) versteht man den Vorgang, eine Linie
nicht durch einen einfachen Zug von Pixeln darzustellen, sondern die
Helligkeit jedes gestreiften Pixels zu betrachten und das entsprechende
Pixel gegebenenfalls entsprechend einzufärben. Die Möglichkeit der
Kantenglättung ist auch für Punkte implementiert und für Flächen
zumindest vorgesehen.
Ohne Kantenglättung werden Punkte einfach als Quadrate gezeichnet und
Linien weisen das typische Treppenstufenmuster auf. Mit Kantenglättung
werden Punkte als kreisrunde Flächen gezeichnet und die Linienpixel
entsprechend ihrer Überlappung eingefärbt.
Bei Polygonen ergäbe sich für die Kanten ein ähnlicher Effekt, wie bei
geglätteten Linien.
Die Glättung von Punkten, Linien und Polygonen kann getrennt voneinander
ein- und ausgeschaltet werden.
Auf der Abbildung
kann man sehr schön die Unterschiede von
geglätteten zu nicht geglätteten Punkten und Linien erkennen.
|
|
Links ein Beispiel für geglättete Punkte und Linien. Beider rechten Abbildung sind die Punkte und Linien nicht geglättet und dieTreppenstufen bei den Linien sind deutlich zu erkennen. Ausserdem sind diequadratischen Punkte nicht schön dargestellt.
Die Kamera sieht schon die Möglichkeit vor Nebel ein bzw. auszuschalten.
Wir haben Nebel auch einmal als Technologiestudie gerendert, obwohl die
eigentliche Implementation keinen Nebel kann.
Auf Abbildung
ist das CGP-2000
Logo von Abbildung
einmal mit Nebel gerendert.
CGP-2000 Logo mit Nebel
Previous: Beleuchtung
Up: Arbeitsgruppe Renderer
Next: Renderer