HDR Rendering -Physikalische sinnvolle Werte?

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.

HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Stephan Theisgen » 09.01.2011, 15:11

Hallo!

Ich versuche mich gerade einmal wieder am Artikel "Hochwertiges Rendern von Sternen"! Um nicht völlig ins Abseits zu geraten, wenn ich andere Lichtquellen optisch ansprechend hinzufügen wernde, hätte ich gerne die HDR-Werte physikalisch sinvoll gegeben. Ich weiß nun wie man die apparente Helligkeit der Sterne in mag in echte Helligkeitsunterschiede umrechnet (das ist nicht schwer). Aber meine Frage ist nun, welcher physikalischer Wert eigentlich den Helligkeitsinformationen im HDR entspricht, Lumen, Lux, Candela, Candela/m2??? Da bin ich irgendwie verwirrt. Ich würde ja am ehesten Lux raten, aber alle Paper die ich dazu finde reden irgendwie von Cd/m2... Warum?

Vielleicht kann ja hier jemand mein Verständnis von Beleuchtungsmodellen, Astronomie oder High Dynamic Range Rendering erweitern!

Viele Grüße
Stephan
Stephan Theisgen
 
Beiträge: 75
Registriert: 29.07.2003, 10:13

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Krishty » 09.01.2011, 15:41

Wenn du die Formel hast, gib sie mir. Mit Glare bemerke ich, dass die Formel im Artikel schlechte Ergebnisse liefert (einige Sterne werden einfach viel zu hell) :/

cd÷m² repräsentiert die Leuchtdichte, also wie viel Licht von einer bestimmten Fläche kommt. Das empfinden wir, salopp gesagt, als Helligkeit.

Im Gegensatz dazu steht die Beleuchtungsstärke – wie viel Licht uns von einer Quelle erreicht, also bescheint. Der Unterschied ist: das eine ist nicht von der Entfernung abhängig, das andere schon. Wenn wir uns von einem Flächenstrahler entfernen, erreicht zwar weniger Licht unser Auge – geringere Beleuchtungsstärke –, der Stahler erscheint uns deswegen aber nicht weniger hell: Da er weiter weg ist, erscheint er uns nämlich kleiner, und die Lichtmenge pro Fläche, die wir sehen – Leuchtdichte – Helligkeit – bleibt gleich.

cd÷m² werden eingesetzt, wenn es um Helligkeit im für Menschen sichtbaren Spektrum geht, weil die Einheit an die Spektralkurve des Auges angepasst ist. Eine Infrarotlampe leuchtet zwar auch stark, hat aber 0 Candela, weil wir ihr Licht nicht sehen können. Geht es um das Licht in allen Spektralbereichen, spricht man von Watt pro Quadrameter für die Leuchtdichte, also die Strahlungsdichte(?). Astronomische Daten sind meist darin angegeben, weil sonst Röntgen- und Infrarotaufnahmen schlicht und einfach schwarz wären (überall 0 cd÷m²), für den Menschen besitzt solche Strahlung ja keine Helligkeit.

Dann wäre da noch die empfundene Helligkeit, die einbezieht, dass dein Auge die doppelte Lichtmenge nicht als doppelt so hell empfindet. Da die Natur aber keine menschliche Helligkeitskurve kennt, ist sie in der Praxis unbedeutend (die ganze Grafikpipeline sollte idealerweise im Linear Space arbeiten) und findet nur im Gamma Space Anwendung. (Das ist auch die Erklärung dafür, warum Beleuchtung im linearen Farbraum realistischer aussieht.)

Auch die Helligkeit des Bildschirms, vor dem du sitzt, wird in cd÷m² angegeben und dürfte zwischen 100 und 300 liegen. Wenn du also einen Pixel anzeigst, ist der – Gammakorrektur außen vor – ein Skalierwert für die Helligkeit des Bildschirms an diesem Punkt.

Rendering muss also folgendes tun: Es hat Daten über emittiertes Licht (entweder in W oder in cd) und berechnet nun, wie viel Helligkeit den Betrachter aus der virtuellen Szene je in R, G und B (in cd÷m²) erreicht. Das wird in einer 2D-Matrix gespeichert – besser bekannt unter dem Namen „Textur“ oder „Frame“. Beispiel:
Du hast eine Lichtquelle in deiner Szene, die mit 100/50/25 cd in R,G und B leuchtet (ich weiß nicht, wie viel die Leistung einer 50-Watt-Glühbirne in cd ist, aber das kann man auch irgendwie ausrechnen ;) ). Wenn du nun den Pixel-Shader für ein Objekt durchlaufen lässt, nimmst du diese 100/50/25 aus einem Register, berechnest die Distanz zur Lichtquelle (hier einfach mal 10 m) und teilst durch das Quadrat. Dann weißt du: Dieser Pixel wird mit 1/0,5/0,25 cd÷m² beleuchtet. Dann multiplizierst du noch mit dem Skalarprodukt, damit du weißt, wie viel von dieser Helligkeit in Richtung des Betrachters reflektiert wird, multiplizierst u.U. noch mit einer Textur (die ja nur einen Skalierfaktor für die Reflektivität einer Oberfläche darstellt), schreibst das in den Frame und weißt, wie viele cd÷m² dieser Pixel auf dem Bildschirm hell sein sollte, um die Szene 1:1 wiederzugeben.

Tonemapping läuft dann darauf hinaus, die Funktion zu finden, die zu diesen Helligkeiten passende Skalierwerte ausspuckt damit die Bildschirmhelligkeit, auch in cd÷m², eine möglichst ähnliche Helligkeit ausspuckt. In den simpelsten Fällen ist das eine Multiplikation und ein Exponent 1/2,2 (weil die Skalierwerte, die du zur Grafikkarte schickst, gammakorrigiert sind, sofern du deine Textur nicht als sRGB kennzeichnest. Gammakorrektur ist eine einfache Form von Kompression, um die kontraststarken Werte, die wir eigentlich meinen, in 8 Bits zu kriegen, indem wir die nichtlineare Empfindlichkeit des Auges ausnutzen.)

Über das Thema lassen sich ganze Bände füllen, aber jetzt hast du hoffentlich einen Überblick :)

Gruß, Ky

Edit: Bei den Sternen würde es darauf hinauslaufen, durch die astronomische Helligkeit zu berechnen, wie viel W sie pro Raumrichtung abstrahlen. Das ginge ggf über die astronomische Helligkeit der Sonne und die Solarkonstante. Daraus dann zu cd. Dann berechnet man den Durchmesser der Sterne und ihre Distanz, um die scheinbare Größe zu ermitteln und hat ihre Leuchtdichte.
Problematisch ist nur, dass man dabei im wahrsten Sinne des Wortes mit astronomischen Größen rechnen muss … und ich bin gerade zu sehr eingespannt, um mir da was zu überlegen.
Sterne rendern (mit Demo) und viele kleine Optimierungen

state is the enemy
Benutzeravatar
Krishty
 
Beiträge: 3500
Registriert: 26.02.2009, 11:18

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Stephan Theisgen » 09.01.2011, 16:14

gut dann doch die Schnellantwort: So ähnlich müßte das dann auch laufen! Ich schreibe gerade an einer ausführlichen Antwort...
Stephan Theisgen
 
Beiträge: 75
Registriert: 29.07.2003, 10:13

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Stephan Theisgen » 09.01.2011, 17:21

Hi! Vielen Dank für die ausführliche Erklärung! Deine Antworten und Beiträge sind immer Erleuchtungen ;-) für mich.

Den Unterschied zwischen photometrischen und radiometrischen Einheiten hatte ich schon verstanden, immerhin beschäftige ich mich jetzt schon den ganzen Tag damit. Allerdings ist das Verhältnis zu den astronomischen Einheiten nicht ganz so klar. Aber dazu nachher mehr...

Erst einmal ein Zitat aus der Wikipedia, dass ich jetzt gefunden habe:
Die Leuchtdichte L (engl. luminance) ist das fotometrische Maß für das, was Menschen als Helligkeit wahrnehmen, also für die Lichtstärke pro Fläche. Eine Lichtquelle mit einer vorgegebenen Lichtstärke erscheint umso heller, je kleiner ihre Fläche ist.

Das passt auch zu Deinen Ausführungen:
cd÷m² repräsentiert die Leuchtdichte, also wie viel Licht von einer bestimmten Fläche kommt. Das empfinden wir, salopp gesagt, als Helligkeit.
So damit steht für mich jetzt erstmal fest, dass ich Cd/m2 im HDR-Rendering verwenden muss, da es der empfunden Helligkeit entspricht und Helligkeit ja der entscheidende Faktor im HDR-Rendering ist.

Ich schreib einfach mal auf, wie weit ich jetzt bin:
Also den echten Helligkeitsunterschied als Verhältnis (I/I0) berechne ich aus den mag-Werten wie folgt:
I/I0 = 2.512^(m – m0)

Der Wert 2.512 ergibt sich aufgrund der mag-Skala aus der 5ten-Wurzel aus 100. (siehe englische Wikipedia: Apparent Magnitude)
Jetzt braucht man eigentlich nur noch für einen Stern mit mag = 0 den entsprechenden Wert in cd/m2, so dachte ich, das funktioniert so aber leider nicht.
Tabellierte Werte für Sonne und Mond sind (siehe Wikipedia):
Sonnenscheibe am Mittag 1,6•10^9
Oberfläche des Mondes 2,5•10^9

Skeptisch macht mich auch, wie der Wikipedia-Artikel weitergeht:
Die Leuchtdichte erfasst die Helligkeit von ausgedehnten, flächenhaften Lichtquellen; für die Beschreibung der Helligkeit von punktförmigen Lichtquellen dienen hingegen Lichtstrom und Beleuchtungsstärke.

Und Sterne sind von der Erde aus eher Punktquelle, da wir sie aber als Fläche (quad, pixel etc. rendern) müssen wir diese Ausdehnung eigentlich berücksichtigen um auf die Werte in cd/m2 zu kommen. Für Mond und Sonne (fast gleiche apparente Fläche am Himmel) spielt das keine Rolle, aber die Sterne werden wir so hoffnungslos unterschätzen, da sie deutlich kleiner sind.

Die Rechnung mit Lux ist recht einfach und ergibt sich nach folgender Internetseite (http://stjarnhimlen.se/comp/radfaq.html) bzw. der englischen Wikipedia zu:
I [lx] = 2.54E-6 lx * 2.512^-(m [mag] - 0mag)

da:
mag = 0 star outside Earth's atmosphere = 2.54E-6 lx

Und die mag-Werte für Sonne und Mond sind (siehe Wikipedia-Artikel):
Sun -26.74 mag
Moon -12.74 mag

Dies ergibt z.B. für die Sonne 126.287 lx und für den Mond 0,31 lx.

Das Resultat simmt dann ganz gut mit den Werten für ein Sonnentag und eine Vollmondnacht bei Wikipedia überein (siehe deutscher Artikel: Lux):
Heller Sonnentag 100.000 lx
Vollmondnacht 0,25 lx

Laut folgender Internetseite (http://stjarnhimlen.se/comp/radfaq.html) entspricht Luminance (Leuchtdichte) in astronomischen Einheiten nicht mag sondern in mag/arcsec2. D.h. zum Umrechnen darf man nicht mag einsetzten sondern mag durch arcsec^2, die Werte hierfür sind laut Wikipedia (Artikel: Angular Diameter)
Sun 31.6′ – 32.7′
Moon 29.3′ – 34.1′
Alpha Centauri A 0.007″
Canopus 0.006″
Sirius 0.005936″
Altair 0.003″
Deneb 0.002″
Proxima Centauri 0.001″

Und hier hänge ich jetzt erst einmal und weiß nicht so richtig weiter… Die Berechnungen in Lux sind ganz sinnvoll, aber wie komme ich jetzt am besten auf cd/m2 da muß ich mal noch etwas forschen…
Stephan Theisgen
 
Beiträge: 75
Registriert: 29.07.2003, 10:13

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Stephan Theisgen » 09.01.2011, 17:22

Ach ja, folgende Seite ist auch ganz nützlich:

http://mysite.du.edu/~jcalvert/astro/magnitud.htm
Stephan Theisgen
 
Beiträge: 75
Registriert: 29.07.2003, 10:13

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Krishty » 09.01.2011, 19:01

Die Lux waren genau das fehlende Puzzleteil!
Wenn wir sie aus der scheinbaren Helligkeit berechnen können und sie der Lichtstrom pro Raumwinkel sind, kann man ja ausrechnen, wie viel Licht durch die Winkelfläche fließt, die ein Pixel bzw. eine Sternensprite in der Bildschirmmitte einnimmt. Dann wäre das die Leuchtdichte des Sterns, mit der wir die Sprite leuchten lassen müssen – ist jedenfalls jetzt mein erster Gedanke …
Sterne rendern (mit Demo) und viele kleine Optimierungen

state is the enemy
Benutzeravatar
Krishty
 
Beiträge: 3500
Registriert: 26.02.2009, 11:18

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Stephan Theisgen » 09.01.2011, 19:32

Klingt gut, aber entweder habe ich da etwas falsch verstanden oder Du liegst gerade nicht ganz richtig. Lux ist leider der Lichstrom pro Empfängerfläche und leider nicht pro Raumwinkel, das müßte man noch umrechnen. Aber ich habe vielleicht einen anderen Weg gefunden!

Das ganze geht wie folgt:

Was wir ausrechnen wollen ist die Flächenhelligkeit in cd/m^2 aus der relativen Helligkeit in mag. Da Sterne meistens als Punktquellen angenommen werden, wird ihnen keine Flächenhelligkeit (z.B. in astronomischen Einheiten in mag/arcsec^2) zugeordnet, Galaxien aber schon. Die Erkenntnis wie man es machen könnte brachten mir nun folgende beiden Wikipedia-Artikel: Surface brightness bzw. auf Deutsch Flächenhelligkeit. Sie zeigen die Umrechnungsformel der Flächenhelligkeit X in mag/arcsec^2 in die Flächenhelligkeit B in cd/m^2:
B = 1.084 * 10^5 * 10(-0.4*X)
.
Es ist aber Aufgrund der logarithmischen Skala nicht ganz so leicht aus den mag-Werten m in mag und der scheinbaren Fläche der Sterne A gegeben in arcsec^2 die Flächenhelligkeit in mag/arcsec^2 auszurechnen, da das ganze nicht linear ist, aber auch diese Formel findet sich in den Artikeln:
X = m + 2.5*log10(A)
.
(Etwas verwirrt hat mich nur, dass die Flächenhelligkeit hier im Original B und nicht X wie oben genannt wurde.)
Eine Beispielrechnung für Alpha Centauri A ergibt mit m = 1.33 mag, angular diameter d = 0.007 arcsec und damit A = 0.000049 arcsec^2 (siehe die Wikipedia-Artikel: Surface brightness und Angular Diameter)):
für X = -9,44 mag/arcsec^2 und damit für die Flächenhelligkeit B = 649880045 cd/m^2. Also eigentlich verdammt hell, für den "größten" Stern R. Doradus ergibt sich:
mit m = 5.73 mag, angular diameter 0.057 arcsec und damit A = 0.003249 arcsec^2 für X = -0.49 mag/arcsec^2 und damit für die Flächenhelligkeit B = 170325 cd/m^2.

Ich hoffe ich habe mich jetzt da nirgendwo verrechnet. Aber viel wichtiger ist, dass man natürlich nie diese kleinen Flächen rendert. Man rendert ja Pixel (Sprites). Will man also wissen, welchen Wert in cd/m^2 das Sprite haben muß, so muß man noch ausrechnen, wie viel arcsec^2 ein Pixel entspricht, und damit die Fläche des Sprites in arcsec^2 angeben und in obiger Formel statt der echten scheinbaren Fläche einsetzen, die man sowieso nur für wenige Sterne findet.

Das schöne an dieser Methode ist, das man auch für Galaxien, für andere Objekte und auch für den Hintergrund ohne Sterne einen entsprechenden Helligkeitswert berechnen kann.

Ich hoffe diese Methode klappt jetzt wirklich so, ich bin noch nicht durch alle Formeln durchgestiegen...
Stephan Theisgen
 
Beiträge: 75
Registriert: 29.07.2003, 10:13

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Tejio » 09.01.2011, 20:15

Hallo zusammen,

verzeiht mir bitte meinen Offtopic, aber ich finde es immer wieder erstaunlich, mit welchen Sachen man sich im Forum beschäftigt und wie sehr ihr euch einander helft. Ich habe nicht ganz alles verstanden, worum es hier im Thread geht, aber ich bin auch schon fließig dabei, mich in das Thema einzufließen. Danke für die Anregungen!

Schönen Abend schon mal,
Tejio
Tejio
 
Beiträge: 99
Registriert: 11.11.2010, 11:33

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Krishty » 09.01.2011, 20:21

Tejio hat geschrieben:Ich habe nicht ganz alles verstanden, worum es hier im Thread geht
Wir wollen (gemäß meinem Artikel) Sterne rendern und versuchen nun, von den physikalischen Helligkeitsangaben aus Sternkatalogen darauf zu schließen, wie hell wir die einzelnen Sterne rendern müssen :)
Sterne rendern (mit Demo) und viele kleine Optimierungen

state is the enemy
Benutzeravatar
Krishty
 
Beiträge: 3500
Registriert: 26.02.2009, 11:18

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Stephan Theisgen » 09.01.2011, 20:34

Also so langsam traue ich der Formel, auch wenn ich noch nachvollziehen muß, wo die Konstanten her kommen. Ich habs mal für die Sonne durchgerechnet:

apparent magnitude: m = -26.73 mag
angular diameter: d = 31.6′ – 32.7′


Die Rechnung nach obiger Formel ergibt: 1.4+10^9 cd/m2, dass finde ich schon sehr nahe dran für Schätzwerte,
denn nach dem Wikipedia-Artikel Luminance gilt:
The sun has luminance of about B = 1.6×10^9 cd/m2 at noon


Jetzt müssen wir halt noch ausrechnen, wieviel arcsec^2 ein Pixel ausmacht...
Stephan Theisgen
 
Beiträge: 75
Registriert: 29.07.2003, 10:13

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Krishty » 09.01.2011, 20:55

Stephan Theisgen hat geschrieben:Jetzt müssen wir halt noch ausrechnen, wieviel arcsec^2 ein Pixel ausmacht...
Das ist relativ einfach – tan(FoV) ÷ Auflösung ist die Seitenlänge eines Pixels in Einheitsentfernung, atan und fertig. (Einmal beim Start für FoV von 45° ausrechnen und dann, wenn sich das FoV ändert, quadratisch anpassen.)

Ich krame gerade in meinen alten Dateien, wo ich noch den Sternenkatalog habe – habe seit einem Jahr nur noch mit den fertig konvertierten Daten gearbeitet und deshalb den ganzen Konvertierungskram verlegt. Kann sich nur noch um Stunden handeln.
Sterne rendern (mit Demo) und viele kleine Optimierungen

state is the enemy
Benutzeravatar
Krishty
 
Beiträge: 3500
Registriert: 26.02.2009, 11:18

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Krishty » 09.01.2011, 22:45

Okay, habe es (testweise für 1024) implementiert. Die Werte sind nun wesentlich regelmäßiger als bei meiner geratenen Formel vorher … zwei Screenshots zum Vergleich, vorher und nachher (mit übersteuertem Glare, damit die Helligkeitsabstufungen deutlicher sind):
before.png
after.png
Ich muss jetzt natürlich noch die Helligkeit des Hintergrundbildes und das Tonemapping anpassen … und ich muss noch testen, inwiefern schwache Sterne bei kürzerer Belichtungszeit verschwinden (da ja jetzt offensichtlich viel viel mehr Sterne zu sehen sind, scheinbar mehr als in den meisten Nächten).
Sterne rendern (mit Demo) und viele kleine Optimierungen

state is the enemy
Benutzeravatar
Krishty
 
Beiträge: 3500
Registriert: 26.02.2009, 11:18

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Stephan Theisgen » 09.01.2011, 22:55

Super! Schön zu sehen, dass es was bringt? Inzwischen weiß ich auch, wo die Formel her kommt, bei Bedarf und/oder genug Zeit, werde ich das hier auch gerne erklären. Allerdings weiß ich noch nicht, wie sie auf den Referenzwert von 1.084 * 10^5 in der Formel kommen. Das konnte ich noch nicht finden...
Ich habe noch eine gute Quelle für die Formel mit Herleitung gefunden: http://web.mit.edu/8.902/www/handouts/magpersqarcsec.pdf.

Ich muss jetzt natürlich noch die Helligkeit des Hintergrundbildes und das Tonemapping anpassen … und ich muss noch testen, inwiefern schwache Sterne bei kürzerer Belichtungszeit verschwinden (da ja jetzt offensichtlich viel viel mehr Sterne zu sehen sind, scheinbar mehr als in den meisten Nächten).


Das könnte auch daran liegen, dass die mag-Werte die hier als Referenz genommen werden, für außerhalb der Erde gelten, dass steht zwar nirgendwo, aber die Werte scheinen zu passen (ich rechne ja schon den ganzen Tag hin und her...). Allerdings ohne mein o.g. Problem des Referenzwertes zu lösen, bleibt das natürlich nur eine Vermutung. Die Atmosphäre verschlechtert um ca. 0.4 mag, so stand das jedenfalls mal in einem Paper, dass Du vor kurzem zitiert hast, vielleicht hilft das erstmal...
Stephan Theisgen
 
Beiträge: 75
Registriert: 29.07.2003, 10:13

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Krishty » 09.01.2011, 23:11

Stephan Theisgen hat geschrieben:
Ich muss jetzt natürlich noch die Helligkeit des Hintergrundbildes und das Tonemapping anpassen … und ich muss noch testen, inwiefern schwache Sterne bei kürzerer Belichtungszeit verschwinden (da ja jetzt offensichtlich viel viel mehr Sterne zu sehen sind, scheinbar mehr als in den meisten Nächten).

Das könnte auch daran liegen, dass die mag-Werte die hier als Referenz genommen werden, für außerhalb der Erde gelten, dass steht zwar nirgendwo, aber die Werte scheinen zu passen (ich rechne ja schon den ganzen Tag hin und her...). Allerdings ohne mein o.g. Problem des Referenzwertes zu lösen, bleibt das natürlich nur eine Vermutung. Die Atmosphäre verschlechtert um ca. 0.4 mag, so stand das jedenfalls mal in einem Paper, dass Du vor kurzem zitiert hast, vielleicht hilft das erstmal...
Neinein, ist auch so schon grandios – ich habe die Schwellenwerte fürs Farbensehen auf realistische Werte gesetzt (0,03 cd÷m² für mesopisch; 0,3 cd÷m² für photonisch) und das Ergebnis ist so gut wie es nur sein kann, ohne in subjektive Wahrnehmungseigenschaften abzurutschen. Hier …
new star luminance.png
… ist Beteigeuze (links etwas oberhalb der Mitte) z.B. gerade hell genug, um vom Tonemapper noch als etwas rötlicher als die anderen Sterne dargestellt zu werden, genau wie beim momentanen Blick aus meinem Fenster. Hast du exzellent recherchiert und greift bestens ineinander, ich danke dir vielmals.
Stephan Theisgen hat geschrieben:Inzwischen weiß ich auch, wo die Formel her kommt, bei Bedarf und/oder genug Zeit, werde ich das hier auch gerne erklären. Allerdings weiß ich noch nicht, wie sie auf den Referenzwert von 1.084 * 10^5 in der Formel kommen. Das konnte ich noch nicht finden...
Es wäre toll, wenn du den Rechenweg im Artikel posten könntest, damit hätten wir dort alles Wichtige konzentriert. Ich werde dort auch in den nächsten Tagen meinen vorberechneten Sternenkatalog hochladen, damit sich nicht jeder aufs Neue die Mühe machen muss.
Sterne rendern (mit Demo) und viele kleine Optimierungen

state is the enemy
Benutzeravatar
Krishty
 
Beiträge: 3500
Registriert: 26.02.2009, 11:18

Re: HDR Rendering -Physikalische sinnvolle Werte?

Beitragvon Stephan Theisgen » 09.01.2011, 23:17

Ok, jetzt habe ich es, allerdings weiß ich immer noch nicht wo die Quellen alle ihre Werte her nehmen, aber hier steht:
Still another unit for intensity is magnitudes per square arcsec, which is the magnitude at which each square arcsec of the extended light source shines:


Magnitudes per Nit = Candelas/m2
square arcsec inside unit airmass outside atmosphere

0 9.0E+4 10.9E+4
+5 9.0E+2 10.9E+2
+10 9.0 10.9
+15 9.0E-2 10.9E-2
+20 9.0E-4 10.9E-4
+25 9.0E-6 10.9E-6


Da ist zu sehen, dass einem Wert von 0 mag/arcsec^2 hier 0.90E+5 cd/m^2 in und 1.09E+5 cd/m^2 außerhalb der Atmosphere entspricht. Die obige Formel verwendet 1.084E+5 cd/m^2, also den wert von 1.09E+5 cd/m^2 für außerhalb der Atmosphere, dass heißt innerhalb müssen wir mit 0.90E+5 cd/m^2 rechnen, da auch die Werte für die apparente Helligkeit in mag von der Erde aus gesehen angegeben sind. Also jetzt noch einmal die verbesserte Formel:

B = 0.90 * 10^5 * 10^(-0.4*(m+2.5*log10(A))
mit
m = apperente Helligkeit in mag
A = scheinbare Fläche am Horizont in Quadratbogensekunden


Natürlich ändert sich ingesamt nicht so viel, aber wenn schon dann korrekt...
Stephan Theisgen
 
Beiträge: 75
Registriert: 29.07.2003, 10:13

Nächste

Zurück zu Grafikprogrammierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste