Skysphere: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
()
K (Fixing typo)
 
(7 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Konzept ==
 
== Konzept ==
----
 
 
Ähnlich einer [[Skyboxen|Skybox]] wird eine '''Skysphere''' (Himmelskugel) dazu genutzt die Szene mit einer statischen Umgebung zu versehen, auf die man zwar nicht zugehen kann, die aber entsprechend des Betrachterblickwinkels mitrotiert wird. Dadurch entsteht dann die Illusion einer sehr weit in der Ferne befindlichen Landschaft/Umgebung, die für Szenen die draussen spielen eigentlich unverzichtbar ist.  
 
Ähnlich einer [[Skyboxen|Skybox]] wird eine '''Skysphere''' (Himmelskugel) dazu genutzt die Szene mit einer statischen Umgebung zu versehen, auf die man zwar nicht zugehen kann, die aber entsprechend des Betrachterblickwinkels mitrotiert wird. Dadurch entsteht dann die Illusion einer sehr weit in der Ferne befindlichen Landschaft/Umgebung, die für Szenen die draussen spielen eigentlich unverzichtbar ist.  
  
Technisch wird also in einem externen Programm (z.B. Corels Bryce) eine 360°C Panorama-Textur erzeugt, die die komplette Landschaft darstellt, und dann auf eine Kugel geklebt. Diese Kugel befindet sich permanent dort wo der Spieler ist (er kann ja auf diese statische Umgebung nicht zugehen), wird aber entsprechend seines Blickwinkels rotiert. So entsteht dann (je nachdem wie gut die Textur gelungen ist) die fast perfekte Illusion einer weit weg befindlichen, detailreichen Umgebung. Wie bei der [[Skyboxen|Skybox]] kann man auch hier einige dynamische Himmelskörper, wie Sonne, Mond oder Sterne einbringen, um diese Umgebung etwas dynamischer wirken zu lassen.
+
Technisch wird also in einem externen Programm (z.B. Corels Bryce) eine 360°-Panorama-Textur erzeugt, die die komplette Landschaft darstellt, und dann auf die Innenseite einer Kugel geklebt. Diese Kugel befindet sich permanent dort wo der Spieler ist (er kann ja auf diese statische Umgebung nicht zugehen), wird aber entsprechend seines Blickwinkels rotiert. So entsteht dann (je nachdem wie gut die Textur gelungen ist) die fast perfekte Illusion einer weit weg befindlichen, detailreichen Umgebung. Wie bei der [[Skyboxen|Skybox]] kann man auch hier einige dynamische Himmelskörper, wie Sonne, Mond oder Sterne einbringen, um diese Umgebung etwas dynamischer wirken zu lassen.
 
Im Normalfall wird die '''Himmelskugel''' als erstes Objekt gerendert, jedoch bei deaktiviertem Schreiben in den Tiefenpuffer (siehe [[glDepthMask]]), um zu verhindern dass diese andere Objekte verdeckt. Zusätzlich entfällt dann natürlich auch das Löschen des Farbpuffers, der ja permanent von der '''Himmelskugel''' komplett gefüllt wird.
 
Im Normalfall wird die '''Himmelskugel''' als erstes Objekt gerendert, jedoch bei deaktiviertem Schreiben in den Tiefenpuffer (siehe [[glDepthMask]]), um zu verhindern dass diese andere Objekte verdeckt. Zusätzlich entfällt dann natürlich auch das Löschen des Farbpuffers, der ja permanent von der '''Himmelskugel''' komplett gefüllt wird.
  
 
Eine Himmelskugel umgibt logischerweise die komplette Szene, also auch den Teil "unter" der eigentlichen Szene. Das ist in manchen Fällen brauchbar, aber wenn der Betrachter diesen Teil niemals sieht, dann reicht meist ein [[Skydome]] (Himmelskuppel), die nur den oberen Teil einer Himmelskugel darstellt.
 
Eine Himmelskugel umgibt logischerweise die komplette Szene, also auch den Teil "unter" der eigentlichen Szene. Das ist in manchen Fällen brauchbar, aber wenn der Betrachter diesen Teil niemals sieht, dann reicht meist ein [[Skydome]] (Himmelskuppel), die nur den oberen Teil einer Himmelskugel darstellt.
  
<br>
+
 
 +
 
 +
 
 
== Beispiel ==
 
== Beispiel ==
----
 
 
[[Bild:Skysphere.jpg]]<br>
 
[[Bild:Skysphere.jpg]]<br>
 
Eine (recht niedrig aufgelöste) Himmelskugel-Textur, die dann in der Anwendung auf eine Kugel "geklebt" wird (die z.B. mit [[gluSphere]] ohne eigene Berechnungen erstellt werden kann). Natürlich nimmt man dann aber sehr viel größere Texturen, denn der Himmel nimmt im Normalfall einen Großteil des Sichtfeldes ein, und eine niedrig aufgelöste Textur sägt doch arg an der optischen Qualität einer Szene.
 
Eine (recht niedrig aufgelöste) Himmelskugel-Textur, die dann in der Anwendung auf eine Kugel "geklebt" wird (die z.B. mit [[gluSphere]] ohne eigene Berechnungen erstellt werden kann). Natürlich nimmt man dann aber sehr viel größere Texturen, denn der Himmel nimmt im Normalfall einen Großteil des Sichtfeldes ein, und eine niedrig aufgelöste Textur sägt doch arg an der optischen Qualität einer Szene.
  
<br>
+
 
 +
 
 
== Siehe auch ==
 
== Siehe auch ==
[[Skyboxen]]
+
[[Skyboxen]], [[Skydome]]
[[Skydome]]
+
 
 +
[[Kategorie:Anleitung]] [[Kategorie:Technik_oder_Algorithmus]]

Aktuelle Version vom 16. Juli 2018, 23:45 Uhr

Konzept

Ähnlich einer Skybox wird eine Skysphere (Himmelskugel) dazu genutzt die Szene mit einer statischen Umgebung zu versehen, auf die man zwar nicht zugehen kann, die aber entsprechend des Betrachterblickwinkels mitrotiert wird. Dadurch entsteht dann die Illusion einer sehr weit in der Ferne befindlichen Landschaft/Umgebung, die für Szenen die draussen spielen eigentlich unverzichtbar ist.

Technisch wird also in einem externen Programm (z.B. Corels Bryce) eine 360°-Panorama-Textur erzeugt, die die komplette Landschaft darstellt, und dann auf die Innenseite einer Kugel geklebt. Diese Kugel befindet sich permanent dort wo der Spieler ist (er kann ja auf diese statische Umgebung nicht zugehen), wird aber entsprechend seines Blickwinkels rotiert. So entsteht dann (je nachdem wie gut die Textur gelungen ist) die fast perfekte Illusion einer weit weg befindlichen, detailreichen Umgebung. Wie bei der Skybox kann man auch hier einige dynamische Himmelskörper, wie Sonne, Mond oder Sterne einbringen, um diese Umgebung etwas dynamischer wirken zu lassen. Im Normalfall wird die Himmelskugel als erstes Objekt gerendert, jedoch bei deaktiviertem Schreiben in den Tiefenpuffer (siehe glDepthMask), um zu verhindern dass diese andere Objekte verdeckt. Zusätzlich entfällt dann natürlich auch das Löschen des Farbpuffers, der ja permanent von der Himmelskugel komplett gefüllt wird.

Eine Himmelskugel umgibt logischerweise die komplette Szene, also auch den Teil "unter" der eigentlichen Szene. Das ist in manchen Fällen brauchbar, aber wenn der Betrachter diesen Teil niemals sieht, dann reicht meist ein Skydome (Himmelskuppel), die nur den oberen Teil einer Himmelskugel darstellt.



Beispiel

Skysphere.jpg
Eine (recht niedrig aufgelöste) Himmelskugel-Textur, die dann in der Anwendung auf eine Kugel "geklebt" wird (die z.B. mit gluSphere ohne eigene Berechnungen erstellt werden kann). Natürlich nimmt man dann aber sehr viel größere Texturen, denn der Himmel nimmt im Normalfall einen Großteil des Sichtfeldes ein, und eine niedrig aufgelöste Textur sägt doch arg an der optischen Qualität einer Szene.


Siehe auch

Skyboxen, Skydome