3D-Computergrafik
3D-Computergrafik ist ein Oberbegriff für verschiedene Verfahren zur Darstellung räumlicher Daten mit den Mitteln der Computergrafik.
Die 3D-Computergrafik lässt sich in zahlreiche weitere Bereiche unterteilen:
Zum einen die photorealistische 3D-Computergrafik, die sich mit der möglichst detailgetreuen Nachbildung der Wirklichkeit befasst. (Am wichtigsten sind hier Raytracing und Radiosity, bzw. so genannte globale Illuminationsverfahren.)Im Gegensatz dazu steht die nicht-photorealistische 3D-Computergrafik, die z.B. aus ästhetischen Gründen Verfremdungen erzeugt (z.B. Comic-Renderer).
Zwei weitere große Teilbereiche der 3D-Computergrafik stellen die Virtual Reality (Virtuelle Realität) und die Augmented Reality (Erweiterte Realität) dar. Beide legen ihr Hauptaugenmerk auf die Echtzeitfähigkeit und die sich daraus ergebende Interaktion mit dem Betrachter (z.B. verändern der Perspektive bei einer Drehung des Kopfes).Während in der Virtual Reality Welten komplett im Rechner generiert werden, beschäftigt sich die Augmented Reality mit dem Einbinden von künstlichen Objekten in die Realität (z.B. über Datenbrillen). Hier wird vor allem mit dem so genannten Scanline Rendering gearbeitet.
Noch eine wichtige Anwendung der 3D-Computergrafik ist die Modellierung von CAD-Volumenmodellen, die dann zum Beispiel auch für Festigkeitsberechnungen, ohne Zeichnungen direkt zur Fertigung oder im Fahrzeugbau für Crashsimulationen verwendet werden können.
Aufgrund der drastisch gestiegenen Leistung von Grafikkarten in den letzten Jahren lassen sich immer hochwertigere Bilder in Echtzeit berechnen, dennoch unterscheiden sich die verwendeten Verfahren nachwievor erheblich. Wesentlich zur Entwicklung der Echtzeit 3D-Computergrafik hat der ursprünglich von Silicon Graphics eingeführte Grafikstandard OpenGL beigetragen, der die Möglichkeiten moderner Grafikhardware nutzt. Aktuell wird die Entwicklung, vor allem im Bereich der Computerspiele, auch stark durch das von Microsoft entwickelte DirectX vorangetrieben. Außer DirectX und OpenGL gab es noch andere Ansätze, wie zum Beispiel Glide. Diese konnten sich allerdings nicht durchsetzen. Im professionellen Bereich hat nur OpenGL wirkliche Bedeutung, da DirectX stark auf die Entwicklung von Spielen optimiert ist.
Verfahren
Die zentralen Verfahren der 3D-Computergrafik beschäftigen sich mit der Ausbreitung von Licht und dessen Reflexionenen bzw. Transmission sowie der Darstellung auf einem zwei dimensionalen Ausgabegerät (Monitor). Aufgrund der Komplexität einer physikalisch korrekten Berechnung des Lichtaustauschs zwischen Gegenständen in einem Raum, sind alle Verfahren immer nur (grobe) Annährungen an die Realität. Es gibt daher auch eine große Anzahl verschiedener Beleuchtungsmodelle mit jeweils unterschiedlichen Vor- und Nachteilen bzw. Möglichkeiten.
- Scanline Rendering
- Raytracing
- Radiosity
- Monte-Carlo-Raytracing
- Photon-Mapping
Ebenfalls ein wichtiges Gebiet ist das Meshing, die Annährung einer mathematisch beschriebenen Oberfläche (z.B. einer Kugel) durch ebene Flächen.
Die 3D-Daten werden mit einem 3D-Modeller erstellt oder durch Messungen gewonnen. Um die Daten in darstellbare Bilder umzuwandeln müssen diese gerendert werden.
3D-Grafikprogramme speichern diese Punkte/Polygone/Objekte in Listen ab, die dann in einem bestimmten Format (meist als ASCII-Datei) auf den Datenträger geschrieben werden.
Die gängigsten Formate sind:
obj - Eigentlich DAS ultimative Austauschformat
3ds - Das 3D Studio Max Format
lwo - Lightwaveformat
Eine weitere Form des Speicherung ist die mittels Programmcode. So zB. das VRML-Format, das sich nicht nur auf die Listenförmige Angabe von Punkt- oder Kantenlisten beschränkt, sondern wo in einer Art Programmiersprache die 3D-Szene beschrieben wird. Diese Dateien kann man, Sprachkenntnisse vorrausgesetzt, auch ohne einen besonderen Editor erstellen oder manipulieren.
Siehe auch: Wikipedia:Wikiprojekt Computergrafik, Utah-TeekanneGrafikformate
Eine 3D-Computergrafik besteht aus Objekten, die wiederum aus Polygonen bestehen. Diese Polygone werden durch drei oder mehr Punkte eindeutig beschrieben, die dreidimensionale Koordinaten haben. Weiterhin ist die Angabe eines Normalenvektors üblich, aus dessen Richtung die sichtbare Seite des Polygons bestimmt wird.