Not logged inOpenClonk Forum
Up Topic Gamma, still

This board is threaded (i.e. has a tree structure). Please use the Reply button of the specific post you are referring to, not just any random button. If you want to reply to the topic in general, use the Post button near the top and bottom of the page.

Post Reply
In Response to Newton
That it is not backward compatible is good news, because then we have one reason more to actually replace SetGamma with SetAmbientLightColor() which more appropriately describes the function of this method. (Perhaps with a deprecated wrapper).
Did you follow the discussion(s) here and there?

It is unfortunate that you do not have a clonkspot account, the latter forum seems to be invisible. I will cite the second one here:

>Clonkonaut: Und @ck - wie sieht es damit aus, dass die Engine einen veränderlichen Sonnenvektor vorgibt?
>Matthias: Erstmal bin ich dafür! Ich glaube, dass das sehr stark zur Atmosphäre beitragen kann, besonders, wenn man Sonnenrichtung, Lichtfarbe und Intensität irgendwie an die Uhr- und Jahreszeit koppeln könnte. Etwas mehr damit zu experimentieren, um beispielsweise die "Flachheit" des Hochofens auszumerzen, steht dann natürlich noch aus.
>Newton: Das würde dann den SetGamma-Kram im ersetzen. Wenn ich mich nicht irre, ist es (noch) nicht möglich die Lichtfarbe des Umgebungslichtes zu setzen. Das war an der Diskussion erstickt, ob man nicht auch Lichtfarben für Materialien festlegen kann/möchte (Lava: rot), denn die rote Lava soll ja vom Sonnenuntergang nicht auch dunkler werden. Diese beiden Features (globale Umgebungslichtfarbe setzen, zwecks Tag/Nacht/Ambient vs Farben pro glühendes Material) scheinen sich gegenseitig auszuschließen.
>Clonk-Karl: Wie wäre es wenn man die globale Umgebungslichtfarbe einfach als "glühende" Farbe des Sky-Materials betrachtet?
>Newton: Wie ich es verstanden habe, wird zum Start einer Runde für die gesamte Landschaft eine "Ambient Light Map" generiert. Diese wird dann im Spiel nurnoch bei Landschaftsveränderungen punktuell neu berechnet. Zurzeit ist dies ein zweidimensionales 8bit-Array.
>Würde man nun eine SetAmbientLightColor Funktion hinzufügen, so würde diese so funktionieren dass jeder Pixel beim Anwenden der Lightmap im Shader in der angegebenen Farbe eingefärbt wird.
>Möchte man stattdessen verschiedene Farben in der Lightmap, so müsste man diese bei Rundenbeginn als zweidimensionales 32bit-Array erzeugen. Dann funktioniert jedoch nicht mehr die oben erwähnte einfache Lösung für SetAmbientLightColor, da sonst die gesamte Lightmap gleichzeitig eingefärbt werden würde. Stattdessen müsste bei jedem Aufruf von SetAmbientLightColor die Lightmap komplett neu erzeugt werden. Da SetAmbientLightColor beim Zeitobjekt bei Sonnenauf- und Untergang sehr oft, vielleicht sogar jeden Frame, aufgerufen werden würde, halte ich diese Lösung für nicht machbar.
>Matthias: Die komplette Lightmap müsste man nicht erzeugen, man könnte doch eher den Himmel und die Materialien seperat halten.
>Newton: Hm ja stimmt, das würde gehen. Das hätte sogar den Vorteil dass man die Himmel-Lightmap nur updaten müsste wenn jemand Material überschreibt (aus Erde mit Hintergrund Tunnel Erde mit Hintergrund Himmel macht).


Having implement a shader based replacement for SetGamma, what do you think about this plan? Does this play into your current implementation (=is this easy with how you realized SetGamma?)

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill