Nach einem Informatiker benanntes Verfahren zur Schattierung von (Körper-) Flächen, dass im Bereich der 3D-Computergrafik angewandt wird. Es wird auch als Normalenvektor-Interpolations-Shading bezeichnet. Mittels dieses Verfahrens wird der Eindruck einer gekrümmten Fläche vermittelt. Im Vergleich zu anderen Schattierungsmethoden erzeugt das Phong Shading besonders realistische und weich wirkende Schatten- und Lichteffekte. Insbesondere spiegelnde Reflexionen sind mit Phong Shading sehr gut nachzubilden. Beim Phong Shading wird – im Gegensatz zum Gouraud-Shading, bei dem Farbwerte interpoliert werden – eine Interpolation der Flächennormalen vorgenommen. Für jede Normale wird die Lichtintensität aus dem Beleuchtungsmodell von Phong berechnet. Dieses Beleuchtungsmodell berücksichtig einen Anteil einer perfekten Reflexion und einer diffusen Reflexion nach dem Lambertschen Gesetz. Die Anteile der Lichtintensität werden aus der Winkellage von Lichtquelle und Beobachterstandpunkt zur Normalen des Flächenelementes ermittelt und im Anschluss an den gewünschten Oberflächeneindruck (z.B. matt oder spiegelnd) angepasst. Der sehr aufwendige Interpolationsalgorithmus berechnet jedes Pixel innerhalb eines Polygons einzeln (Per-Pixel-Verfahren). Dies führt zu verhältnismäßig langen Renderzeiten. Für Echtzeitanwendungen wird daher meist das Phong-Beleuchtungsmodell in Verbindung mit dem Gouraud-Schattierungsverfahren eingesetzt.
Kategorie: 3D
Was ist ein Mesh?
Ein Mesh ist ein virtuelles Drahtgittermodell eines Objekts. Ein Mesh besteht aus vielen Dreiecken die „Polygone“ genannt werden. Es wurden deshalb Dreiecke gewählt, weil man daraus jedes Objekt erstellen kann. Um, zum Beispiel, ein Mesh eines Quadrats zu erstellen, werden zwei Polygone aneinander gelegt, einen Würfel zu erstellen werden nun 6 dieser Quadrate so angeordnet, dass sie einen Würfel ergeben. Mit diesem Prinzip können komplizierte und authentische Modelle von praktisch Allem erstellt werden. Zur Erstellung von Meshes wird spezielle Software benötigt, die dem Benutzer auf verschiedenste Art und Weise erlaubt, Meshes zu erstellen und zu modifizieren.
Was bedeutet Interpolation?
Da Animationen sehr rechenintensiv sind, ist es nicht möglich, jede einzelne Animationsphase zu berechnen. Man muss sich dabei vorstellen dass Figuren aus unzähligen Polygonen bestehen, die allesamt bewegt werden wollen. Da die Animation flüssig sein soll, muss es möglichst viele Animationsphasen geben (sonst sieht es aus wie beim Daumenkino). Die Lösung ist, dass man zwischen zwei aufeinander folgenden Bildern durch Interpolation Zwischenbilder erzeugt. Ein berechnetes Bild gleitet so über ein oder mehrere interpolierte Bilder zum nächsten berechneten Bild über. Der anschauliche englische Begriff für dieses Verfahren ist Vertex-Morphing.
Was ist Gouraud Shading?
Unter dem Begriff Gouraud Shading, versteht man auch eine so genannte Intensitätsinterpolations- oder Farbinterpolations-Schattierung, welche ein Verfahren in der 3D-Computergrafik ist um eine Polygonfläche zu schattieren. In der Verwendung als Scanline Rendering Verfahren, wird es nur Raster-Ausgabegeräten benutzt. Den Namen erhielt dieses Verfahren, durch seinen Entwickler Henri Gouraud, welcher es 1971 erstmals vorstellte. Bei dem Gouraud Shading Verfahren, wird zunächst ein Prozess eingeleitet, welcher die notwendigen Farben eines Polygons an seinen Eckpunkten (auch Vertices genannt) berechnet und diese dann auf eine Bildebene projiziert. Das resultierende Abbild des Polygons, welches zweidimensional ist, wird daraufhin zeilenweise verarbeitet. Hierbei erfolgt eine Interpolation der Farben an den Schnittpunkten mit der Abtastzeile der Farben der Vertices und umgekehrt. Die Beleuchtung erfolgt beim Gouraud Shading Verfahren nur durch diffuse Reflexion. Um die Farbwerte eines Vertex zu berechnen, erfolgt eine Mittlung der Flächennormalen der anliegenden Flächen. Das Endergebnis ist dank der Interpolation, ein Objekt, welches im Gegensatz zum Flat Shading nicht kantig, sondern weich dargestellt wird.
Was ist Flat Shading?
Flat Shading ist auch bekannt unter den Name Constant Shading oder Faceted Shading und ist das einfachste Schattierungsmodell für ebenflächig begrenzte Objekte. Flat Shading ist eine Echtzeittechnik, wobei die Berechnung dementsprechend erst zur Laufzeit erfolgt. Jeder Pixel eines Polygons erhält durch diese Methode anhand der Flächennormale die gleiche Farbe und den gleichen Lichtwert. Es wird also einmalig ein Wert für die Schattierung eines Polygons ermittelt und dieser Lichtwert wird für das gesamte Vieleck genutzt. Da Polygone heller dargestellt werden, welcher der Lichtquelle zugewandt sind, als solche welche abgewandt sind, ist eine entfernungsabhängige Lichtabnahme nicht darstellbar. Dies sorgt jedoch für keine sehr realistischen Darstellungen von Objekten, weshalb in Spielen meist vorberechnete Verfahren zum Einsatz kommen. Falls die Objekte detaillierter dargestellt werden sollten, müssten die Polygone verkleinert und somit die Anzahl dieser stark erhöht werden, wodurch ein zu hoher Rechenaufwand entstünde. Anwendung findet es höchstens für die Darstellung ebener Flächen.
Was ist Environment Mapping?
Um 3D-Objekte wirklichkeitsgetreu erscheinen zu lassen, müssen sie alle physikalischen Eigenschaften aufweisen, die auch in der wirklichen Welt auftreten. Besondere Probleme bei der Darstellung macht dabei eine reflektierende Oberfläche: die Textur, in dem Fall das Reflexionsbild der Umgebung (environment), muss bei jeder Änderung in der Umgebung neu berechnet werden. Das gleiche gilt auch für einfache Lichtreflexe, wenn der Betrachter seinen Blickwinkel auf das reflektierende Objekt wechselt. Lediglich die abgewandten Seiten des Objekts brauchen nicht ständig in Echtzeit neu berechnet zu werden, da sie ja nicht sichtbar sind. Dennoch verursacht diese scheinbar recht simple Aufgabe enormen Rechenaufwand, speziell wenn auch noch in der Umgebung stattfindende Bewegungen als zeitgleiche Reflexionen dargestellt werden sollen. In den Randbereichen kommt es trotz hoch leistungsfähiger Hardware immer noch zu Verzerrungen durch ungenaue Berechnungen. Vom Alltag sind wir allerdings gewöhnt, statischen Reflexionen wenig Aufmerksamkeit zu schenken, so dass kleinere Fehler sehr oft gar nicht wahrgenommen werden. Für die Umsetzung stehen mehrere Anwendungen zur Verfügung, die fortgeschrittenste ist derzeit Cube Environment Mapping, die von allen Plattformen unterstützt wird.
Was bedeutet Bump Mapping?
Mit Bump Mapping wird in 3D-Renderprogrammen wie z.B. Maya eine Oberflächenstruktur simuliert. Somit kann man einem Objekt neben einer Textur, die nur Farbe und Muster der Oberfläche festlegt, eine Bump Map zuordnen, die Informationen über die unterschiedlichen Höhen der Oberfläche enthält. Als Grundlage für das Bump Mapping dient ein Graustufenbild, wobei die Farbe schwarz als tiefster Höhenwert und weiss als höchster dargestellt wird. Dabei ist es wichtig, dass das Bump Map an die Textur des jeweiligen Objektes angeglichen wird, damit die Unebenheiten auch genau an den Stellen auftreten, wo sie hingehören. Unabhängig von dem zugrunde liegenden Graustufenbild kann man die Stärke des Bump Mappings einstellen, um verschiedene Höhenunterschiede zu erzeugen. So lassen sich leicht Reliefs, Falten und andere Oberflächenunebenheiten erzeugen. Bump Maps erzeugen realistischere Bilder, da komplett glatte Oberflächen unnatürlich erscheinen. Außerdem geben sie einem die Möglichkeit komplizierte Oberflächengebilde auf relativ einfache Art und Weise zu erstellen.
Textur ohne und mit Bump Mapping
