Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

1

03.12.2014, 14:28

Beleuchtete Partikel

Hallo!

Ich versuche mich im Moment an beleuchteten Partikeln bzw. daran, es zu verstehen. Kann mir jemand gute Erklärungen und Webseiten geben, auf denen erklärt wird, wie ich eine NxL Beleuchtung erreiche, wenn ich nur eine 2D Oberfläche habe, die immer zu mir zeigt? Wie komme ich an den Normalenvektor?

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

2

03.12.2014, 14:46

Hängt von den Partikeln ab. Der Normalenvektor ist ja nicht die Lösung für alles, sondern nur ein Arbeitsmittel für bestimmte Szenarien. Ganz konkret: die Normale benutzt Du, wenn Du eine solide geschlossene Oberfläche beleuchten willst.

Wenn Dein Partikel also ein Festkörper ist, kannst Du dem einfach ne NormalMap mitgeben und die Normalen darin anhand der aktuellen Ausrichtung (wahrscheinlich zur Kamera) für die Lichtberechnung nehmen.

Wenn Dein Partikel ein selbstleuchtendes Ding wie z.B. ein Funken oder eine brennende Gaswolke eines Feuers ist, brauchst Du gar keine Beleuchtung. Das Eigenleuchten der Materie überdeckt selbst die Reflektionen direkter Sonneneinstrahlung.

Wenn Dein Partikel eine Rauchwolke, Nebel oder sowas darstellen soll, hast Du ein Problem. In der echten Physik kommt Licht von den Lichtquellen und von überall sonst, wo Oberflächen Licht reflektieren. Das Licht dringt in die Materiewolken ein, wird mit dem Vordringen immer weiter gestreut, und absorbiert. Teile des Lichtes kommen evtl. unbeeinträchtigt hinten wieder raus, die daraus entstehende Verdunklung wird auf den Oberflächen dahinter als "Wolkenschatten" oder "Rauchschatten" sichtbar. Teile des Lichtes werden an verschiedenen Stellen auf dem Weg durch die Wolke reflektiert und gelangen danach unbeeinträchtigt ins Auge des Betrachters - das würdest Du als "beleuchtet" wahrnehmen. Und Teile des Lichts werden in der Wolke reflektiert, dann nach ein paar Metern vielleicht absorbiert oder nochmal reflektiert usw.

Für die Athmosphäre als "globalen" Spezialfall einer Lichtausbreitung in teilnehmendem Medium gibt es dafür ja unzählige Speziallösungen. Das Atmospheric Scattering kann man über vereinfachte mathematische Modelle berechnen, die die frequenzabhängige Absorption des Lichtes in der Luft ganz gut hinbekommen. Stichwort Mie-Raleigh. Die Streuung des Lichts in der Luft, so dass Teile des Lichtes das Betrachter-Auge erreichen, wird meist als rein optisches Spektakel als "God Rays" umgesetzt. Das Fehlen von genau dieser gestreuten Lichtenergie auf der Empfängeroberfläche wird als Wolkenschatten implementiert. Die Summe all dieser Einzeleffekte verletzt üblicherweise das Energieerhaltungsgesetz, aber eine wirklich globale konsistente Lösung ist aktuell halt einfach nicht möglich.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

3

03.12.2014, 14:48

[Schrompfs Antwort ist natürlich besser, ich hatte sie nur noch nicht gesehen]
Eigentlich haben Partikel ja keinen Normalvektor, sie sind ja formlos und durchscheinend, das einfallende Licht würde also in jede Richtung reflektiert. Vermutlich sieht es schon ganz gut aus, wenn du einfach nur die Entfernung zur Lichtquelle beachtest, und natürlich Partikel auch korrekt schattierst.
Lieber dumm fragen, als dumm bleiben!

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

4

03.12.2014, 14:50

Es geht um Rauch ;)

(Link)


Für mich sieht da so aus, als würde der Rauch als Festkörper betrachtet werden.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

5

03.12.2014, 15:00

Dann siehst Du das falsch. Man sieht auf dem Bild sehr schön, wie das Licht in die Wolke eindringt. Es wird quer durch die Wolke hindurch teilweise zum Betrachter reflektiert, weswegen Du als Mensch überhaupt was siehst. Diese reflektierten Teile fehlen dann natürlich, weswegen die Teile dahinter weniger Licht zum Auge reflektieren und damit dunkler erscheinen. Je weiter das Licht in die Wolke eindringt, desto weniger kommt davon noch an. Und das, was am Ende unbeeinträchtigt hinten wieder rauskommt, ist nur noch ein Bruchteil dessen, was vorne reinging, weswegen der Boden dahinter dunkler erscheint.

Ansonsten ist das Bild ja offensichtlich künstlich und demzufolge kann man hier nur raten, wieviel der wirklichen Lichtausbreitung sie mit einberechnet haben.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

6

03.12.2014, 15:12

Es ging mir gar nicht um die Schatten auf dem Boden. Nur um die Wolke an sich. Vielleicht zeigt das Bild besser was ich meine:
»FSA« hat folgende Bilder angehängt:
  • Left.JPG
  • Back.JPG
  • Front.JPG

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

7

03.12.2014, 15:29

Mir ging es um das Gesamtpaket. Da war auch das drin, wonach Du fragst. Lies es bitte.

[Edit] Es sei denn, Deine Frage hat sich inzwischen geändert. Was genau willst Du denn wissen?
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

8

03.12.2014, 17:08

Ah ich hab das Prinzip verstanden. Nichts großes aber immerhin es geht.
Danke euch. Ich melde mich wenn ich an der Beleuchtung verzweifel ;)
»FSA« hat folgendes Bild angehängt:
  • billboard.JPG

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Werbeanzeige