Skybox: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (=Beispiel=)
K (Trennlinien entfernt)
Zeile 1: Zeile 1:
 
== Konzept ==
 
== Konzept ==
----
 
 
Das Wort Sky kommt aus dem Englischen und bedeutet Himmel. Skyboxen werden verwendet, um die Umgebung in 3D-Szenen darzustellen. Dazu zählen z.B. Landschaften im Hintergrund sowie Sonne, Himmel und Wolken. Da diese Orte nur als Kulisse dienen und für den Programmablauf meist ohne Bedeutung sind, verwendet man für deren Darstellung einfache [[Texturen]].<br>
 
Das Wort Sky kommt aus dem Englischen und bedeutet Himmel. Skyboxen werden verwendet, um die Umgebung in 3D-Szenen darzustellen. Dazu zählen z.B. Landschaften im Hintergrund sowie Sonne, Himmel und Wolken. Da diese Orte nur als Kulisse dienen und für den Programmablauf meist ohne Bedeutung sind, verwendet man für deren Darstellung einfache [[Texturen]].<br>
 
Sobald man sich in einer Szene jedoch frei bewegen kann, entstehen mehrere Probleme.  
 
Sobald man sich in einer Szene jedoch frei bewegen kann, entstehen mehrere Probleme.  
Zeile 17: Zeile 16:
 
<br>
 
<br>
 
== Beispiel ==
 
== Beispiel ==
----
 
 
[[Bild:Skybox.jpg]]<br>
 
[[Bild:Skybox.jpg]]<br>
 
Obiges Beispiel zeigt alle sechs Seiten die für eine statische Skybox benötigt werden, inklusive ihrer entsprechenden Koordinatenachsen.
 
Obiges Beispiel zeigt alle sechs Seiten die für eine statische Skybox benötigt werden, inklusive ihrer entsprechenden Koordinatenachsen.
Zeile 24: Zeile 22:
  
 
== Siehe auch ==
 
== Siehe auch ==
----
 
 
[[Skysphere]], [[Skydome]]
 
[[Skysphere]], [[Skydome]]
  
 
<br>
 
<br>
 
== Weiterführende Links ==
 
== Weiterführende Links ==
----
 
 
[http://www.delphigl.de/tutorials/skybox_de.html Skybox Tutorial (Erstellung und Nutzung)]
 
[http://www.delphigl.de/tutorials/skybox_de.html Skybox Tutorial (Erstellung und Nutzung)]

Version vom 16. August 2004, 00:42 Uhr

Konzept

Das Wort Sky kommt aus dem Englischen und bedeutet Himmel. Skyboxen werden verwendet, um die Umgebung in 3D-Szenen darzustellen. Dazu zählen z.B. Landschaften im Hintergrund sowie Sonne, Himmel und Wolken. Da diese Orte nur als Kulisse dienen und für den Programmablauf meist ohne Bedeutung sind, verwendet man für deren Darstellung einfache Texturen.
Sobald man sich in einer Szene jedoch frei bewegen kann, entstehen mehrere Probleme.

  1. Zum einen müssen die Texturen so an einander gefügt werden, dass man den Trick nicht durchschaut und erkennt, dass es sich lediglich um Texturen handelt,
  2. zum anderen muss sich die Textur stets in gleicher Entfernung vom Beobachter befinden, damit man sich ihr nicht nähern kann.
  3. Obendrein darf die Textur jedoch andere Szenenteile, die erreichbar sind, nicht verdecken.

Im Prinzip ist das Problem recht leicht zu lösen.
Für die Darstellung der Umgebung nutzt man einen einfachen Würfel (=Skybox), dessen 6 Seiten mit jeweils einer Textur versehen werden, wobei jede Seite des Würfels einen Umgebungsausschnitt mit einem Projektivwinkel von 90°C zeigt, um so quasi ein Panorame der Umgebung zu bilden. Auf die Oberseite projiziert man den Himmel und an die Unterseite den Boden. Die 4 anderen Seiten stehen für die jeweiligen Himmelsrichtungen. Wenn man nun die Skybox zuerst zeichnet und anschließend den Depthbuffer löscht, erreicht man, dass die Skybox anschließend immer an den Stellen verdeckt wird, wo sich noch andere Fragmente der Szene befinden. Dies ist logisch, da gegenüber den Fragmenten der Skybox, die bereits im Framebuffer stehen, alle anderen Fragmente den Tiefentest bestehen.

Eine Skybox erhält noch wesentlich mehr Realismus, wenn man sie durch dynamische Effekte, wie z.B. Wolken, die sich bewegen oder eine Sonne, die auf- und untergeht, erweitert.

Skyboxen können mit verschiedenen Programmen wie z.B. [[1]] erzeugt werden.


Beispiel

Skybox.jpg
Obiges Beispiel zeigt alle sechs Seiten die für eine statische Skybox benötigt werden, inklusive ihrer entsprechenden Koordinatenachsen.


Siehe auch

Skysphere, Skydome


Weiterführende Links

Skybox Tutorial (Erstellung und Nutzung)