R: Unterschied zwischen den Versionen
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | == Reflexion == | |
Zeile 6: | Zeile 6: | ||
Bei hochglänzenden Oberflächen (also gegenüber der Wellenlänge kleinen Rauigkeitsstrukturen) gehorcht das auf der Oberfläche reflektierte Licht dem Reflexionsgesetz, wobei die Intensität des reflektierten Lichtes abhängig ist vom Einstrahlwinkel und den Materialeigenschaften. Das Reflexionsgesetz besagt, dass der Ausfallwinkel (auch Reflexionswinkel) genau so groß wie der Einfallswinkel ist α = β, und beide mit dem Lot in einer Ebene, der Einfallsebene, liegen. | Bei hochglänzenden Oberflächen (also gegenüber der Wellenlänge kleinen Rauigkeitsstrukturen) gehorcht das auf der Oberfläche reflektierte Licht dem Reflexionsgesetz, wobei die Intensität des reflektierten Lichtes abhängig ist vom Einstrahlwinkel und den Materialeigenschaften. Das Reflexionsgesetz besagt, dass der Ausfallwinkel (auch Reflexionswinkel) genau so groß wie der Einfallswinkel ist α = β, und beide mit dem Lot in einer Ebene, der Einfallsebene, liegen. | ||
− | [[Datei:reflexionswinkel.gif]] | + | <center>[[Datei:reflexionswinkel.gif]]</center> |
Der Eindruck von Farbe wird dadurch vermittelt, dass ein Teil des eingestrahlten Lichtes in die Schicht eindringt, dort diffus gestreut und je nach Farbton absorbiert wird. | Der Eindruck von Farbe wird dadurch vermittelt, dass ein Teil des eingestrahlten Lichtes in die Schicht eindringt, dort diffus gestreut und je nach Farbton absorbiert wird. | ||
Zeile 19: | Zeile 19: | ||
− | + | == Rendering == | |
− | + | <b>Rendering,</b> auch Bildsynthese (Berechnen) bezeichnet in der Computergrafik die <b>''Erzeugung eines Bildes aus Rohdaten''</b> (auch Szene genannt). Eine Szene ist ein virtuelles räumliches Modell, das Objekte und deren [[M|Materialeigenschaften]], Lichtquellen, sowie die Position und Blickrichtung eines Betrachters definiert. Computerprogramme zum Rendern von Bildern werden Renderer genannt, daher ist auch Home-Nostruktor, als auch EEP (sei es in welcher Version) ein Echtzeitrenderer. Beim Rendern müssen üblicherweise folgende Aufgaben gelöst werden:<br> | |
− | |||
− | |||
− | <b>Rendering,</b> auch Bildsynthese (Berechnen) bezeichnet in der Computergrafik die <b>''Erzeugung eines Bildes aus Rohdaten''</b> (auch Szene genannt). Eine Szene ist ein virtuelles räumliches Modell, das Objekte und deren [[Materialeigenschaften]], Lichtquellen, sowie die Position und Blickrichtung eines Betrachters definiert. Computerprogramme zum Rendern von Bildern werden Renderer genannt, daher ist auch Home-Nostruktor, als auch EEP (sei es in welcher Version) ein Echtzeitrenderer. Beim Rendern müssen üblicherweise folgende Aufgaben gelöst werden:<br> | ||
::•die Ermittlung der vom virtuellen Betrachter aus sichtbaren Objekte (Verdeckungsberechnung)<br> | ::•die Ermittlung der vom virtuellen Betrachter aus sichtbaren Objekte (Verdeckungsberechnung)<br> | ||
::•die Simulation des Aussehens von Oberflächen, beeinflusst durch deren Materialeigenschaften (Shading)<br> | ::•die Simulation des Aussehens von Oberflächen, beeinflusst durch deren Materialeigenschaften (Shading)<br> | ||
Zeile 32: | Zeile 29: | ||
Daneben erfordert die Erzeugung von Computeranimationen einige zusätzliche 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 Bildqualität oder physikalische Korrektheit Wert gelegt, während die benötigte Rechenzeit eine untergeordnete Rolle spielt. | Daneben erfordert die Erzeugung von Computeranimationen einige zusätzliche 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 Bildqualität oder physikalische Korrektheit Wert gelegt, während die benötigte Rechenzeit eine untergeordnete Rolle spielt. | ||
− | Beim Echtzeitrendern wird eine Reihe von Bildern schnell berechnet und die zugrundeliegende Szene vom Anwender interaktiv verändert. Die Berechnung erfolgt ausreichend schnell, dass die Bildfolge als dynamischer Prozess empfunden wird. Ab einer Bildfrequenz von etwa 6 FPS ist eine interaktive Benutzung möglich, bei [[16 FPS]] lässt sich mit Sicherheit von Echtzeit sprechen. Auf modernen Computern wird das Echtzeitrendern durch Hardwarebeschleunigung mittels Grafikkarten unterstützt. Mit wenigen Ausnahmen unterstützt Grafikhardware nur Punkte, Linien und Dreiecke als grafische Grundobjekte. | + | Beim Echtzeitrendern wird eine Reihe von Bildern schnell berechnet und die zugrundeliegende Szene vom Anwender interaktiv verändert. Die Berechnung erfolgt ausreichend schnell, dass die Bildfolge als dynamischer Prozess empfunden wird. Ab einer Bildfrequenz von etwa 6 FPS ist eine interaktive Benutzung möglich, bei [[F|16 FPS]] lässt sich mit Sicherheit von Echtzeit sprechen. Auf modernen Computern wird das Echtzeitrendern durch Hardwarebeschleunigung mittels Grafikkarten unterstützt. Mit wenigen Ausnahmen unterstützt Grafikhardware nur Punkte, Linien und Dreiecke als grafische Grundobjekte. |
− | |||
− | |||
+ | == Rendering-Pipeline == | ||
− | |||
− | + | Rendering-Pipeline oder einfach Grafikpipeline beschreibt in der Computertechnik den <b>''Weg von der vektoriellen, mathematischen Beschreibung einer Szene zum gerasterten Bild auf dem Monitor''</b>. Da diese Schritte sowohl von der Soft- und Hardware als auch von den gewünschten Darstellungseigenschaften abhängen, gibt es keine allgemein gültige Grafikpipeline. Der Vorteil von Pipelines besteht in der starken Steigerung der Verarbeitungsgeschwindigkeit. Der Nachteil besteht gerade darin, dass sich sehr viele Befehle gleichzeitig in Bearbeitung befinden. <b>''Im Falle einer Pipeline-Unterbrechung müssen alle Befehle in der Pipeline verworfen und die Pipeline anschließend neu gefüllt werden''</b>. Dies bedarf des Nachladens von Befehlen aus dem Arbeitsspeicher oder dem Befehlscache der CPU/GPU, so dass sich hohe Latenzzeiten ergeben. Die Umsetzung, also der interne Aufbau eines 3D-Modells ist darüber entscheidend ob und wie oft eine Unterbrechung der Pipeline hervorgerufen und die zu berechnenden Modelldaten die Rendering-Pipeline erneut durchqueren, oder sie als fertig berechnetes Modell verlassen dürfen. Die Berechnung eines Modells innerhalb der [[Die sieben goldenen Regeln|Rendering-Pipeline kann in eine einfache Formel gefasst werden]]: | |
− | Rendering-Pipeline oder einfach Grafikpipeline beschreibt in der Computertechnik den <b>''Weg von der vektoriellen, mathematischen Beschreibung einer Szene zum gerasterten Bild auf dem Monitor''</b>. Da diese Schritte sowohl von der Soft- und Hardware als auch von den gewünschten Darstellungseigenschaften abhängen, gibt es keine allgemein gültige Grafikpipeline. Der Vorteil von Pipelines besteht in der starken Steigerung der Verarbeitungsgeschwindigkeit. Der Nachteil besteht gerade darin, dass sich sehr viele Befehle gleichzeitig in Bearbeitung befinden. <b>''Im Falle einer Pipeline-Unterbrechung müssen alle Befehle in der Pipeline verworfen und die Pipeline anschließend neu gefüllt werden''</b>. Dies bedarf des Nachladens von Befehlen aus dem Arbeitsspeicher oder dem Befehlscache der CPU/GPU, so dass sich hohe Latenzzeiten ergeben. Die Umsetzung, also der interne Aufbau eines 3D-Modells ist darüber entscheidend ob und wie oft eine Unterbrechung der Pipeline hervorgerufen und die zu berechnenden Modelldaten die Rendering-Pipeline erneut durchqueren, oder sie als fertig berechnetes Modell verlassen dürfen. Die Berechnung eines Modells innerhalb der [[Rendering-Pipeline kann in eine einfache Formel gefasst werden]]: | ||
<center><font color="red">(Anzahl RGD's) x (Anzahl Texturen) x (Anzahl Achsenmodelle) = Anzahl der Pipelinefüllungen</font></center> | <center><font color="red">(Anzahl RGD's) x (Anzahl Texturen) x (Anzahl Achsenmodelle) = Anzahl der Pipelinefüllungen</font></center> | ||
− | + | == RGD (Rendering Graphic Data) == | |
− | |||
− | |||
− | |||
− | |||
− | <b>RGD</b> (<b>R</b>endering <b>G</b>raphic <b>D</b>ata), frei übersetzt "berechnete Grafikdaten" könnte man auch trefflich als ein Konstrukt bezeichnen. Ein <b>''Konstrukt''</b> ist allgemein ein nicht empirisch erkennbarer Sachverhalt innerhalb einer wissenschaftlichen Theorie. Konstrukte sind somit gedanklicher bzw. theoretischer Natur. Das bedeutet nicht, dass der betreffende Sachverhalt nicht existiert, sondern nur, dass er aus anderen, messbaren Sachverhalten (Indikatoren) erschlossen wird, so auch die Konstrukte der 3D-Objekte. Der Definition eines Konstruktes folgend ist ein RGD ein berechnetes Grafikdatenpaket, das nicht unbedingt einem ganzen 3D-Objekt entspricht - auch wenn es vom Ansatz her grundsätzlich erstrebenswert ist. <b>''Ein RGD besteht immer aus den Konstruktionsdateien, die absolut identische Einstellungen besitzen''</b>, was z.B. das Face-Culling, die Ausleuchtung und das Z-Offset der Kon-Datei angeht. Sind die Einstellungen der *.kon-Dateien unterschiedlich, so entstehen (leider) mehrere RGD's, die der Anzahl der Unterschiede in den Einstellungen entsprechen. Haben Sie (was wir nicht hoffen, vielmehr hypothetisch annehmen) ein Objekt aus drei *.kon-Dateien erstellt, die allesamt unterschiedliche Einstellungen besitzen (z.B. Kon1 = Face-Culling Rückseite, Kon2 = kein Faceculling, Kon3 = Face-Culling Rückseite + Z-Offset), so entstehen in der Grafikkarte zugleich drei RGD's, also drei Grafikdatenpakete, obwohl sie alle in einer physikalischen Modelldatei gespeichert sind. Sicherlich werden Sie es nachvollziehen können, dass die "Handhabe" mit drei Datenpaketen wesentlich komplizierter und rechenintensiver ist, als mit einem, womit die Hauptdirektive beim Aufbau von 3D-Modellen lautet, so wenig RGD's zu "produzieren", wie nur möglich. <b>''Im optimalen Fall entspricht die Anzahl der RGD's der Anzahl der Objekte''</b>, was wie bereits beschrieben nur durch absolut identische Einstellungen aller *.kon-Dateien zu erzielen ist. Zu erwähnen bleibt, dass die Anzahl der RGD's eines Modells einen [[Multiplikator der Rendering-Pipeline]] bedeutet, was einen drastischen Einfluss auf die Performance eines Modells ausübt. | + | <b>RGD</b> (<b>R</b>endering <b>G</b>raphic <b>D</b>ata), frei übersetzt "berechnete Grafikdaten" könnte man auch trefflich als ein Konstrukt bezeichnen. Ein <b>''Konstrukt''</b> ist allgemein ein nicht empirisch erkennbarer Sachverhalt innerhalb einer wissenschaftlichen Theorie. Konstrukte sind somit gedanklicher bzw. theoretischer Natur. Das bedeutet nicht, dass der betreffende Sachverhalt nicht existiert, sondern nur, dass er aus anderen, messbaren Sachverhalten (Indikatoren) erschlossen wird, so auch die Konstrukte der 3D-Objekte. Der Definition eines Konstruktes folgend ist ein RGD ein berechnetes Grafikdatenpaket, das nicht unbedingt einem ganzen 3D-Objekt entspricht - auch wenn es vom Ansatz her grundsätzlich erstrebenswert ist. <b>''Ein RGD besteht immer aus den Konstruktionsdateien, die absolut identische Einstellungen besitzen''</b>, was z.B. das Face-Culling, die Ausleuchtung und das Z-Offset der Kon-Datei angeht. Sind die Einstellungen der *.kon-Dateien unterschiedlich, so entstehen (leider) mehrere RGD's, die der Anzahl der Unterschiede in den Einstellungen entsprechen. Haben Sie (was wir nicht hoffen, vielmehr hypothetisch annehmen) ein Objekt aus drei *.kon-Dateien erstellt, die allesamt unterschiedliche Einstellungen besitzen (z.B. Kon1 = Face-Culling Rückseite, Kon2 = kein Faceculling, Kon3 = Face-Culling Rückseite + Z-Offset), so entstehen in der Grafikkarte zugleich drei RGD's, also drei Grafikdatenpakete, obwohl sie alle in einer physikalischen Modelldatei gespeichert sind. Sicherlich werden Sie es nachvollziehen können, dass die "Handhabe" mit drei Datenpaketen wesentlich komplizierter und rechenintensiver ist, als mit einem, womit die Hauptdirektive beim Aufbau von 3D-Modellen lautet, so wenig RGD's zu "produzieren", wie nur möglich. <b>''Im optimalen Fall entspricht die Anzahl der RGD's der Anzahl der Objekte''</b>, was wie bereits beschrieben nur durch absolut identische Einstellungen aller *.kon-Dateien zu erzielen ist. Zu erwähnen bleibt, dass die Anzahl der RGD's eines Modells einen [[Die sieben goldenen Regeln|Multiplikator der Rendering-Pipeline]] bedeutet, was einen drastischen Einfluss auf die Performance eines Modells ausübt. |
[http://wiki.eepshopping.de/index.php?title=Hauptseite_EEP_Wiki&redirect=no Zurück zur Startseite] | [http://wiki.eepshopping.de/index.php?title=Hauptseite_EEP_Wiki&redirect=no Zurück zur Startseite] |
Aktuelle Version vom 24. März 2017, 10:12 Uhr
Inhaltsverzeichnis
Reflexion
Reflexion bezeichnet in der Physik das Zurückwerfen von Wellen, wie z.B. elektromagnetischen Wellen (darunter auch Lichtstrahlen), Schallwellen usw. Trifft Licht auf eine bestimmte Oberfläche, so kann es je nach deren Reflexionseigenschaften sowohl gerichtet als auch diffus reflektiert werden. Die photometrisch bestimmbare Verhältniszahl aus dem gerichtet und dem diffus reflektierten Anteil des auf eine Fläche fallenden Lichtstromes bezeichnet man als Glanz. Es ist allerdings zu berücksichtigen, dass Glanz keine rein physikalische, sondern auch eine physiologisch und psychologisch bedingte Größe ist.
Bei hochglänzenden Oberflächen (also gegenüber der Wellenlänge kleinen Rauigkeitsstrukturen) gehorcht das auf der Oberfläche reflektierte Licht dem Reflexionsgesetz, wobei die Intensität des reflektierten Lichtes abhängig ist vom Einstrahlwinkel und den Materialeigenschaften. Das Reflexionsgesetz besagt, dass der Ausfallwinkel (auch Reflexionswinkel) genau so groß wie der Einfallswinkel ist α = β, und beide mit dem Lot in einer Ebene, der Einfallsebene, liegen.
Der Eindruck von Farbe wird dadurch vermittelt, dass ein Teil des eingestrahlten Lichtes in die Schicht eindringt, dort diffus gestreut und je nach Farbton absorbiert wird.
Wird der überwiegende Teil des Lichtes in die Hauptreflexionsrichtung reflektiert und ein geringer Anteil nahe der Hauptreflexion diffus gestreut, so erscheint die Oberfläche zwar als glänzend, wird jedoch nicht als klar, sondern als trübe beurteilt.
An rauen Oberflächen wird die Strahlung diffus zurückgestreut und gehorcht dann näherungsweise dem lambertschen Strahlungsgesetz, das besagt, dass die Hauptrückstreuung senkrecht zum Material erfolgt, unabhängig von der Einstrahlungsrichtung. Je gleichförmiger die Intensität in alle Richtungen verteilt wird, desto matter empfinden wir die Oberfläche.
Die Summe gerichteter und diffuser Reflexion wird Remission genannt.
Beim Aufbau der Modelle ab EEP 7.0 müssen wir die Reflexion des Lichts unter den Kriterien der Materialbeschaffenheit betrachten, womit der Glanz (Specular Highlights) und das Abbild der Spiegelung die Hauptrolle spielen. Wichtig zunächst ist, dass obwohl Glanz und Spiegelung unter dem Oberbegriff der Reflexion zu verstehen sind, sie im Home-Nostruktor 8.0 weitestgehend getrennt voneinander gehandhabt werden und erst die gekonnte Einstellung der beiden Faktoren eine realistisch wirkende Oberfläche des Materials ergeben.
Rendering
Rendering, auch Bildsynthese (Berechnen) bezeichnet in der Computergrafik die Erzeugung eines Bildes aus Rohdaten (auch Szene genannt). Eine Szene ist ein virtuelles räumliches Modell, das Objekte und deren Materialeigenschaften, Lichtquellen, sowie die Position und Blickrichtung eines Betrachters definiert. Computerprogramme zum Rendern von Bildern werden Renderer genannt, daher ist auch Home-Nostruktor, als auch EEP (sei es in welcher Version) ein Echtzeitrenderer. Beim Rendern müssen üblicherweise folgende Aufgaben gelöst werden:
- •die Ermittlung der vom virtuellen Betrachter aus sichtbaren Objekte (Verdeckungsberechnung)
- •die Simulation des Aussehens von Oberflächen, beeinflusst durch deren Materialeigenschaften (Shading)
- •die Berechnung der Lichtverteilung innerhalb der Szene, die sich unter anderem durch die indirekte Beleuchtung zwischen Körpern äußert.
- •die Ermittlung der vom virtuellen Betrachter aus sichtbaren Objekte (Verdeckungsberechnung)
Daneben erfordert die Erzeugung von Computeranimationen einige zusätzliche 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 Bildqualität oder physikalische Korrektheit Wert gelegt, während die benötigte Rechenzeit eine untergeordnete Rolle spielt.
Beim Echtzeitrendern wird eine Reihe von Bildern schnell berechnet und die zugrundeliegende Szene vom Anwender interaktiv verändert. Die Berechnung erfolgt ausreichend schnell, dass die Bildfolge als dynamischer Prozess empfunden wird. Ab einer Bildfrequenz von etwa 6 FPS ist eine interaktive Benutzung möglich, bei 16 FPS lässt sich mit Sicherheit von Echtzeit sprechen. Auf modernen Computern wird das Echtzeitrendern durch Hardwarebeschleunigung mittels Grafikkarten unterstützt. Mit wenigen Ausnahmen unterstützt Grafikhardware nur Punkte, Linien und Dreiecke als grafische Grundobjekte.
Rendering-Pipeline
Rendering-Pipeline oder einfach Grafikpipeline beschreibt in der Computertechnik den Weg von der vektoriellen, mathematischen Beschreibung einer Szene zum gerasterten Bild auf dem Monitor. Da diese Schritte sowohl von der Soft- und Hardware als auch von den gewünschten Darstellungseigenschaften abhängen, gibt es keine allgemein gültige Grafikpipeline. Der Vorteil von Pipelines besteht in der starken Steigerung der Verarbeitungsgeschwindigkeit. Der Nachteil besteht gerade darin, dass sich sehr viele Befehle gleichzeitig in Bearbeitung befinden. Im Falle einer Pipeline-Unterbrechung müssen alle Befehle in der Pipeline verworfen und die Pipeline anschließend neu gefüllt werden. Dies bedarf des Nachladens von Befehlen aus dem Arbeitsspeicher oder dem Befehlscache der CPU/GPU, so dass sich hohe Latenzzeiten ergeben. Die Umsetzung, also der interne Aufbau eines 3D-Modells ist darüber entscheidend ob und wie oft eine Unterbrechung der Pipeline hervorgerufen und die zu berechnenden Modelldaten die Rendering-Pipeline erneut durchqueren, oder sie als fertig berechnetes Modell verlassen dürfen. Die Berechnung eines Modells innerhalb der Rendering-Pipeline kann in eine einfache Formel gefasst werden:
RGD (Rendering Graphic Data)
RGD (Rendering Graphic Data), frei übersetzt "berechnete Grafikdaten" könnte man auch trefflich als ein Konstrukt bezeichnen. Ein Konstrukt ist allgemein ein nicht empirisch erkennbarer Sachverhalt innerhalb einer wissenschaftlichen Theorie. Konstrukte sind somit gedanklicher bzw. theoretischer Natur. Das bedeutet nicht, dass der betreffende Sachverhalt nicht existiert, sondern nur, dass er aus anderen, messbaren Sachverhalten (Indikatoren) erschlossen wird, so auch die Konstrukte der 3D-Objekte. Der Definition eines Konstruktes folgend ist ein RGD ein berechnetes Grafikdatenpaket, das nicht unbedingt einem ganzen 3D-Objekt entspricht - auch wenn es vom Ansatz her grundsätzlich erstrebenswert ist. Ein RGD besteht immer aus den Konstruktionsdateien, die absolut identische Einstellungen besitzen, was z.B. das Face-Culling, die Ausleuchtung und das Z-Offset der Kon-Datei angeht. Sind die Einstellungen der *.kon-Dateien unterschiedlich, so entstehen (leider) mehrere RGD's, die der Anzahl der Unterschiede in den Einstellungen entsprechen. Haben Sie (was wir nicht hoffen, vielmehr hypothetisch annehmen) ein Objekt aus drei *.kon-Dateien erstellt, die allesamt unterschiedliche Einstellungen besitzen (z.B. Kon1 = Face-Culling Rückseite, Kon2 = kein Faceculling, Kon3 = Face-Culling Rückseite + Z-Offset), so entstehen in der Grafikkarte zugleich drei RGD's, also drei Grafikdatenpakete, obwohl sie alle in einer physikalischen Modelldatei gespeichert sind. Sicherlich werden Sie es nachvollziehen können, dass die "Handhabe" mit drei Datenpaketen wesentlich komplizierter und rechenintensiver ist, als mit einem, womit die Hauptdirektive beim Aufbau von 3D-Modellen lautet, so wenig RGD's zu "produzieren", wie nur möglich. Im optimalen Fall entspricht die Anzahl der RGD's der Anzahl der Objekte, was wie bereits beschrieben nur durch absolut identische Einstellungen aller *.kon-Dateien zu erzielen ist. Zu erwähnen bleibt, dass die Anzahl der RGD's eines Modells einen Multiplikator der Rendering-Pipeline bedeutet, was einen drastischen Einfluss auf die Performance eines Modells ausübt.