So funktioniert das Rendern. Was ist Rendern? Und was ist ein Rendern? Wörterbuch der Spieleentwickler! „Jedes Pixel ist nur eine Farbe, aber um diese Farbe zu finden, muss man sich um die Welt umsehen.“

09.05.2020 Speicherkarten
02Okt

Was ist Rendern (Rendern)

Rendern (Rendering) ist der Prozess der Erstellung eines endgültigen Bildes oder einer Bildfolge aus 2D- oder 3D-Daten. Dieser Vorgang erfolgt mithilfe von Computerprogrammen und wird oft von schwierigen technischen Berechnungen begleitet, die auf die Rechenleistung des Computers oder auf seine einzelnen Komponenten anfallen.

Der Rendering-Prozess ist in verschiedenen Bereichen auf die eine oder andere Weise vorhanden Professionelle Aktivität, sei es die Filmindustrie, die Videospielindustrie oder das Videoblogging. Oft ist das Rendern der letzte oder vorletzte Arbeitsschritt am Projekt, danach gilt die Arbeit als abgeschlossen oder bedarf einer kleinen Nachbearbeitung. Es ist auch erwähnenswert, dass der Rendering-Prozess oft nicht als Rendering-Prozess selbst bezeichnet wird, sondern als bereits abgeschlossene Phase. dieser Prozess oder sein Endergebnis.

die Worte "Render".

Das Wort Render (Rendering) ist Anglizismus, der oft mit dem Wort „ Visualisierung”.

Was ist Rendering in 3D?

Wenn wir über Rendern sprechen, meinen wir meistens das Rendern in 3D-Grafiken. Es sollte gleich darauf hingewiesen werden, dass es beim 3D-Rendering tatsächlich keine Dreidimensionalität als solche gibt, die wir oft mit einer speziellen Brille in einem Kino sehen können. Das Präfix „3D“ im Namen sagt eher etwas über die Art und Weise aus, wie ein Rendering erstellt wird, das dreidimensionale Objekte verwendet, die in Computerprogrammen für die 3D-Modellierung erstellt wurden. Einfach gesagt, am Ende erhalten wir immer noch ein 2D-Bild oder dessen Sequenz (Video), das basierend auf einem 3D-Modell oder einer 3D-Szene erstellt (gerendert) wurde.

Das Rendern ist eine der technisch schwierigsten Phasen bei der Arbeit mit 3D-Grafiken. Um diesen Vorgang zu erklären einfache Sprache, können wir eine Analogie zur Arbeit von Fotografen ziehen. Damit das Foto in seiner ganzen Pracht erscheint, muss der Fotograf einige technische Schritte durchlaufen, zum Beispiel die Filmentwicklung oder den Druck auf einem Drucker. Ungefähr die gleichen technischen Schritte werden von 3D-Künstlern belastet, die, um das endgültige Bild zu erstellen, die Phase des Einrichtens des Renderings und des Rendering-Prozesses selbst durchlaufen.

Bildaufbau.

Wie bereits erwähnt, ist das Rendern eine der schwierigsten technischen Phasen, da während des Renderns komplexe mathematische Berechnungen von der Render-Engine durchgeführt werden. In diesem Stadium übersetzt die Engine die mathematischen Daten über die Szene in das endgültige 2D-Bild. Während des Prozesses werden die 3D-Geometrie, Texturen und Lichtdaten der Szene in kombinierte Informationen über den Farbwert jedes Pixels in einem 2D-Bild umgewandelt. Mit anderen Worten, die Engine berechnet auf der Grundlage der ihr vorliegenden Daten, welche Farbe jedes Pixel des Bildes haben sollte, um ein komplexes, schönes und vollständiges Bild zu erhalten.

Grundlegende Rendering-Typen:

Weltweit gibt es zwei Hauptarten des Renderns, wobei die Hauptunterschiede die Geschwindigkeit sind, mit der das Bild gerendert und finalisiert wird, sowie die Qualität des Bildes.

Was ist Echtzeit-Rendering?

Echtzeit-Rendering wird häufig in Spielen und interaktiven Grafiken verwendet, wo das Bild mit der höchstmöglichen Geschwindigkeit gerendert und sofort in seiner endgültigen Form auf der Monitoranzeige angezeigt werden muss.

Da der Schlüsselfaktor bei dieser Art des Renderns die Interaktivität des Benutzers ist, muss das Bild ohne Verzögerung und nahezu in Echtzeit gerendert werden, da es unmöglich ist, das Verhalten des Spielers genau vorherzusagen und wie er mit dem Spiel oder mit dem Interaktiven interagieren wird Szene. Damit eine interaktive Szene oder ein Spiel ruckelfrei und ruckelfrei funktioniert, muss die 3D-Engine das Bild mit einer Geschwindigkeit von mindestens 20-25 Bildern pro Sekunde rendern. Wenn die Rendergeschwindigkeit unter 20 Frames liegt, fühlt sich der Benutzer von der Szene unwohl, wenn er Ruckler und Zeitlupen beobachtet.

Der Optimierungsprozess spielt eine große Rolle bei der Erstellung eines reibungslosen Renderings in Spielen und interaktiven Szenen. Um die gewünschte Rendering-Geschwindigkeit zu erreichen, wenden Entwickler verschiedene Tricks an, um die Belastung der Render-Engine zu reduzieren und versuchen, die erzwungene Anzahl von Renderings zu reduzieren. Dazu gehört die Reduzierung der Qualität von 3D-Modellen und Texturen sowie das Schreiben einiger Licht- und Bump-Informationen in vorgefertigte Textur-Maps. Es ist auch erwähnenswert, dass der Hauptteil der Last bei der Berechnung des Renderings in Echtzeit auf einen Spezialisten fällt grafische Ausrüstung(Grafikkarte -GPU), wodurch Sie die Belastung reduzieren können Zentralprozessor(CPU) und seine Rechenleistung für andere Aufgaben freigeben.

Was ist Prerender?

Pre-Rendering wird verwendet, wenn Geschwindigkeit keine Priorität hat und keine Notwendigkeit für Interaktivität besteht. Diese Art von Renderer wird am häufigsten in der Filmindustrie verwendet, wenn mit Animationen und komplexen visuellen Effekten gearbeitet wird, sowie dort, wo Fotorealismus und sehr hohe Bildqualität benötigt werden.

Anders als beim Realtime-Rendering, wo die Hauptlast auf Grafikkarten (GPU) lag, fällt beim Pre-Rendering die Last auf die Central Processing Unit (CPU) und die Rendering-Geschwindigkeit hängt von der Anzahl der Kerne, dem Multithreading und der Prozessorleistung ab.

Es kommt oft vor, dass die Renderzeit eines Frames mehrere Stunden oder sogar mehrere Tage dauert. In diesem Fall haben 3D-Künstler wenig bis keinen Optimierungsbedarf und können 3D-Modelle verwenden höchste Qualität, sowie Texturkarten mit sehr hoher Auflösung. Dadurch ist das Bild im Vergleich zum Echtzeit-Rendering deutlich besser und fotorealistischer.

Rendering-Software.

Mittlerweile gibt es eine Vielzahl von Rendering-Engines auf dem Markt, die sich in Geschwindigkeit, Bildqualität und Benutzerfreundlichkeit unterscheiden.

Render-Engines sind in der Regel in große 3D-Grafikprogramme eingebaut und haben ein enormes Potenzial. Unter den beliebtesten 3D-Programmen (Paketen) gibt es solche Software wie:

  • 3ds Max;
  • Maya;
  • Mixer;
  • Kino 4d usw.

Viele dieser 3D-Pakete enthalten bereits Render-Engines. Beispielsweise ist die Render-Engine Mental Ray im 3Ds Max-Paket enthalten. Außerdem kann fast jede beliebte Render-Engine mit den meisten bekannten 3D-Paketen verbunden werden. Zu den beliebten Render-Engines gehören:

  • V-Strahl;
  • mentaler Strahl;
  • Corona-Renderer usw.

Ich möchte darauf hinweisen, dass, obwohl der Rendering-Prozess sehr komplexe mathematische Fehler aufweist, die Entwickler von 3D-Rendering-Programmen auf jede erdenkliche Weise versuchen, 3D-Künstler davon abzuhalten, mit der komplexen Mathematik des zugrunde liegenden Renderprogramms zu arbeiten. Sie versuchen, relativ leicht verständliche parametrische Rendering-Einstellungen sowie Material- und Beleuchtungssets und -bibliotheken bereitzustellen.

Viele Render-Engines haben in bestimmten Bereichen der Arbeit mit 3D-Grafiken Berühmtheit erlangt. So ist beispielsweise „V-ray“ bei Architekturvisualisierern sehr beliebt, da eine große Anzahl von Materialien vorhanden sind Architekturvisualisierung und allgemein, gute Qualität machen.

Visualisierungsmethoden.

Die meisten Render-Engines verwenden drei Hauptberechnungsmethoden. Jede von ihnen hat ihre Vor- und Nachteile, aber alle drei Methoden haben das Recht, in bestimmten Situationen eingesetzt zu werden.

1. Scanline (Scanlinie).

Scanline-Rendering ist die Wahl derer, die Geschwindigkeit über Qualität stellen. Gerade wegen seiner Geschwindigkeit angegebenen Typ Renderer wird häufig in Videospielen und interaktiven Szenen sowie in Ansichtsfenstern verschiedener 3D-Pakete verwendet. Mit einem modernen Videoadapter kann diese Art von Renderer ein stabiles und flüssiges Echtzeitbild mit einer Frequenz von 30 Bildern pro Sekunde und mehr erzeugen.

Arbeitsalgorithmus:

Anstatt „Pixel für Pixel“ zu rendern, ermittelt der Algorithmus des „Scanline“-Renderers die sichtbare Fläche in 3D-Grafiken und sortiert nach dem Prinzip „Row by Row“ die zum Rendern benötigten Polygone zunächst nach dem höchsten Y Koordinate, die zu einem gegebenen Polygon gehört, wonach jede Zeile des Bildes berechnet wird, indem die Zeile mit dem Polygon geschnitten wird, das der Kamera am nächsten ist. Nicht mehr sichtbare Polygone werden entfernt, wenn Sie von einer Zeile zur nächsten wechseln.

Der Vorteil dieses Algorithmus besteht darin, dass es nicht erforderlich ist, die Koordinaten jedes Scheitelpunkts vom Hauptspeicher in den Arbeitsspeicher zu übertragen, und die Koordinaten nur jener Scheitelpunkte gesendet werden, die in die Sichtbarkeits- und Renderzone fallen.

2. Strahlverfolgung (Raytrace).

Diese Art des Renderns wurde für diejenigen entwickelt, die ein Bild mit höchster Qualität und detaillierter Wiedergabe erhalten möchten. Das Rendern dieser speziellen Art ist bei Fans des Fotorealismus sehr beliebt, und es ist erwähnenswert, dass es nicht zufällig ist. Nicht selten können wir mit Hilfe des Raytrace-Renderings verblüffend realistische Aufnahmen von Natur und Architektur sehen, die nicht jeder von der Fotografie unterscheiden kann, außerdem ist es oft das Raytrace-Verfahren, das verwendet wird, um Grafiken in CG-Trailern zu bearbeiten oder Filme.

Leider aus Qualitätsgründen dieser Algorithmus Das Rendering ist sehr langsam und kann noch nicht in Echtzeitgrafiken verwendet werden.

Arbeitsalgorithmus:

Die Idee des Raytrace-Algorithmus besteht darin, dass für jedes Pixel auf dem bedingten Bildschirm ein oder mehrere Strahlen von der Kamera zum nächsten dreidimensionalen Objekt verfolgt werden. Der Lichtstrahl durchläuft dann eine bestimmte Anzahl von Reflexionen, die je nach Szenenmaterial Reflexionen oder Brechungen beinhalten können. Die Farbe jedes Pixels wird algorithmisch basierend auf der Wechselwirkung des Lichtstrahls mit Objekten auf seinem verfolgten Weg berechnet.

Raycast-Methode.

Der Algorithmus arbeitet auf der Grundlage, dass Strahlen wie aus den Augen des Betrachters durch jedes Pixel des Bildschirms "geworfen" werden und das nächste Objekt gefunden wird, das den Weg eines solchen Strahls blockiert. Unter Verwendung der Eigenschaften des Objekts, seines Materials und der Beleuchtung der Szene erhalten wir die gewünschte Pixelfarbe.

Häufig kommt es vor, dass das „Raytracing-Verfahren“ (Raytrace) mit dem „Raycasting“-Verfahren verwechselt wird. Tatsächlich ist „Raycasting“ (die Methode, einen Strahl zu werfen) eigentlich eine vereinfachte „Raytrace“-Methode, bei der keine weitere Verarbeitung von zurückgeworfenen oder gebrochenen Strahlen erfolgt, sondern nur die erste Oberfläche im Strahlengang berechnet wird.

3. Radiosität.

Statt "Raytracing-Verfahren", in diese Methode Das Rendern funktioniert kameraunabhängig und ist im Gegensatz zum „Pixel by Pixel“-Verfahren objektorientiert. Die Hauptfunktion von "Radiosity" besteht darin, die Farbe der Oberfläche genauer zu simulieren, indem indirekte Beleuchtung (Reflexion von Streulicht) berücksichtigt wird.

Die Vorteile von "Radiosity" sind weiche abgestufte Schatten und Farbreflexionen auf dem Objekt, die von nahen bunten Objekten kommen.

Die Praxis, die Radiosity- und Raytrace-Methode zusammen zu verwenden, um die beeindruckendsten und fotorealistischsten Renderings zu erzielen, ist sehr beliebt.

Was ist Video-Rendering?

Manchmal wird der Ausdruck „Rendern“ nicht nur bei der Arbeit mit 3D-Computergrafiken, sondern auch bei der Arbeit mit Videodateien verwendet. Der Video-Rendering-Prozess beginnt, wenn der Benutzer des Video-Editors die Arbeit an der Videodatei beendet hat, alle erforderlichen Parameter, Tonspuren und visuellen Effekte eingestellt hat. Tatsächlich müssen Sie nur noch alles in einer Videodatei zusammenfassen. Dieser Prozess kann mit der Arbeit eines Programmierers verglichen werden, wenn er den Code geschrieben hat und danach nur noch der gesamte Code in ein funktionierendes Programm kompiliert werden muss.

Wie bei einem 3D-Designer und einem Benutzer eines Videoeditors erfolgt der Rendering-Prozess automatisch und ohne Benutzereingriff. Vor dem Start müssen lediglich einige Parameter eingestellt werden.

Die Video-Rendering-Geschwindigkeit hängt von der Dauer und Qualität ab, die für die Ausgabe erforderlich sind. Grundsätzlich fällt der größte Teil der Berechnung auf die Leistung des Zentralprozessors, daher hängt die Geschwindigkeit der Videowiedergabe von seiner Leistung ab.

Kategorien: , // von

Material aus CAD-Überprüfung.

Rendern(Rendering - „Visualisierung“) in der Computergrafik ist der Vorgang, bei dem mithilfe eines Computerprogramms ein Bild von einem Modell erstellt wird. Hier Modell ist eine Beschreibung dreidimensionaler Objekte in einer fest definierten Sprache oder in Form einer Datenstruktur. Eine solche Beschreibung kann geometrische Daten, die Position des Betrachterpunktes, Informationen über die Beleuchtung enthalten. Bild- es ist digital Bitmap. Einfach gesagt, Wiedergabe- Erstellung eines flachen Bildes (Bildes) basierend auf der entwickelten 3D-Szene. Ein Synonym in diesem Zusammenhang ist Visualisierung.

Dies ist einer der wichtigsten Zweige der Computergrafik und in der Praxis eng mit den anderen verwandt. Normalerweise Softwarepakete 3D Modellierung und Animationen enthalten auch eine Rendering-Funktion. Es gibt separate Softwareprodukte Diejenigen, die das Rendern durchführen.

Je nach Verwendungszweck wird Pre-Rendering als ausreichend unterschieden langsamer Prozess Visualisierung, die hauptsächlich in der Videoproduktion verwendet wird, und Real-Mode-Rendering, das in Computerspielen verwendet wird. Letztere verwendet häufig 3D-Beschleuniger.

Rendering-Methoden (Visualisierungen)

Bis heute wurden viele Visualisierungsalgorithmen entwickelt. Bestehenden Software kann mehrere Algorithmen verwenden, um das endgültige Bild zu erhalten.

Das Verfolgen jedes Lichtstrahls in einer Szene ist nicht praktikabel und nimmt unannehmbar lange Zeiträume in Anspruch. Selbst das Verfolgen einer kleinen Strahlenmenge, die ausreicht, um ein Bild zu erhalten, nimmt übermäßig viel Zeit in Anspruch, wenn keine Annäherung (Abtastung) angewendet wird.

Als Ergebnis wurden vier Gruppen von Methoden entwickelt, die effizienter sind, als alle Lichtstrahlen zu simulieren, die die Szene beleuchten:

  • Rasterung(Rasterisierung) und das Verfahren zum Abtasten von Zeilen (Scanline-Rendering). Das Rendern wird durchgeführt, indem Szenenobjekte auf den Bildschirm projiziert werden, ohne den Effekt der Perspektive relativ zum Betrachter zu berücksichtigen.
  • Ray-Casting-Methode(Strahlenwerfen). Die Szene gilt als von einem bestimmten Punkt aus beobachtet. Vom Beobachtungspunkt aus werden Strahlen auf die Objekte der Szene gerichtet, mit deren Hilfe die Farbe eines Pixels auf einem zweidimensionalen Bildschirm bestimmt wird. In diesem Fall stoppen die Strahlen ihre Ausbreitung (anders als bei der Rückverfolgungsmethode), wenn sie irgendein Objekt in der Szene oder deren Hintergrund erreichen. Vielleicht werden einige sehr einfache Techniken verwendet, um optische Effekte hinzuzufügen oder einen perspektivischen Effekt einzuführen.
  • globale Erleuchtung(globale Beleuchtung, Radiosität). Verwendet Finite-Elemente-Mathematik, um die diffuse Ausbreitung von Licht von Oberflächen zu simulieren und gleichzeitig „weiche“ Lichteffekte zu erzielen.
  • Raytracing(Raytracing) ähnelt dem Raycasting-Verfahren. Vom Beobachtungspunkt aus werden Strahlen auf die Objekte der Szene gerichtet, mit deren Hilfe die Farbe eines Pixels auf einem zweidimensionalen Bildschirm bestimmt wird. Gleichzeitig stoppt der Strahl jedoch nicht seine Ausbreitung, sondern wird in drei Komponenten aufgeteilt, Strahlen, von denen jede zur Farbe eines Pixels auf einem zweidimensionalen Bildschirm beiträgt: reflektiert, Schatten und gebrochen. Die Anzahl solcher Unterteilungen in Komponenten bestimmt die Tiefe der Nachzeichnung und beeinflusst die Qualität und den Fotorealismus des Bildes. Aufgrund seiner konzeptionellen Merkmale ermöglicht das Verfahren, sehr fotorealistische Bilder zu erhalten, ist aber gleichzeitig sehr ressourcenintensiv und der Rendering-Prozess nimmt erhebliche Zeit in Anspruch.

Fortgeschrittene Software kombiniert normalerweise mehrere Techniken, um ein ausreichend hochwertiges und fotorealistisches Bild für eine akzeptable Menge an Rechenressourcen zu erhalten.

Mathematische Begründung

Die Rendering-Engine-Implementierung basiert immer auf physikalisches Modell. Die durchgeführten Berechnungen beziehen sich auf das eine oder andere physikalische oder abstrakte Modell. Die wichtigsten Ideen sind leicht zu verstehen, aber schwer anzuwenden. In der Regel ist die endgültige elegante Lösung oder der Algorithmus komplexer und enthält eine Kombination verschiedener Techniken.

Grundgleichung

Der Schlüssel zur theoretischen Grundlage von Rendering-Modellen ist die Rendering-Gleichung. Es ist die vollständigste formale Beschreibung des Teils des Renderns, der nicht mit der Wahrnehmung des endgültigen Bildes zusammenhängt. Alle Modelle stellen eine ungefähre Lösung dieser Gleichung dar.

Die informelle Interpretation lautet wie folgt: Die Menge an Lichtstrahlung (L o), die von einem bestimmten Punkt in einer bestimmten Richtung ausgeht, ist ihre eigene Strahlung und reflektierte Strahlung. Die reflektierte Strahlung ist die Summe der einfallenden Strahlung in alle Richtungen (L i) multipliziert mit dem Reflexionskoeffizienten aus dem gegebenen Winkel. Einfallendes Licht mit ausgehendem Licht an einem Punkt in einer Gleichung kombinierend, stellt diese Gleichung eine Beschreibung von allem dar Lichtstrom in einem gegebenen System.

Rendering-Software - Renderer (Visualisierer)

  • RenderMan (PhotoRealistic oder PRMan)
  • Gelato (Entwicklung wegen Kauf von NVIDIA, mental ray eingestellt)
  • Entropie (eingestellt)
  • BMRT (Blue Moon Rendering Tools) (Vertrieb eingestellt)
  • Holomatix Renditio (interaktiver Raytracer)
3D-Modellierungspakete mit eigenen Renderings
  • 3ds Max (Scanline)

Vergleichstabelle der Rendereigenschaften

machtkompatibel mit 3ds MaxKompatibel mit Mayakompatibel mit SOFTIMAGEKompatibel mit HoudiniKompatibel mit LightWaveKompatibel mit BlenderKompatibel mit SketchUpKompatibel mit Cinema 4Dvoreingenommen, unvoreingenommenscannenStrahlspurAlgorithmen Globale Beleuchtung oder benutzerdefinierte AlgorithmenTiefenschärfeBewegungsunschärfe (Vektorpass)DisplasmationFlächenlichtGlänzende Reflexion/BrechungSSEigenständige Aktuelle Version BaujahrMaterialbibliothekbasierend auf Technologienormale KartierungIBLmentale Sonneoffiziellen WebsiteHerstellungslandkosten $HauptvorteilHersteller Firma
RenderMan + + - - - - - - voreingenommen + sehr langsam + sehr schnellschnell + + + 13.5,2,1 1987 - Vereinigte Staaten von Amerika 3500 Pixar
mentaler Strahleingebauteingebauteingebauteingebaut - - - - voreingenommen + + Photon, Final Gather (Quasi-Montecarlo) + + + + + + + 3.6 1986 33 Mein mentalRay Deutschland 195 geistige Bilder (seit 2008 NVIDIA)
Gelato (Entwicklung eingestellt) + + - - - - - - voreingenommen + + + schnellschnell + + + 2.2 2003 - Vereinigte Staaten von Amerika 0 Nvidia
V-Ray + Vorabversion, zum Download auf der offiziellen Website verfügbar - - - - + + voreingenommen - + Light Cash, Photon Map, Bestrahlungskarte, Brute Force (Quasi-Montecarlo) + + langsam, 2d und 3d + + + 2005 (roh)1.5RC5 2000 um 1300 vray-materialien Bulgarien1135 (Super Bundle) 999 (Bundle) 899 (Standart) 240 (Educational) Chaos-Gruppe
finalRender + + - - - - - + voreingenommen - + Hyper Global Illumination, Adaptives Quasi-Montecarlo, Bild, Quasi-Monte-Carlo + + zählt Vektorpasslangsam + + + - Stufe 2 2002 30 Büro Seite? ˅ Deutschland 1000 Cebas
Brasilien R/S + - - - - - - - voreingenommen - + Quasi-Montecarlo, PhotonMapping + + - + + + - 2 2000 113 Büro Seite? ˅ Vereinigte Staaten von Amerika 735 SputterFish
Schildkröte - + - - - - - - voreingenommen - + Photonenkarte, Final Gather + + schnell + + + - 4.01 2003 - flüssiges Licht [Schweden 1500 Backen mit hoher Geschwindigkeit (nicht sehr hohe Qualität)Labore beleuchten
Maxwell-Rendering + + + - + - + + unvoreingenommen - - Metropolis Leichter Transport + + + + + + + 1.61 2007 (?) 2979 Büro Seite? ˅ Maxwell-Rendering Spanien 995 Nächste Grenze
Fryrender + + + + + - + + unvoreingenommen - - Metropolis Leichter Transport + + + + + + + 1.91 2006 (?) 110 Büro Seite? ˅ Spanien 1200 Fieberweich
Indigo + + + + - + + + unvoreingenommen - - Metropolis Leichter Transport + + + + + + + 1.0.9 2006 - Metropolis Leichter Transport Indigo-Renderer ? 0 Quelloffene Software ?

siehe auch

Chronologie der wichtigsten Veröffentlichungen

  • 1968 Strahlenwerfen(Appel, A. (1968). Einige Techniken zum Schattieren von maschinellen Renderings von Festkörpern. Tagungsband der Spring Joint Computer Conference 32 , 37-49.)
  • 1970 Scan-Line-Algorithmus(Bouknight, W. J. (1970). Ein Verfahren zur Erzeugung von dreidimensionalen Halbton-Computergraphikpräsentationen. Mitteilungen der ACM)
  • 1971 Gouraud-Schattierung(Gouraud, H. (1971). Computeranzeige gekrümmter Oberflächen. IEEE-Transaktionen auf Computern 20 (6), 623-629.)
  • 1974 Textur-Mapping Doktorarbeit, Universität von Utah.)
  • 1974 Z-Puffer(Catmull, E. (1974). Ein Unterteilungsalgorithmus für die Computeranzeige gekrümmter Oberflächen. Doktorarbeit)
  • 1975 Phong-Schattierung(Phong, B-T. (1975). Beleuchtung für computergenerierte Bilder. Mitteilungen der ACM 18 (6), 311-316.)
  • 1976 Umgebungskartierung(Blinn, J. F., Newell, M. E. (1976). Textur und Reflexion in computererzeugten Bildern. Mitteilungen der ACM 19 , 542-546.)
  • 1977 Schattenvolumen(Crow, F.C. (1977). Schattenalgorithmen für Computergrafiken. Computergrafik (Proceedings of SIGGRAPH 1977) 11 (2), 242-248.)
  • 1978 Schattenpuffer(Williams, L. (1978). Werfen gekrümmter Schatten auf gekrümmte Oberflächen. 12 (3), 270-274.)
  • 1978 Bump-Mapping(Blinn, J. F. (1978). Simulation von zerknitterten Oberflächen. Computergrafik (Proceedings of SIGGRAPH 1978) 12 (3), 286-292.)
  • 1980 BSP-Bäume(Fuchs, H. Kedem, Z.M. Naylor, B.F. (1980). Auf sichtbarer Oberflächenerzeugung durch a priori Baumstrukturen. Computergrafik (Proceedings of SIGGRAPH 1980) 14 (3), 124-133.)
  • 1980 Raytracing(Whitted, T. (1980). Ein verbessertes Beleuchtungsmodell für schattierte Anzeige. Mitteilungen der ACM 23 (6), 343-349.)
  • 1981 Cook-Shader(Cook, R.L. Torrance, K.E. (1981). Ein Reflexionsmodell für Computergrafik. Computergrafik (Proceedings of SIGGRAPH 1981) 15 (3), 307-316.)
  • 1983 Mipmaps(Williams, L. (1983). Pyramidale Parametrik. Computergrafik (Proceedings of SIGGRAPH 1983) 17 (3), 1-11.)
  • 1984 Octree-Raytracing(Glassner, A.S. (1984). Raumunterteilung für schnelles Raytracing. 4 (10), 15-22.)
  • 1984 Alpha-Compositing(Porter, T. Duff, T. (1984). Compositing digital images. 18 (3), 253-259.)
  • 1984 Verteiltes Raytracing(Cook, R.L. Porter, T. Carpenter, L. (1984). Distributed Raytracing. Computergrafik (Proceedings of SIGGRAPH 1984) 18 (3), 137-145.)
  • 1984 Radiosität(Goral, C. Torrance, K.E. Greenberg, D.P. Battaile, B. (1984). Modellierung der Wechselwirkung von Licht zwischen diffusen Oberflächen. Computergrafik (Proceedings of SIGGRAPH 1984) 18 (3), 213-222.)
  • 1985 Halbwürfel-Radiosität(Cohen, M.F. Greenberg, D.P. (1985). Der Halbwürfel: eine Radiosity-Lösung für komplexe Umgebungen. Computergrafik (Proceedings of SIGGRAPH 1985) 19 (3), 31-40.)
  • 1986 Lichtquellenverfolgung(Arvo, J. (1986). Rückwärts-Raytracing. Kursnotizen zu SIGGRAPH 1986 Entwicklungen in der Strahlverfolgung)
  • 1986 Rendering-Gleichung(Kajiya, J. T. (1986). The rendering equation. Computergrafik (Proceedings of SIGGRAPH 1986) 20 (4), 143-150.)
  • 1987 Reyes-Algorithmus(Cook, R.L. Carpenter, L. Catmull, E. (1987). The reyes image rendering architecture. Computergrafik (Proceedings of SIGGRAPH 1987) 21 (4), 95-102.)
  • 1991 Hierarchische Radiosität(Hanrahan, P. Salzman, D. Aupperle, L. (1991). Ein schneller hierarchischer Radiosity-Algorithmus. Computergrafik (Proceedings of SIGGRAPH 1991) 25 (4), 197-206.)
  • 1993 Ton-Mapping(Tumblin, J. Rushmeier, H.E. (1993). Tonreproduktion für realistische computergenerierte Bilder. IEEE-Computergrafik und -anwendungen 13 (6), 42-48.)
  • 1993 Streuung unter der Oberfläche(Hanrahan, P. Krueger, W. (1993). Reflexion von geschichteten Oberflächen aufgrund von Streuung unter der Oberfläche. Computergrafik (Proceedings of SIGGRAPH 1993) 27 (), 165-174.)
  • 1995 Photonen-Mapping(Jensen, H.J. Christensen, N.J. (1995). Photonenkarten in bidirektionaler Monte-Carlo-Strahlenverfolgung komplexer Objekte. Computer & Grafik 19 (2), 215-224.)
  • 1997 Leichter Transport in der Metropole(Veach, E. Guibas, L. (1997). Metropolis light transport. Computergrafik (Proceedings of SIGGRAPH 1997) 16 65-76.)

Viele Elemente der visuellen Umgebung eines modernen Menschen werden heute mit Computergrafikprogrammen erstellt. Ohne Visualisierungen von 3D-Künstlern kommt weder ein Architektur- oder Designstudio noch ein Computerspielhersteller aus.

Die Technologie zur Erstellung eines solchen Bildes - fotorealistisch oder imitiert verschiedene künstlerische Techniken - besteht aus mehreren technologischen Phasen. Das Rendern ist der wichtigste von ihnen, oft der letzte, von dem das Endergebnis abhängt.

Herkunft des Begriffs

Das Wort „Rendern“ (oder „Rendering“) stammt, wie vieles im Zusammenhang mit IP-Technologien, ab der englischen Sprache. Es kommt aus dem Altfranzösischen rendre, was "tun", "geben", "zurückgeben", "zurückgeben" bedeutet. Die tieferen Wurzeln dieses Verbs gehen auf das alte Latein zurück: betreffend- ein Präfix, das "zurück" bedeutet, und Wagen- "Gib mal".

Daher - eine der Bedeutungen des modernen Begriffs. Rendering ist auch der Prozess der Wiederherstellung eines planaren Bildes auf der Grundlage eines dreidimensionalen Modells, das Informationen über die physikalischen Eigenschaften eines Objekts enthält – seine Form, Oberflächenstruktur, Beleuchtung und so weiter.

Rendern und Visualisieren

Dieses Wort, das zuerst in das Lexikon derer eingetreten ist, die sich professionell mit digitalen Bildgebungstechnologien beschäftigen, wird zunehmend im Alltag verwendet. Sie verlangen beispielsweise bei der Bestellung von Möbeln, einem einzelnen Objekt oder der Einrichtung eines ganzen Raums, einen fertigen Putz, und bei der Gestaltung eines Innenraums oder eines ganzen Gebäudes ist ein Putz eines der wichtigsten Mittel, um dem Kunden das zu vermitteln Bedeutung der Ideen eines Architekten oder Designers.

Es gibt ein Synonym, das eine ähnliche Bedeutung hat und in einer normalen Umgebung häufiger verwendet wird, obwohl es umständlicher ist - Visualisierung. Unter den Fachleuten für Architektur- oder Spielcomputergrafik ist es heute üblich, eine enge Spezialisierung zu haben: Es gibt diejenigen, die sich mit Modellierung beschäftigen - sie erstellen dreidimensionale Objekte, und diejenigen, die die fertige Szene rendern - stellen die Beleuchtung ein, wählen aus den Blickwinkel und passen Sie sie an und starten Sie dann das Renderprogramm.

Definitionen

Dieses Wort hat mehrere Bedeutungen:

  • Rendern oder Rendern ist Zeichnen, der Prozess des Erhaltens einer technischen oder künstlerischen Ebene auf der Grundlage von dreidimensionalen digitale Modelle erstellt mit speziellen Softwarepaketen - Blender, 3D Max, CINEMA, Maya usw.
  • Das Rendern ist in der Tat das Ergebnis eines solchen Prozesses - ein Rasterbild sowie ein Bild von Charakteren und Umgebungen in Computerspielen oder Videodateien, die von Trideshniks erstellt wurden, die bei der Produktion von Filmen verwendet werden - gewöhnlich oder animiert.
  • Render oder Renderer ist der Name einer speziellen Software, mit deren Hilfe 3D-Modelle in ein Bild umgewandelt werden. Solche Programme können in ein Grafikpaket eingebaut oder als solches verwendet werden individuelle Anwendungen: RenderMan, Mental Ray, V-ray, Corona, Brasil, Maxwell, FinalRender, Fryrender, Modo und viele mehr. Renderings werden, wie alles, was mit digitaler Technologie zu tun hat, ständig aktualisiert. Sie unterscheiden sich in den Algorithmen, die zur Berechnung der physikalischen Eigenschaften der Modelle und ihrer Umgebung verwendet werden. Darauf basierend werden ganze Rendering-Systeme erstellt, mit denen Sie Ihre eigenen Materialien, Lampen, Kameras usw. erstellen können.

Rendertypen: Online und Pre-Rendering

Es gibt zwei Hauptarten des Renderns, abhängig von der Geschwindigkeit, mit der das fertige Bild erhalten werden soll. Das erste ist das Echtzeit-Rendering, das in interaktiven Grafiken, hauptsächlich in Computerspielen, erforderlich ist. Es muss schnell gerendert werden, das Bild muss sofort angezeigt werden, daher wird ein Großteil der Szene im Voraus berechnet und als separate Daten darin gespeichert. Dazu gehören Texturen, die definieren Aussehen Objekte und Beleuchtung. Die zum Online-Rendering eingesetzten Programme nutzen hauptsächlich die Ressourcen der Grafikkarte und des Arbeitsspeichers des Computers und in geringerem Maße den Prozessor.

Für das Rendern von Szenen, die visuell komplexer sind, sowie wo das Thema Geschwindigkeit nicht so relevant ist, wenn die Qualität des Renderings viel wichtiger ist, werden andere Rendering-Methoden und -Programme verwendet. In diesem Fall wird die gesamte Leistung verwendet, die höchsten Einstellungen für Texturauflösung, Beleuchtungsberechnung werden eingestellt. Die Render-Nachbearbeitung wird häufig verwendet, um einen hohen Grad an Fotorealismus oder den gewünschten künstlerischen Effekt zu erzielen.

Szenen-Rendering-Methoden

Die Wahl der Methoden zum Erhalten eines Bildes hängt von der spezifischen Aufgabe und oft von der Erfahrung des Visualisierers ab. Immer neue Rendering-Systeme werden entwickelt – entweder hochspezialisiert oder universell. Heutzutage basieren die gebräuchlichsten Rendering-Programme auf drei Hauptberechnungsmethoden:

  • Rasterung (Scanline) ist eine Methode, bei der ein Bild erstellt wird, indem nicht einzelne Pixelpunkte, sondern ganze Polygonflächen und große Flächenbereiche gerendert werden. Die Texturen, die die Eigenschaften von Objekten definieren, wie das Licht in der Szene, sind als unveränderliche Daten festgelegt. Das resultierende Bild spiegelt häufig keine perspektivischen Änderungen der Beleuchtung usw. wider. Es wird am häufigsten in Systemen zum Rendern von Szenen in Spielen und in der Videoproduktion verwendet.
  • Raytracing - Die Szenenphysik wird basierend auf den Strahlen berechnet, die von der Linse der virtuellen Kamera ausgehen, und der Analyse der Wechselwirkung jedes Strahls mit den Objekten, auf die er in der Szene trifft. Je nach Quantität und Qualität solcher „Bounces“ wird eine Spiegelung simuliert oder deren Farbe, Sättigung etc. Die Qualität des resultierenden Bildes ist im Vergleich zur Rasterung deutlich höher, allerdings muss man dessen Realismus mit einem erhöhten Verbrauch bezahlen von Ressourcen.
  • Berechnung des reflektierten Lichts (Radiosity) - jeder Punkt, jedes Pixel des Bildes ist mit einer Farbe ausgestattet, die nicht von der Kamera abhängt. Es wird von globalen und lokalen Lichtquellen und der Umwelt beeinflusst. Dieses Verfahren ermöglicht es, das Erscheinungsbild von Farb- und Lichtreflexionen benachbarter Objekte auf der Oberfläche des Modells zu berechnen.

Die Praxis zeigt, dass die fortschrittlichsten und beliebtesten Rendering-Systeme eine Kombination aller oder der wichtigsten Methoden verwenden. Dadurch erreichen Sie ein Höchstmaß an Fotorealismus und Zuverlässigkeit bei der Darstellung physikalischer Vorgänge in einer gegebenen Szene.

Rendersequenz

Obwohl der moderne Ansatz in der Computergrafik es vorzieht, das Rendering in eine separate Phase zu unterteilen, was das Vorhandensein spezieller Kenntnisse und Fähigkeiten erfordert, ist es tatsächlich untrennbar mit dem gesamten Prozess der Rendering-Vorbereitung verbunden. Wenn beispielsweise ein Innenraum entworfen wird, hängt das Rendering von der Art der verwendeten Materialien ab, und jedes Rendering-System hat seinen eigenen Algorithmus zur Simulation von Textur und Oberflächentextur.

Gleiches gilt für die Szenenbeleuchtung. Einrichten von natürlichem und künstlichem Licht, Eigenschaften von Eigen- und Schlagschatten, Stärke von Reflexen, Selbstleuchteffekte – der nächste Schritt bei der Erstellung einer Szenenvisualisierung. Wie das Rendering eingerichtet wird, hängt von der verwendeten Software und der Systemleistung ab. Jedes Paket und Visualisierungsprogramm hat seine eigenen Feinheiten und Nuancen.

Beispielsweise hat Corona Renderer die Möglichkeit, die Einstellungen direkt während der Entwicklung des endgültigen Bildes anzupassen. Im Online-Modus können Sie die Leistung der Lampen ändern, die Farbe und die Bildschärfe anpassen.

Renderergebnisse nachbearbeiten

Für eine bestimmte Aufgabe ist es sinnvoll, spezielle Visualisierungstechniken anzuwenden. Architektur erfordert andere bildnerische Mittel als bei der Erstellung einer technischen Illustration. Das Rendern von Außenbereichen erfordert beispielsweise häufig, dass der Künstler mit Bitmap-Grafikpaketen vertraut ist, von denen das beliebteste ist Adobe Photoshop. Darüber hinaus wird dies nicht immer getan, um den Fotorealismus zu erhöhen. Moderne Tendenzen in der architektonischen Präsentation sorgen sie für die Nachahmung von Handgrafiken - Aquarelle, Gouache, Tuschezeichnungen usw.

Die hochwertige Nachbearbeitung eines Renderings beginnt normalerweise mit einer Auswahl gewünschtes Format Datei, die nach dem Ende des Programms empfangen wird. Es wird akzeptiert, das fertige Bild in Ebenen zu speichern, indem Sie separate verwenden Farbkanäle. Auf diese Weise können Sie ein hohes Ergebnis erzielen, wenn Sie alle Ebenen zu einem einzigen Bild zusammenführen, indem Sie eine genauere und feinere Farbanpassung verwenden.

Rendering und Systemleistung

Die Durchführung einer qualitativ hochwertigen Visualisierung hängt von mehr als nur einer Prozesssoftware ab. Das Endergebnis wird durch die Leistung der verwendeten Hardware beeinflusst. Dieser Faktor wirkt sich vor allem auf die Arbeitsgeschwindigkeit aus – das Rendern einer komplexen Szene dauert manchmal mehrere Tage, wenn der Computer nicht über genügend Arbeitsspeicher oder einen leistungsschwachen Prozessor verfügt.

Wie kann das Rendern beschleunigt und das Endergebnis verbessert werden, wenn nicht genügend Ressourcen vorhanden sind? Sie können die Programmeinstellungen ändern, indem Sie die Auflösung der Materialtexturen und des endgültigen Bildes auf vernünftige Werte reduzieren, die Parameter der Fixtures so ändern, dass Licht und Schatten in größeren Bereichen ohne übermäßige Details gerendert werden usw. Wenn ja In einem Netzwerk können Sie ein Batch-Rendering verwenden, wenn Bilder berechnet werden, die von der Leistung anderer Computer gezeichnet werden.

Farm machen

Heute ist es möglich, die Kapazitäten entfernter Computercluster zu nutzen, die Dienste für bereitstellen Stapelverarbeitung 3D-Dateien. Dies sind Hochleistungssysteme, die dazu in der Lage sind kurzfristig Rendern Sie die komplexesten und intensivsten Szenen. Sie kommen mit allen visuellen Effekten zurecht, selbst beim Erstellen langer Videodateien.

Indem Sie sich an einen Anbieter solcher Dienste wenden, von denen eine Liste immer im Internet zu finden ist, und die Kosten und Bedingungen für die Erstellung von Dateien vereinbaren, können Sie die Arbeitsgeschwindigkeit erheblich einsparen und das erforderliche Qualitätsniveau des endgültigen Bildes erreichen . Solche Unternehmen verfügen über bis zu mehreren Tausend Prozessoren und Hunderte von Terabyte Arbeitsspeicher. Die Renderfarm berechnet die Arbeitskosten basierend auf der Größe der Quelldatei und der Renderzeit. Beispielsweise betragen die Kosten für einen Frame mit einer Auflösung von 1920 x 1080, dessen Rendern mit Standardgeräten 3 Stunden dauert, etwa 100 Rubel. Die Szene wird innerhalb von 8 Minuten gerendert.

Richtige Wahl

Die Antwort auf die Frage, wie man ein kleines und einfaches Objekt oder eine bildreiche animierte Präsentation einer Hüttensiedlung rendert, erfordert eine andere Herangehensweise. Im Fall von Selbstverwirklichung Für solche Arbeiten ist es notwendig, die erforderliche Software richtig auszuwählen und auf eine ausreichende Leistung der Computerausrüstung zu achten. In jedem Fall hängt der letzte Arbeitsschritt – das Rendern – davon ab, ob Sie mit dem Endergebnis zufrieden sind.

"itemprop="bild">

In Fortsetzung des Bildungsprogramms zur Computergrafik für Programmierer und Künstler möchte ich über was sprechen Wiedergabe. Die Frage ist nicht so kompliziert, wie es scheint, unter dem Schnitt befindet sich eine detaillierte und zugängliche Erklärung!

Ich fing an, Artikel zu schreiben, die ein Bildungsprogramm für einen Spieleentwickler sind. Und er beeilte sich und schrieb einen Artikel darüber, ohne zu sagen, was Rendering ist. Daher wird dieser Artikel ein Prequel zu einer Einführung in Shader und ein Ausgangspunkt in unserem Schulungsprogramm sein.

Was ist Rendern? (für Programmierer)

Daher gibt Wikipedia die folgende Definition: Rendering ist ein Begriff in der Computergrafik, der sich auf den Prozess bezieht, ein Bild von einem Modell mithilfe eines Computerprogramms zu erhalten.

Ziemlich gute Definition, machen wir weiter. Rendering ist Visualisierung. In der Computergrafik verstehen sowohl 3D-Künstler als auch Programmierer das Rendern als die Erstellung eines flachen Bildes - eines digitalen Bitmap-Bildes aus einer 3D-Szene.
Das heißt, eine informelle Antwort auf unsere Frage "Was ist Rendern?" - Dies ist ein 2D-Bild (egal ob auf dem Bildschirm oder in der Datei). UND Computer Programm, das Rendering erzeugt, wird als Renderer (engl. render) oder Renderer (engl. renderer) bezeichnet.

Machen

Das Wort „Rendern“ wiederum bezieht sich meistens auf das Ergebnis des Renderns. Aber manchmal wird der Vorgang auch gleich genannt (nur im Englischen wurde das Verb - render ins Russische übertragen, es ist kürzer und bequemer). Wahrscheinlich sind Sie im Internet auf verschiedene Bilder mit der Überschrift „Erraten Sie das Rendering oder Foto?“ gestoßen. Das bedeutet eine 3D-Visualisierung oder ein echtes Foto (so Computergrafik fortgeschritten, dass Sie es manchmal nicht herausfinden können).

Arten des Renderns

Abhängig von der Möglichkeit, Berechnungen parallel durchzuführen, gibt es:

  • Multithreaded Rendering - Berechnungen werden parallel in mehreren Threads auf mehreren Prozessorkernen durchgeführt,
  • Single-Threaded Rendering - in diesem Fall werden die Berechnungen in einem Thread synchron durchgeführt.

Es gibt viele Rendering-Algorithmen, aber alle können nach dem Prinzip der Bildgewinnung in zwei Gruppen eingeteilt werden: Rasterung von 3D-Modellen und Raytracing. Beide Methoden werden in Videospielen verwendet. Raytracing wird jedoch häufiger verwendet, um keine Echtzeitbilder zu erhalten, sondern um sogenannte Lightmaps zu erstellen - Lichtkarten, die zur Entwurfszeit vorberechnet werden, und dann werden die Vorberechnungsergebnisse zur Laufzeit verwendet.

Was ist die Essenz der Methoden? Wie funktionieren Rasterung und Raytracing? Beginnen wir mit der Rasterung.

Rasterung eines polygonalen Modells

Die Bühne besteht aus Modellen, die sich darauf befinden. Jedes Modell wiederum besteht aus Primitives.
Es können Punkte, Segmente, Dreiecke und einige andere Primitive sein, wie zum Beispiel Quads. Aber wenn wir keine Punkte oder Segmente rendern, verwandeln sich alle Primitiven in Dreiecke.

Die Aufgabe des Rasterizers (das Programm, das die Rasterung durchführt) besteht darin, die Pixel des resultierenden Bildes aus diesen Grundelementen zu erhalten. Die Rasterung im Kontext der Grafikpipeline erfolgt nach dem Vertex-Shader und vor dem Fragment-Shader ().

* Vielleicht wird der nächste Artikel die Analyse der Grafikpipeline sein, die ich versprochen habe. Schreiben Sie in die Kommentare, ob eine solche Analyse erforderlich ist. Es wird für mich angenehm und nützlich sein zu wissen, wie viele Menschen sich für all dies interessieren. Ich habe eine separate Seite erstellt, auf der es eine Liste der diskutierten und zukünftigen Themen gibt -

Im Fall eines Segments müssen Sie die Pixel der Linie erhalten, die zwei Punkte verbindet, im Fall eines Dreiecks die Pixel, die sich darin befinden. Für das erste Problem wird der Bresenham-Algorithmus verwendet, für das zweite kann der Algorithmus zum Überstreichen von geraden Linien oder zum Überprüfen baryzentrischer Koordinaten verwendet werden.

Ein komplexes Zeichenmodell besteht aus kleinsten Dreiecken und der Rasterizer generiert daraus ein absolut zuverlässiges Bild. Warum sich dann mit Raytracing beschäftigen? Warum nicht alles rastern? Und der Punkt ist der, der Rasterizer kennt nur sein Routinegeschäft, Dreiecke - in Pixel. Es weiß nichts über die Objekte neben dem Dreieck.

Und das bedeutet, dass er nicht alle physikalischen Prozesse berücksichtigen kann, die in der realen Welt auftreten. Diese Prozesse wirken sich direkt auf das Bild aus. Reflexionen, Reflexe, Schatten, Streuung unter der Oberfläche und mehr! Alles ohne das wir nur Plastikmodelle im Vakuum sehen werden ...
Und die Spieler wollen Graphony! Spieler brauchen Fotorealismus!

Und Grafikprogrammierer müssen verschiedene Techniken erfinden, um dem Fotorealismus nahe zu kommen. Dazu verwenden Shader-Programme Texturen, die unterschiedliche Licht-, Reflexions-, Schatten- und Streuungsdaten unter der Oberfläche vorberechnen.

Raytracing wiederum ermöglicht es, diese Daten zu berechnen, allerdings auf Kosten von mehr Rechenzeit, die zur Laufzeit nicht möglich ist. Mal sehen, was diese Methode ist.

Raytracing Raytracing)

Erinnern Sie sich an den Korpuskularwellen-Dualismus? Lassen Sie mich Sie daran erinnern, was das Wesentliche ist: Licht verhält sich sowohl als Welle als auch als Strom von Teilchen - Photonen. Tracing (von englisch „trace“, den Weg nachzeichnen) ist also, grob gesagt, eine Simulation von Lichtstrahlen. Aber jeden Lichtstrahl in der Szene zu verfolgen ist unpraktisch und dauert unannehmbar lange.

Wir beschränken uns auf eine relativ kleine Anzahl und verfolgen die Strahlen in die Richtungen, die wir brauchen.
Welche Richtung brauchen wir? Wir müssen bestimmen, welche Farben die Pixel im resultierenden Bild haben werden. Das heißt, wir kennen die Anzahl der Strahlen, sie ist gleich der Anzahl der Pixel im Bild.

Was ist mit der Richtung? Ganz einfach, wir werden Strahlen entsprechend dem Blickwinkel verfolgen (wie unsere virtuelle Kamera ausgerichtet ist). Der Strahl trifft irgendwann auf das Szenenobjekt (wenn er sich nicht trifft, dann gibt es beispielsweise ein dunkles Pixel oder ein Himmelspixel aus der Skybox).

Beim Auftreffen auf ein Objekt stoppt der Strahl nicht seine Ausbreitung, sondern wird in drei Teilstrahlen aufgeteilt, von denen jeder zur Farbe eines Pixels auf einem zweidimensionalen Bildschirm beiträgt: reflektiert, Schatten und gebrochen. Die Anzahl solcher Komponenten bestimmt die Tiefe der Nachzeichnung und beeinflusst die Qualität und den Fotorealismus des Bildes. Aufgrund seiner konzeptionellen Merkmale ermöglicht das Verfahren, sehr fotorealistische Bilder zu erhalten, jedoch nimmt der Rendering-Prozess aufgrund der hohen Ressourcenintensität eine erhebliche Zeit in Anspruch.

Rendering für Künstler

Aber Rendering ist nicht nur Software-Rendering! Kunstvolle Künstler verwenden es auch. Was ist also Rendering aus der Sicht eines Künstlers? Ungefähr dasselbe wie für Programmierer, nur Konzeptkünstler machen es selbst. Hände. Genau wie ein Renderer in einem Videospiel oder V-ray in Maya berücksichtigen Künstler Beleuchtung, Streuung unter der Oberfläche, Nebel und andere Faktoren, die die endgültige Farbe der Oberfläche beeinflussen.

Das obige Bild wird zum Beispiel in Stufen so ausgearbeitet: Grobskizze - Linie - Farbe - Volumen - Materialien rendern.

Das Rendern von Materialien umfasst Texturierung und Blendungsarbeiten – Metalle beispielsweise sind meistens sehr glatte Oberflächen, die an den Rändern deutliche Blendungen aufweisen. Darüber hinaus sind Künstler mit der Rasterung konfrontiert Vektorgrafiken, ist dies ungefähr dasselbe wie das Rastern eines 3D-Modells.

Rasterung von Vektorgrafiken

Die Essenz ist ungefähr gleich, es gibt Daten von 2D-Kurven, das sind die Konturen, die die Objekte definieren. Wir haben eine endgültige Bitmap und der Rasterizer wandelt die Kurvendaten in Pixel um. Danach haben wir keine Möglichkeit, das Bild ohne Qualitätsverlust zu skalieren.

Weiterlesen

  • - eine einfache Erklärung komplexer und unheimlicher Shader
  • - Eine nützliche Übersicht über Partikel und eine Auswahl an Video-Tutorials zum Erstellen von Spezialeffekten in Unity3d

Nachwort

Ich hoffe, Sie haben in diesem Artikel so viele Buchstaben gemeistert, dass Sie eine Vorstellung davon bekommen haben, was Rendering ist, welche Arten von Rendering es gibt. Wenn Sie Fragen haben, können Sie diese gerne in den Kommentaren stellen, ich werde sie auf jeden Fall beantworten. Für Klarstellungen und Hinweise auf eventuelle Ungenauigkeiten und Fehler wäre ich dankbar.

  • 1968 Strahlenwerfen(Appel, A. (1968). Einige Techniken zum Schattieren von maschinellen Renderings von Festkörpern. Tagungsband der Spring Joint Computer Conference 32 , 37-49.)
  • 1970 Scan-Line-Algorithmus(Bouknight, W. J. (1970). Ein Verfahren zur Erzeugung von dreidimensionalen Halbton-Computergraphikpräsentationen. Mitteilungen der ACM)
  • 1971 Gouraud-Schattierung(Gouraud, H. (1971). Computeranzeige gekrümmter Oberflächen. IEEE-Transaktionen auf Computern 20 (6), 623-629.)
  • 1974 Textur-Mapping Doktorarbeit, Universität von Utah.)
  • 1974 Z-Puffer(Catmull, E. (1974). Ein Unterteilungsalgorithmus für die Computeranzeige gekrümmter Oberflächen. Doktorarbeit)
  • 1975 Phong-Schattierung(Phong, B-T. (1975). Beleuchtung für computergenerierte Bilder. Mitteilungen der ACM 18 (6), 311-316.)
  • 1976 Umgebungskartierung(Blinn, J. F., Newell, M. E. (1976). Textur und Reflexion in computererzeugten Bildern. Mitteilungen der ACM 19 , 542-546.)
  • 1977 Schattenvolumen(Crow, F.C. (1977). Schattenalgorithmen für Computergrafiken. Computergrafik (Proceedings of SIGGRAPH 1977) 11 (2), 242-248.)
  • 1978 Schattenpuffer(Williams, L. (1978). Werfen gekrümmter Schatten auf gekrümmte Oberflächen. 12 (3), 270-274.)
  • 1978 Bump-Mapping(Blinn, J. F. (1978). Simulation von zerknitterten Oberflächen. Computergrafik (Proceedings of SIGGRAPH 1978) 12 (3), 286-292.)
  • 1980 BSP-Bäume(Fuchs, H. Kedem, Z.M. Naylor, B.F. (1980). Auf sichtbarer Oberflächenerzeugung durch a priori Baumstrukturen. Computergrafik (Proceedings of SIGGRAPH 1980) 14 (3), 124-133.)
  • 1980 Raytracing(Whitted, T. (1980). Ein verbessertes Beleuchtungsmodell für schattierte Anzeige. Mitteilungen der ACM 23 (6), 343-349.)
  • 1981 Cook-Shader(Cook, R.L. Torrance, K.E. (1981). Ein Reflexionsmodell für Computergrafik. Computergrafik (Proceedings of SIGGRAPH 1981) 15 (3), 307-316.)
  • 1983 Mipmaps(Williams, L. (1983). Pyramidale Parametrik. Computergrafik (Proceedings of SIGGRAPH 1983) 17 (3), 1-11.)
  • 1984 Octree-Raytracing(Glassner, A.S. (1984). Raumunterteilung für schnelles Raytracing. 4 (10), 15-22.)
  • 1984 Alpha-Compositing(Porter, T. Duff, T. (1984). Compositing digital images. 18 (3), 253-259.)
  • 1984 Verteiltes Raytracing(Cook, R.L. Porter, T. Carpenter, L. (1984). Distributed Raytracing. Computergrafik (Proceedings of SIGGRAPH 1984) 18 (3), 137-145.)
  • 1984 Radiosität(Goral, C. Torrance, K.E. Greenberg, D.P. Battaile, B. (1984). Modellierung der Wechselwirkung von Licht zwischen diffusen Oberflächen. Computergrafik (Proceedings of SIGGRAPH 1984) 18 (3), 213-222.)
  • 1985 Halbwürfel-Radiosität(Cohen, M.F. Greenberg, D.P. (1985). Der Halbwürfel: eine Radiosity-Lösung für komplexe Umgebungen. Computergrafik (Proceedings of SIGGRAPH 1985) 19 (3), 31-40.)
  • 1986 Lichtquellenverfolgung(Arvo, J. (1986). Rückwärts-Raytracing. Kursnotizen zu SIGGRAPH 1986 Entwicklungen in der Strahlverfolgung)
  • 1986 Rendering-Gleichung(Kajiya, J. T. (1986). The rendering equation. Computergrafik (Proceedings of SIGGRAPH 1986) 20 (4), 143-150.)
  • 1987 Reyes-Algorithmus(Cook, R.L. Carpenter, L. Catmull, E. (1987). The reyes image rendering architecture. Computergrafik (Proceedings of SIGGRAPH 1987) 21 (4), 95-102.)
  • 1991 Hierarchische Radiosität(Hanrahan, P. Salzman, D. Aupperle, L. (1991). Ein schneller hierarchischer Radiosity-Algorithmus. Computergrafik (Proceedings of SIGGRAPH 1991) 25 (4), 197-206.)
  • 1993 Ton-Mapping(Tumblin, J. Rushmeier, H.E. (1993). Tonreproduktion für realistische computergenerierte Bilder. IEEE-Computergrafik und -anwendungen 13 (6), 42-48.)
  • 1993 Streuung unter der Oberfläche(Hanrahan, P. Krueger, W. (1993). Reflexion von geschichteten Oberflächen aufgrund von Streuung unter der Oberfläche. Computergrafik (Proceedings of SIGGRAPH 1993) 27 (), 165-174.)
  • 1995 Photonen-Mapping(Jensen, H.J. Christensen, N.J. (1995). Photonenkarten in bidirektionaler Monte-Carlo-Strahlenverfolgung komplexer Objekte. Computer & Grafik 19 (2), 215-224.)
  • Wikipedia Lesen Sie mehr