www.wikidata.de-de.nina.az
Bildsynthese oder Rendern von englisch to render deutsch etwas erbringen herausgeben leisten bezeichnet in der Computergrafik die Erzeugung eines Bildes aus Rohdaten Rohdaten konnen geometrische Beschreibungen im 2D oder 3D Raum auch Szene genannt HTML SVG etc sein Mit verschiedenen Methoden gerenderte 3D SzeneEine Szene ist ein virtuelles raumliches Modell das Objekte und deren Materialeigenschaften Lichtquellen sowie die Position und Blickrichtung eines Betrachters definiert Computerprogramme zum Rendern von Bildern werden Renderer genannt Unterschieden werden z B die Rendering Engine fur Computerspiele die HTML Renderer etc Beim Rendern mussen ublicherweise folgende Aufgaben gelost werden die Ermittlung der vom virtuellen Betrachter aus sichtbaren Objekte Verdeckungsberechnung die Simulation des Aussehens von Oberflachen beeinflusst durch deren Materialeigenschaften Shading die Berechnung der Lichtverteilung innerhalb der Szene die sich unter anderem durch die indirekte Beleuchtung zwischen Korpern aussert Daneben erfordert die Erzeugung von Computeranimationen einige zusatzliche Techniken Ein wichtiger Einsatzbereich ist die interaktive Synthese von Bildern in Echtzeit bei der meist Hardwarebeschleunigung zum Einsatz kommt Bei der realistischen Bildsynthese hingegen wird auf hohe Bildqualitat oder physikalische Korrektheit Wert gelegt wahrend die benotigte Rechenzeit eine untergeordnete Rolle spielt Ein gerendertes Bild mit Reflexions und ScharfentiefeneffektenInhaltsverzeichnis 1 Echtzeitrendern 1 1 Grafikpipeline 1 2 Grafik APIs 1 3 Historische Techniken 2 Shading und direkte Beleuchtung 2 1 Lichtquellen und Schatten 2 2 Lokale Beleuchtungsmodelle 2 3 Interpoliertes Shading 2 4 Mapping Techniken 3 Realistisches Rendern und globale Beleuchtung 3 1 Raytracing 3 2 Radiosity 4 Volumengrafik 5 Literatur 6 Weblinks 7 EinzelnachweiseEchtzeitrendern BearbeitenBeim Echtzeitrendern wird eine Reihe von Bildern schnell berechnet und die zugrundeliegende Szene vom Anwender interaktiv verandert Die Berechnung erfolgt ausreichend schnell so dass die Bildfolge als dynamischer Prozess empfunden wird Ab einer Bildfrequenz von etwa 6 fps ist eine interaktive Benutzung moglich bei 15 fps lasst sich mit Sicherheit von Echtzeit sprechen 1 Auf modernen Computern wird das Echtzeitrendern durch Hardwarebeschleunigung mittels Grafikkarten unterstutzt Mit wenigen Ausnahmen unterstutzt Grafikhardware nur Punkte Linien und Dreiecke als grafische Grundobjekte 2 Grafikpipeline Bearbeiten Hauptartikel Grafikpipeline Beim Echtzeitrendern beschreibt die Grafikpipeline den Weg von der Szene bis zum fertigen Bild Es handelt sich um eine Modellvorstellung die je nach System variieren kann Die Grafikpipeline ist oftmals in Teilen ahnlich wie Prozessorpipelines implementiert bei denen Berechnungen parallel ausgefuhrt werden Eine Grafikpipeline kann in drei grosse Schritte aufgeteilt werden Anwendung Geometrie und Rasterung 3 Der Anwendungsschritt nimmt alle Anderungen an der Szene vor die vom Anwender im Rahmen der Interaktion festgelegt werden und gibt sie an den nachsten Schritt der Pipeline weiter Daneben kommen hier Techniken wie Kollisionserkennung Animation Morphing und Beschleunigungsverfahren mittels raumlicher Unterteilungsschemata zum Einsatz nbsp Darstellung einer Szene mit virtuellem Betrachter und Sichtvolumen hellgrau das von den beiden Clippingebenen begrenzt wird Das Sichtvolumen wird im Zuge der Projektion in einen Wurfel transformiert sodass nahere Objekte grosser als weiter entfernte erscheinen Der Geometrieschritt ubernimmt einen Grossteil der Operationen mit den Vertices den Eckpunkten der Grundobjekte Er lasst sich in verschiedene Unterschritte aufteilen die nacheinander Transformationen in verschiedene Koordinatensysteme vornehmen Um die perspektivische Abbildung zu vereinfachen arbeiten fast alle geometrischen Operationen des Geometrieschrittes mit homogenen Koordinaten Dabei werden Punkte durch vier Koordinaten und Transformationen durch 4 4 Matrizen definiert Zunachst werden alle Grundobjekte der Szene so transformiert dass der virtuelle Beobachter entlang der z Tiefen achse blickt Falls die Szene Lichtquellen enthalt wird fur jeden Vertex anhand der Materialeigenschaften des entsprechenden Dreiecks eine Farbe berechnet Das vom Betrachter aus sichtbare Volumen der Szene ist ein Pyramidenstumpf Frustum Im nachsten Schritt wird dieses Frustum in einen Wurfel transformiert was einer Zentralprojektion entspricht Teilweise oder vollstandig ausserhalb des Sichtvolumens liegende Grundobjekte werden mittels Clipping und Culling Techniken beschnitten oder entfernt Schliesslich wird eine Transformation angewandt die die Vertex Koordinaten an den gewunschten Zeichenbereich des Bildschirms verschiebt Die z Koordinaten bleiben dabei weiter erhalten da sie fur die spatere Verdeckungsberechnung benotigt werden Im Rasterungsschritt werden alle verbleibenden projizierten Grundobjekte gerastert indem die zu ihnen gehorenden Pixel eingefarbt werden Da bei uberlappenden Dreiecken nur die sichtbaren Teile angezeigt werden sollen wird ein Z Buffer verwendet der die Verdeckungsberechnung ubernimmt Grafik APIs Bearbeiten Zur Ansteuerung von Grafikpipelines werden ublicherweise Grafik APIs verwendet die die Grafikhardware abstrahieren und dem Programmierer viele Aufgaben abnehmen Wesentlich zur Entwicklung des Echtzeitrenderns hat der ursprunglich von Silicon Graphics eingefuhrte Standard OpenGL beigetragen Die aktuellen Neuerungen von OpenGL und Microsofts DirectX finden hauptsachlich in modernen Computerspielen ihre Anwendung Ausser DirectX und OpenGL gab es noch andere Ansatze wie Glide die sich allerdings nicht durchsetzen konnten Im professionellen Bereich hat OpenGL grosse Bedeutung DirectX ist hingegen stark auf die Entwicklung von Spielen optimiert DirectX ist eine proprietare Software die nur unter Windows verfugbar ist sie ist kein offener Standard Historische Techniken Bearbeiten Siehe auch Geschichte der Computergrafik Die erste interaktive Technik zur Verdeckungsberechnung wurde 1969 von Schumacker und anderen veroffentlicht 4 Schumackers Algorithmus 5 diente der Flugsimulation fur die US Streitkrafte eine Anwendung bei der stets massiv in Grafikhardware investiert wurde In der Fruhzeit der Computerspiele mit interaktiver 3D Grafik wurden alle rechenaufwandigen Grafikoperationen noch vom Hauptprozessor des Rechners ubernommen Daher konnten nur sehr einfache und eingeschrankte Renderverfahren genutzt werden Der Ego Shooter Wolfenstein 3D 1992 etwa verwendete zur Verdeckungsberechnung Raycasting womit sich nur eine festgelegte Hohendimension und rechtwinklig aneinandergrenzende Raume darstellen liessen Doom kombinierte Raycasting mit zweidimensionalem Binary Space Partitioning um die Effizienz zusatzlich zu steigern und komplexere Szenen rendern zu konnen Shading und direkte Beleuchtung BearbeitenAls Shading dt Schattierung wird allgemein die Berechnung der Farben an Oberflachen anhand der zugehorigen Materialeigenschaften und dem direkt von den Lichtquellen eintreffenden Licht bezeichnet Das Shading kommt sowohl beim Echtzeitrendern als auch beim realistischen Rendern zum Einsatz Die indirekte Beleuchtung von anderen Oberflachen bleibt dabei zunachst unberucksichtigt Einen Spezialfall stellen nichtfotorealistische Shading Techniken Non photorealistic Rendering dar bei denen zum Beispiel aus asthetischen Grunden Verfremdungen erzeugt werden etwa Cel Shading fur comicahnliche Bilder Lichtquellen und Schatten Bearbeiten Bei der Modellierung sind verschiedene oft physikalisch nicht korrekte Arten von Lichtquellen ublich Directional Lights senden parallele Lichtstrahlen ohne Abschwachung in eine bestimmte Richtung Punktlichtquellen emittieren Licht in alle Richtungen und Spot Lights emittieren Licht nur in einem kegelformigen Bereich In Wirklichkeit besitzen Lichter eine bestimmte Flache die Lichtintensitat nimmt quadratisch mit der Entfernung ab Dies wird bei der realistischen Bildsynthese berucksichtigt wahrend beim Echtzeitrendern meistens nur einfache Lichtquellen verwendet werden Schatten sind ein wichtiges Element von Computergrafiken da sie dem Anwender Ruckschlusse uber die Platzierung von Objekten im Raum geben Weil Lichtquellen eine bestimmte Grosse haben wirken Schatten in Wirklichkeit mehr oder weniger verschwommen Dies wird bei realistischen Renderverfahren berucksichtigt Lokale Beleuchtungsmodelle Bearbeiten nbsp Lichtreflexion auf einer lambertschen ideal diffusen einer weniger rauen glanzenden und einer glatten spiegelnden OberflacheLokale Beleuchtungsmodelle beschreiben das Verhalten von Licht auf Oberflachen Wenn ein Lichtteilchen auf einen Korper trifft wird es entweder reflektiert absorbiert oder ausser bei Metallen ins Innere des Korpers gebrochen Nur auf ganz glatten Oberflachen wird eintreffendes Licht gespiegelt bei nichtmetallischen Korpern wird der relative Anteil des reflektierten und gebrochenen Lichtes durch die fresnelschen Formeln beschrieben Mikroskopische Unebenheiten fuhren dazu dass das Licht nicht gespiegelt wird sondern mit einer bestimmten Wahrscheinlichkeit in eine davon abweichende Richtung reflektiert wird Die Wahrscheinlichkeitsverteilung die dieses Verhalten fur ein Material beschreibt wird bidirektionale Reflektanzverteilungsfunktion BRDF genannt Lokale Beleuchtungsmodelle sind meist parametrierbare BRDFs Ideal diffuse Oberflachen lassen beispielsweise mit dem lambertschen Gesetz und glanzende Oberflachen mit den Phong Beleuchtungsmodell simulieren Beim Echtzeitrendern wird oft eine Kombination aus einem diffusen einem glanzenden und einem konstanten Faktor verwendet Fur die realistische Bildsynthese wurden weitere physikalisch plausiblere Modelle entwickelt Die BRDF geht davon aus dass das an einem Punkt der Oberflache eintreffende Licht auch genau dort wieder austritt In Wirklichkeit streuen nichtmetallische Korper Licht in ihrem Inneren wodurch sich ein weicheres Erscheinungsbild ergibt Die Simulation dieser Volumenstreuung ist vor allem fur die realistische Bildsynthese von Bedeutung Interpoliertes Shading Bearbeiten nbsp Ein Korper praziser ein Polyeder links mit Flat Shading rechts mit Gouraud Shading gerendert damit er wie eine Kugel oder ein Rotationsellipsoid aussieht Die Beschreibung des Korpers liegt als Drahtgittermodell vor denn relevant ist ausschliesslich Flache nicht das Volumen Eine echte Kugel liesse sich mit sehr viel weniger Parametern beschreiben Mittelpunkt Radius Stattdessen beschreibt man Oberflachen durch viele Vertices und verbindet diese jeweils mit Geraden untereinander Manche Modelle schreiben Dreiecke vor andere Vierecke Berechnungen werden auf diese Vertices angewandt Dieses Methode wird nicht nur in der Bildsynthese angewandt sondern z B auch bei Numerischen Simulationen FEM Beim Echtzeitrendern gibt es drei ubliche Methoden um die Beleuchtung eines Dreiecks zu berechnen Beim Flat Shading wird die Farbe fur ein Dreieck berechnet und das gesamte Dreieck mit dieser Farbe gefullt Dadurch werden die Facetten aus denen sich das Modell zusammensetzt deutlich sichtbar Das von den meisten Grafikkarten unterstutzte Gouraud Shading hingegen bestimmt die Farbe an jedem Eckpunkt eines Dreiecks sodass bei der Rasterung zwischen diesen Farbwerten interpoliert wird und sich ein weicheres Erscheinungsbild als beim Flat Shading ergibt Beim Phong Shading ist zusammen mit jedem Vertex die Normale an diesem Vertex verfugbar Bei der Rasterung wird zwischen den Normalen interpoliert und das lokale Beleuchtungsmodell entsprechend dieser Normalen berechnet Dieses Verfahren vermeidet einige Darstellungsprobleme des Gouraud Shading Mapping Techniken Bearbeiten nbsp Kugeln mit verschiedenen prozeduralen Texturen nbsp Bump Mapping zur Simulation von Oberflachenunebenheiten in der Mitte die verwendete Bump MapIm Normalfall werden lokale Beleuchtungsmodelle einheitlich auf ein gesamtes Objekt angewandt Mapping Techniken dienen der Simulation von Oberflachendetails aufgrund von Farb oder Strukturvariationen Dabei werden die Material oder Geometrieeigenschaften an jedem Punkt der Oberflache anhand einer Funktion oder Rastergrafik variiert Viele Mapping Techniken werden auch von Grafikhardware unterstutzt Neben den im Folgenden aufgefuhrten Verfahren wurden viele weitere Mapping Techniken entwickelt Texture Mapping ist die alteste Mapping Technik und dient dazu ein zweidimensionales Bild Textur auf einer Oberflache abzubilden oder sie damit zu bekleben Neben Rastergrafiken werden auch prozedurale Texturen verwendet bei denen die Farbe an einem Punkt durch eine mathematische Funktion bestimmt wird Bei der Bestimmung eines Farbwertes sind verschiedene Filtermethoden moglich Auf Grafikhardware ist Mip Mapping gebrauchlich bei dem aus Effizienzgrunden die Textur in verschiedenen Bildauflosungen vorliegt Bumpmapping dient der Simulation von Oberflachenunebenheiten Dabei werden die tatsachlichen Normalenvektoren an der Oberflache durch eine Bump Map gestort Die Geometrie eines Objekts wird dadurch allerdings nicht beeinflusst Displacement Mapping dient ebenfalls der Simulation von Oberflachenunebenheiten im Gegensatz zu Bump Mapping wird jedoch die Oberflachengeometrie tatsachlich verandert Da dafur meist nicht ausreichend Vertices zur Verfugung stehen werden zusatzliche Oberflachenpunkte eingefugt die entsprechend einem Hohenfeld verschoben werden Environment Mapping oder Reflection Mapping dient der Simulation von Spiegelungseffekten beim Echtzeitrendern Dazu wird vom Betrachter ein Strahl zum reflektierenden Objekt ausgesendet und reflektiert Im Gegensatz zum Raytracing siehe unten wird nicht der Schnittpunkt des reflektierten Strahls mit der am nachsten liegenden Oberflache berechnet Stattdessen wird anhand der Richtung des Strahls der Farbwert aus einem vorausberechneten Bild der Szene ermittelt Realistisches Rendern und globale Beleuchtung BearbeitenWie realistisch ein gerendertes Bild wirkt hangt massgeblich davon ab inwieweit die Verteilung des Lichts innerhalb der Szene berechnet wurde Wahrend beim Shading nur die direkte Beleuchtung berechnet wird spielt bei der indirekten Beleuchtung die Reflexion von Licht zwischen Objekten eine Rolle Dadurch werden Effekte wie Raume die nur durch einen schmalen Lichtspalt insgesamt erhellt werden moglich Die Lichtpfadnotation wird dazu verwendet um die Fahigkeiten eines Renderalgorithmus bezuglich der Simulation der Beleuchtung anzugeben Werden alle Arten der Lichtreflexion berucksichtigt so spricht man von globaler Beleuchtung Sie muss fur ein realistisches Ergebnis berucksichtigt werden und ist bei Echtzeitverfahren nicht oder nur sehr eingeschrankt moglich Mathematisch wird die globale Beleuchtung durch die Rendergleichung beschrieben die anhand von radiometrischen Grossen angibt wie viel Licht einen Oberflachenpunkt von einem anderen Oberflachenpunkt aus nach einer Reflexion erreicht Die Rendergleichung lasst sich mit Raytracing fur Spezialfalle auch mit Radiosity berechnen Neben diesen beiden grossen Techniken zur realistischen Bildsynthese werden vor allem in der Filmtechnik Varianten des REYES Systems verwendet Raytracing Bearbeiten nbsp Mit Raytracing berechnetes Bild Lichtspiegelungen und brechungen sind mit Raytracing vergleichsweise einfach moglich Raytracing ist in erster Linie ein Algorithmus zur Verdeckungsberechnung der auf der perspektivischen Aussendung von Strahlen vom Beobachter aus basiert Jeder Strahl wird gegen alle Grundobjekte auf einen Schnittpunkt getestet und gegebenenfalls die Entfernung zu diesen Objekten berechnet Das sichtbare Objekt ist dasjenige mit der geringsten Entfernung In erweiterten Formen kann Raytracing auch Lichtreflexionen und brechungen simulieren Um die globale Beleuchtung mittels Raytracing zu berechnen muss die an diesem Pixel eintreffende Lichtstarke mit Hilfe der Rendergleichung ermittelt werden Dies geschieht mittels einer Monte Carlo Simulation bei der viele Lichtstrahlen zufallig an den Oberflachen ausgesandt werden Derartige Raytracing Techniken nennt man Monte Carlo Raytracing das einfachste dieser Verfahren ist Path Tracing Diese Algorithmen sind vergleichsweise zeitaufwandig bei Szenen mit komplizierten Lichtverhaltnissen und unterschiedlichen Materialien jedoch die einzige Moglichkeit Bei geeigneter Implementierung liefern sie ausserdem erwartungstreue Bilder Das bedeutet dass das Bildrauschen die einzige Abweichung zur korrekten vollstandig konvergierten Losung darstellt Photon Mapping wird dazu eingesetzt die Berechnung der Lichtverteilung mittels Raytracing zu beschleunigen kann aber zu sichtbaren Bildfehlern Artefakten fuhren Radiosity Bearbeiten nbsp Eine mit Radiosity gerenderte Szene mit direkt und indirekt beleuchteten ideal diffusen FlachenDer Radiosity Algorithmus ist in seiner Grundform nur auf ideal diffuse Flachen anwendbar und basiert auf der Unterteilung der Oberflachen in kleine Teilflachen Patches Unter diesen Voraussetzungen lasst sich mit den Rendergleichungen fur jeden Patch ein lineares Gleichungssystem aufstellen das numerisch gelost wird Radiosity gehort damit zu den Finite Elemente Methoden Radiosity lasst sich zwar auf beliebige Materialien erweitern die Prazision ist jedoch durch die Zahl der Patches und die resultierenden Speicheranforderungen begrenzt Ein Vorteil gegenuber Raytracing ist dass die Lichtverteilung blickpunktunabhangig berechnet wird und die Verdeckungsberechnung nicht Teil des eigentlichen Radiosity Algorithmus ist Dadurch eignet sich Radiosity besonders zum Rendern statischer oder wenig animierter Szenen in Echtzeit sofern eine zeitaufwandige Vorausberechnung vertretbar ist Volumengrafik Bearbeiten nbsp Mit den Mitteln der Volumengrafik gerendertes Bild eines SchadelsBei der Volumengrafik werden die zu rendernden Objekte nicht als Oberflachen beschrieben sondern als raumliche Datensatze in Form von Voxelgittern Voxelgitter enthalten gitterformig angeordnete Werte die die Dichte eines Objektes beschreiben Diese Form der Datenreprasentation ist besonders geeignet fur Objekte die keine klaren Umrisse haben etwa Wolken Zum Rendern von Voxelgittern sind besondere Techniken erforderlich Da zahlreiche bildgebende Verfahren Voxeldaten erzeugen ist die Volumengrafik auch fur die Medizin von Bedeutung Literatur BearbeitenTomas Akenine Moller Eric Haines Real Time Rendering AK Peters Natick Mass 2002 ISBN 15 6881 182 9 Webseite Philip Dutre u a Advanced Global Illumination AK Peters Natick Mass 2003 ISBN 15 6881 177 2 Webseite Andrew Glassner Principles of Digital Image Synthesis Morgan Kaufmann London 1995 ISBN 15 5860 276 3 Matt Pharr Greg Humphreys Physically Based Rendering From Theory to Implementation Morgan Kaufmann London 2004 ISBN 01 2553 180 X Webseite Ian Stephenson Production Rendering Design and Implementation Springer London 2005 ISBN 1 85233 821 0 Alan Watt 3D Computer Graphics Addison Wesley Harlow 2000 ISBN 0 201 39855 9Weblinks Bearbeiten nbsp Commons 3D Computergrafiken Album mit Bildern Videos und AudiodateienEinzelnachweise Bearbeiten Tomas Akenine Moller Eric Haines Real Time Rendering S 1 Tomas Akenine Moller Eric Haines Real Time Rendering S 7 Tomas Akenine Moller Eric Haines Real Time Rendering S 11 Ivan Sutherland u a A Characterization of Ten Hidden Surface Algorithms ACM Computing Surveys CSUR 6 1 March 1974 1 55 hier S 23 ISSN 0360 0300 R A Schumaker u a Study for Applying Computer Generated Images to Visual Simulation AFHRL TR 69 14 US Air Force Human Resources Laboratory 1969 Abgerufen von https de wikipedia org w index php title Bildsynthese amp oldid 235004440