3D-Rendering - 3D rendering

3D-Rendering ist der 3D-Computergrafikprozess zum Konvertieren von 3D-Modellen in 2D-Bilder auf einem Computer . 3D-Renderings können fotorealistische Effekte oder nicht fotorealistische Stile enthalten .

Rendering-Methoden

Ein fotorealistisches 3D-Rendering von 6 Computerfans mit Radiosity- Rendering, DOF und prozeduralen Materialien

Das Rendern ist der letzte Vorgang, bei dem das eigentliche 2D-Bild oder die Animation aus der vorbereiteten Szene erstellt wird. Dies kann mit dem Aufnehmen eines Fotos oder dem Filmen der Szene verglichen werden, nachdem die Einrichtung im wirklichen Leben abgeschlossen ist. Es wurden mehrere verschiedene und oft spezialisierte Rendering-Verfahren entwickelt. Diese reichen vom deutlich unrealistischen Wireframe- Rendering über Polygon-basiertes Rendering bis hin zu fortgeschritteneren Techniken wie: Scanline-Rendering , Raytracing oder Radiosity . Das Rendern kann für ein einzelnes Bild/Frame von Sekundenbruchteilen bis zu Tagen dauern. Im Allgemeinen eignen sich verschiedene Methoden besser für das fotorealistische Rendering oder das Echtzeit-Rendering .

Echtzeit

Ein Screenshot aus Second Life , einer virtuellen Online- Welt aus dem Jahr 2003 , die Frames in Echtzeit rendert

Das Rendering für interaktive Medien wie Spiele und Simulationen wird in Echtzeit mit Raten von etwa 20 bis 120 Bildern pro Sekunde berechnet und angezeigt. Beim Echtzeit-Rendering besteht das Ziel darin, so viele Informationen wie möglich anzuzeigen, die das Auge in einem Bruchteil einer Sekunde verarbeiten kann (auch bekannt als "in einem Frame": Bei einer 30-Frame-pro-Sekunde-Animation wird ein Frame umfasst eine 30stel Sekunde).

Das primäre Ziel ist es, einen möglichst hohen Fotorealismus bei einer akzeptablen minimalen Rendering-Geschwindigkeit zu erreichen (normalerweise 24 Bilder pro Sekunde, da dies das Minimum ist, das das menschliche Auge sehen muss, um erfolgreich die Illusion von Bewegung zu erzeugen). Tatsächlich können Ausbeutungen auf die Art und Weise angewendet werden, wie das Auge die Welt wahrnimmt, und als Ergebnis ist das präsentierte Endbild nicht unbedingt das der realen Welt, aber eines, das dem menschlichen Auge nahe genug ist, um es zu tolerieren.

Rendering-Software kann visuelle Effekte wie Lens Flares , Tiefenschärfe oder Bewegungsunschärfe simulieren . Dabei handelt es sich um Versuche, visuelle Phänomene zu simulieren, die sich aus den optischen Eigenschaften von Kameras und des menschlichen Auges ergeben. Diese Effekte können einer Szene ein realistisches Element verleihen, selbst wenn der Effekt lediglich ein simuliertes Artefakt einer Kamera ist. Dies ist die grundlegende Methode, die in Spielen, interaktiven Welten und VRML verwendet wird .

Der rasante Anstieg der Rechenleistung des Computers hat selbst beim Echtzeit-Rendering einen immer höheren Grad an Realismus ermöglicht, einschließlich Techniken wie HDR-Rendering . Das Echtzeit-Rendering ist oft polygonal und wird von der GPU des Computers unterstützt .

Nicht in Echtzeit

Computergeneriertes Bild (CGI), erstellt von Gilles Tran

Das Rendern von Animationen für nicht interaktive Medien wie Spielfilme und Videos kann viel länger dauern. Nicht-Echtzeit-Rendering ermöglicht die Nutzung begrenzter Verarbeitungsleistung, um eine höhere Bildqualität zu erzielen. Die Renderzeiten für einzelne Frames können bei komplexen Szenen von wenigen Sekunden bis zu mehreren Tagen variieren. Gerenderte Bilder werden auf einer Festplatte gespeichert und dann auf andere Medien wie Kinofilme oder optische Datenträger übertragen. Diese Bilder werden dann sequentiell mit hohen Bildraten angezeigt, typischerweise 24, 25 oder 30 Bilder pro Sekunde (fps), um die Illusion von Bewegung zu erzielen.

Wenn das Ziel Fotorealismus ist, werden Techniken wie Raytracing , Pathtracing , Photon-Mapping oder Radiosity verwendet. Dies ist die grundlegende Methode, die in digitalen Medien und künstlerischen Arbeiten verwendet wird. Es wurden Techniken entwickelt, um andere natürlich vorkommende Effekte zu simulieren, wie zum Beispiel die Wechselwirkung von Licht mit verschiedenen Formen von Materie. Beispiele für solche Techniken sind Partikelsysteme (die Regen, Rauch oder Feuer simulieren können), volumetrische Probenahme (um Nebel, Staub und andere räumliche atmosphärische Effekte zu simulieren ), Kaustik (um Lichtfokussierung durch unebene lichtbrechende Oberflächen zu simulieren, wie z Lichtwellen am Boden eines Schwimmbeckens) und unterirdische Streuung (um Licht zu simulieren, das in den Volumen fester Objekte, wie der menschlichen Haut, reflektiert wird ).

Der Rendering-Prozess ist rechenaufwendig angesichts der komplexen Vielfalt der simulierten physikalischen Prozesse. Die Rechenleistung von Computern hat sich im Laufe der Jahre rapide erhöht, was ein immer höheres Maß an realistischem Rendering ermöglicht. Filmstudios, die computergenerierte Animationen produzieren, verwenden normalerweise eine Renderfarm , um Bilder zeitnah zu generieren. Aufgrund sinkender Hardwarekosten ist es jedoch durchaus möglich, kleine Mengen an 3D-Animationen auf einem Heimcomputersystem zu erstellen. Die Ausgabe des Renderers wird oft nur als ein kleiner Teil einer fertigen Filmszene verwendet. Viele Materialschichten können separat gerendert und mit einer Compositing- Software in die endgültige Aufnahme integriert werden.

Reflexions- und Schattierungsmodelle

Modelle von Reflexion/Streuung und Schattierung werden verwendet, um das Erscheinungsbild einer Oberfläche zu beschreiben. Obwohl diese Fragen für sich allein wie Probleme erscheinen mögen, werden sie fast ausschließlich im Kontext des Renderings untersucht. Moderne 3D-Computergrafiken basieren stark auf einem vereinfachten Reflexionsmodell namens Phong-Reflexionsmodell (nicht zu verwechseln mit Phong- Schattierung ). In der Brechung des Lichtes, ein wichtiges Konzept ist der Brechungsindex ; in den meisten 3D-Programmierimplementierungen ist der Begriff für diesen Wert "Brechungsindex" (normalerweise abgekürzt als IOR).

Die Schattierung kann in zwei verschiedene Techniken unterteilt werden, die oft unabhängig voneinander studiert werden:

  • Oberflächenschattierung – wie sich Licht über eine Oberfläche ausbreitet (meist beim Scanline-Rendering für Echtzeit-3D-Rendering in Videospielen verwendet)
  • Reflexion/Streuung – wie Licht an einem bestimmten Punkt mit einer Oberfläche interagiert (wird meistens in Raytracing-Renderings für fotorealistisches und künstlerisches 3D-Rendering in Nicht-Echtzeit sowohl in CGI-Standbildern als auch in CGI-nicht-interaktiven 3D-Animationen verwendet)

Oberflächenschattierungsalgorithmen

Beliebte Oberflächenschattierungsalgorithmen in 3D-Computergrafiken umfassen:

  • Flat Shading : eine Technik, die jedes Polygon eines Objekts basierend auf der "Normalen" des Polygons und der Position und Intensität einer Lichtquelle schattiert
  • Gouraud-Beschattung : 1971 von H. Gouraud erfunden ; eine schnelle und ressourcenschonende Vertex-Shading-Technik zur Simulation von glatt schattierten Oberflächen
  • Phong-Schattierung : erfunden von Bui Tuong Phong ; verwendet, um Glanzlichter und glatte schattierte Oberflächen zu simulieren

Betrachtung

Die Utah Teekanne mit grüner Beleuchtung

Reflexion oder Streuung ist die Beziehung zwischen der einfallenden und der ausgehenden Beleuchtung an einem bestimmten Punkt. Beschreibungen der Streuung werden normalerweise in Form einer bidirektionalen Streuungsverteilungsfunktion oder BSDF gegeben.

Schattierung

Die Schattierung befasst sich mit der Verteilung der verschiedenen Streuungsarten über die Oberfläche (dh welche Streuungsfunktion wo angewendet wird). Beschreibungen dieser Art werden normalerweise mit einem Programm ausgedrückt, das als Shader bezeichnet wird . Ein einfaches Beispiel für die Schattierung ist das Textur-Mapping , bei dem ein Bild verwendet wird , um die diffuse Farbe an jedem Punkt auf einer Oberfläche zu spezifizieren und ihr so ​​mehr Details zu verleihen.

Einige Schattierungstechniken umfassen:

  • Bump Mapping : Erfunden von Jim Blinn , eine Normalstörungstechnik, die verwendet wird, um faltige Oberflächen zu simulieren.
  • Cel-Shading : Eine Technik, die verwendet wird, um das Aussehen einer handgezeichneten Animation zu imitieren.

Transport

Transport beschreibt, wie die Beleuchtung in einer Szene von einem Ort zum anderen gelangt. Sichtbarkeit ist ein wichtiger Bestandteil des leichten Transports.

Projektion

Perspektivische Projektion

Die schattierten dreidimensionalen Objekte müssen abgeflacht werden, damit das Anzeigegerät – nämlich ein Monitor – sie nur zweidimensional darstellen kann, dieser Vorgang wird als 3D-Projektion bezeichnet . Dies geschieht mit Projektion und für die meisten Anwendungen mit perspektivischer Projektion . Der Grundgedanke der perspektivischen Projektion ist, dass weiter entfernte Objekte im Verhältnis zu augennäheren verkleinert werden. Programme erzeugen Perspektive, indem sie eine Dilatationskonstante multiplizieren, die mit dem Negativen der Entfernung vom Beobachter potenziert wird. Eine Dilatationskonstante von eins bedeutet, dass es keine Perspektive gibt. Hohe Dilatationskonstanten können einen "Fischaugen"-Effekt verursachen, bei dem eine Bildverzerrung aufzutreten beginnt. Orthografische Projektion wird hauptsächlich in CAD- oder CAM- Anwendungen verwendet, bei denen die wissenschaftliche Modellierung genaue Messungen und die Erhaltung der dritten Dimension erfordert.

Rendering-Engines

Render-Engines können zusammenkommen oder in 3D-Modellierungssoftware integriert werden, aber es gibt auch eigenständige Software. Einige Render-Engines sind mit mehreren 3D-Software kompatibel, während andere exklusiv für eine sind.


Siehe auch

Hinweise und Referenzen

  1. ^ Badler, Norman I. "3D Object Modeling Lecture Series" ( PDF ) . Universität von North Carolina in Chapel Hill .
  2. ^ "Nicht-fotorealistisches Rendering" . Herzog-Universität . Abgerufen 2018-07-23 .
  3. ^ "Die Wissenschaft des 3D-Renderings" . Das Institut für Digitale Archäologie . Abgerufen 2019-01-19 .
  4. ^ Christensen, Pro H.; Jarosz, Wojciech. "Der Weg zu pfadverfolgten Filmen" ( PDF ) .
  5. ^ "Grundlagen des Rendering - Reflexionsfunktionen" ( PDF ) . Ohio State University .
  6. ^ Das Wort Shader wird manchmal auch für Programme verwendet, die lokale geometrische Variationen beschreiben.
  7. ^ "Bump-Mapping" . web.cs.wpi.edu . Abgerufen 2018-07-23 .

Externe Links