Seite 14 von 31

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 17:23
von Krishty
Zudomon hat geschrieben:
Krishty hat geschrieben:Die Nebelfarbe ist sehr unnatürlich. Ist der linear oder exponentiell? Alpha-Blending oder Premultiplied Alpha? Nur Deckkraft oder RGB einzeln berechnet?
Exponentiell, Alpha, Deckkraft
D3D9 kann AFAIK kein Dual-Source Color Blending (Alpha für RGB separat), aber du kannst ja mal premultiplied versuchen. Mit sRGB natürlich :)

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 17:29
von Zudomon
Krishty hat geschrieben:
Zudomon hat geschrieben:
Krishty hat geschrieben:Die Nebelfarbe ist sehr unnatürlich. Ist der linear oder exponentiell? Alpha-Blending oder Premultiplied Alpha? Nur Deckkraft oder RGB einzeln berechnet?
Exponentiell, Alpha, Deckkraft
D3D9 kann AFAIK kein Dual-Source Color Blending (Alpha für RGB separat), aber du kannst ja mal premultiplied versuchen. Mit sRGB natürlich :)
Wieso? Der Nebel sieht so aus, wie ich es erwartet habe.

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 17:34
von Krishty
Nach der Vegetation dachte ich, du würdest einem realistischen Grafikstil folgen, und da passt so eine Art von Disney-Nebel IMHO halt nicht rein. Aber ist natürlich deine Sache.

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 17:37
von Zudomon
Krishty hat geschrieben:Nach der Vegetation dachte ich, du würdest einem realistischen Grafikstil folgen, und da passt so eine Art von Disney-Nebel IMHO halt nicht rein. Aber ist natürlich deine Sache.
Es kommt drauf an... hast du eine Vorlage? Die Landschaft ist ja auch nicht wirklich realistisch...

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 17:42
von Krishty
Ist ja ein Unterschied, ob das Szenario realistisch ist oder die Grafik. (Auch in einem Sci-Fi-Shooter soll die Beleuchtung 1/r² folgen.) Eine Vorlage habe ich nicht, und natürlich kann sowas ein Stilmittel sein. Aber wenn ich die Farbübergänge sehe, schreit was in meinem Kopf "nicht premultiplied oder nicht-sRGB-korrekt geblendet".

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 17:58
von Zudomon
Krishty hat geschrieben:Ist ja ein Unterschied, ob das Szenario realistisch ist oder die Grafik. (Auch in einem Sci-Fi-Shooter soll die Beleuchtung 1/r² folgen.) Eine Vorlage habe ich nicht, und natürlich kann sowas ein Stilmittel sein. Aber wenn ich die Farbübergänge sehe, schreit was in meinem Kopf "nicht premultiplied oder nicht-sRGB-korrekt geblendet".
Also der Nebel wird nach dem Tonemapping rein geblendet... hmm...

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 18:05
von Chromanoid
Auf https://de.wikipedia.org/wiki/Nebel sind ein paar hübsche Bilder zu sehen.

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 18:56
von marcgfx
Ich finde den Nebel nicht so schlecht. Wie müsste es denn ausschauen Krishty? Heller? Verstehe anhand deiner Beschreibung nicht was anders sein soll. Additiv ist es imho aktuell nicht.

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 20:16
von Krishty
„Normales“ Alpha (Straight Alpha, ich bevorzuge Deppenalpha) ist quasi immer falsch, von UI-Sonderfällen abgesehen. Das Problem ist die Balance von Vorder- und Hintergrundfarbe, die nicht mehr passt – im Alphablending wird die Intensität des Vordergrunds durch seine Deckkraft bestimmt. Das ist aber quatsch, weil das in der Natur zwei völlig unterschiedliche Konzepte sind (insbesondere bei Nebel, der je nach Beleuchtungssituation seine Deckkraft um ein Vielfaches mit Reflexion übertreffen kann). Ausführlicher in dem langen Thread, den wir hier vor Jahren hatten.

Ach, und Valve hat noch eine fette Präsentation darüber, warum man Alpha nur im linearen Farbraum nutzen sollte.

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 21:58
von Zudomon
Danke erstmal, dass du mich auf das Thema aufmerksam gemacht hast! Ich werde da auf jeden Fall rum experimentieren und auch wenn das jetzt bei dem Nebel erstmal irgendwie nichts gebracht hat, vielleicht bei dem anderen Themen, die wir ja schon im ICQ besprochen haben. Wobei, Nebelfarbe müsste doch noch gehen.

Hier beim Nebel, links normales Alphablending, rechts premultiplied.

Code: Alles auswählen

      if(t.x>0.5) {
        c = c*fog.a+fog.rgb;
      } else {
        c = lerp(c, fog.rgb, fog.a);
      }
20160413_12.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 22:06
von Krishty
Fällt auch mir schwer, da einen Unterschied zu erkennen, aber danke :)

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 23:37
von LONy
Hey Zudo,

ich finde dein Nebel ist gut so wie er ist :) Freut mich die deutlichen Fortschritte zu sehen, immer weiter so!

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 13.04.2016, 23:41
von Zudomon
Durch das premultiplied Alpha kann ich nun wohl auch die Farben des Nebels vernünftig einfließen lassen. Statt hinterher mit der Nebelfarbe zu verblenden, wird im Vorfeld dann schon die richtige Farbe berechnet. Dabei wird nun die Nebelfarbe durch die Sonnenlichtfarbe beeinflusst und im Schatten hab ich einfach mal ein helles blau genommen. Außerdem wird der Nebellayer nun auch HDR berechnet und dann vorm Tonemapping verblendet.

(Jetzt muss ich allerdings auch wieder noch ne Menge anpassen)
20160413_13.jpg
20160413_14.jpg
LONy hat geschrieben:ich finde dein Nebel ist gut so wie er ist Freut mich die deutlichen Fortschritte zu sehen, immer weiter so!
Ja danke!! :D Motivierende Worte sind immer gut! :)
Hab schon wieder das Gefühl, von offenen Themen erschlagen zu werden.

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 14.04.2016, 00:13
von Krishty
Sieht toll aus! Freut mich, dass es klappt. Hak es ab und acker den Rest ab ;)

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 14.04.2016, 08:35
von marcgfx
ist wirklich noch ne ganze ecke besser jetzt! gute arbeit :)

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 14.04.2016, 12:22
von Zudomon
Krishty hat geschrieben:Sieht toll aus! Freut mich, dass es klappt. Hak es ab und acker den Rest ab ;)
Leider klappt es noch nicht so ganz... Tagsüber ist es herrlich, aber in der Nacht verschwindet der Nebel fast gänzlich... dabei stelle ich fest, dass ich irgendwie immer noch nicht ganz verstehe, wie ich das ganze eigentlich berechnen soll.

Hier erstmal der aktuelle Stand... dabei ist hier der Einfachheit halber erstmal nur der Entfernungsnebel (die Tiefenwerte werden zum Himmelszenit hin geringer, so dass nicht der komplette Himmel mit Nebel bedeckt wird).

20160414_1.jpg
20160414_2.jpg
Und in der Nacht, siehe da, kann man doch extrem weit gucken! :D
20160414_3.jpg


Also ich rendere das ganze in eine RGBA16F Textur... d.h. Nebelfarbe und invertierte Nebeldichte (also Lichtdurchlässigkeit).
Nebelfarbe ist Sonnenfarbe * Sonnenhelligkeit * 0.2. Ich könnte den Nebel stärker machen und hier die Farbe mit einem geringeren Wert multiplizieren... dann wäre die Sichtweite in dre Nacht auch beschränkt, hat aber den Nachteil, dass es dann Tagsüber nur ziemlich dunkelgrauer bis schwarzer Nebel ist, was ja auch nicht sein kann.

Code: Alles auswählen

cl_FogColor:= cl_SunColor * cl_SunColor.w * 0.2;

Code: Alles auswählen

   
    float4 fog = 0;                          // Nebel hat keine Farbe und keine Dichte
    float df = 1-exp(-dep2*0.005);   // Nebeldichte berechnen
    fog.a = df;                                // Alpha bekommt Nebeldichte
    fog.rgb += CF_FOG*df;              // Nebelfarbe bekommt cl_FogColor * Nebeldichte hinzuaddiert

    fog.a = saturate(fog.a);            // Clampen auf [0, 1]

    col.rgb = fog.rgb;                     // Farbe in Textur speichern
    col.a = 1-fog.a;                        // Lichtdurchlässigkeit in Textur speichern 
Vor dem Tonemapping wird dann beim finalen Bild die Pixelfarbe mit der Lichtdurchlässigkeit multipliziert und die Nebelfarbe (HDR) hinzuaddiert.

Code: Alles auswählen

      c = c*fog.a+fog.rgb;
Krishty, ich glaube, du musst mir mal erklären, was da schief läuft! :D
Oder wer sich sonst noch in dem Bereich auskennt ;)

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 16.04.2016, 12:00
von Zudomon
Unterdessen ist das Problem mit dem Nebel bei Nacht gelöst.

Der Nebel darf in der Nacht nicht schlicht eine komplett Schwarze Nebelfarbe haben. Würde man den ToneMapKey nicht ändern, so hätte man in der Nacht auch einfach schwarzen Nebel... aber durch das aufhellen der Szene scheint das bisschen Licht, was durch den Nebel kommt einfach durch. Hat der Nebel nun eine minimale Helligkeit, so verdeckt dieser Nachts ebenso die Szene.

20160416_1.jpg
20160416_2.jpg
20160416_3.jpg
20160416_4.jpg
20160416_5.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 16.04.2016, 12:41
von Krishty
Bist mir zuvorgekommen; super! Sieht jetzt schon viel natürlicher aus. Danke für die Korrektur :)

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 16.04.2016, 15:13
von marcgfx
sieht viel besser aus.

was mich bei der nachtszene stört, ist etwas dass mir auch schon bei vielen anderen spielen aufgefallen ist. je weiter weg der nebel ist, desto heller wird er. ebenso sind objekte die weit weg sind gräulich und heben sich vom himmel ab. ist aber nur ein detail ;)

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 16.04.2016, 17:06
von Zudomon
Der Nebel beeinflusst nun auch wieder ein bisschen die Sichtschärfe... ich denke, erstmal bleibt das alles jetzt so... meine Lust, für das Thema ist wieder vergangen. Zumal man sich auch hier wieder überall im Detail verlieren kann... und die Framerate schwindet auch langsam aber sicher... das ist sehr demotivierend.

Auf dem Bild erkennt man gut, wie die Nebelfarbe im Schatten sich ins bläuliche ändert...

20160416_6.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 16.04.2016, 21:44
von Zudomon
Meine #‎screenshotsaturday‬ heute...

20160416_9.jpg
20160416_8.jpg
20160416_11.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 16.04.2016, 22:31
von Chromanoid
Die ersten beiden Bilder sehen echt klasse aus. Beim letzten Bild ist halt wieder einmal das LOD Problem zu sehen :(, die Belichtung sieht aber super aus :). Bei Deinem Grasbewuchs müsstest Du eigentlich mal versuchen weiter entfernte Ränder von Wiesen auf dem Bildschirm zu erkennen um da dann eine Art Fransenrand dran zu setzen :)

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 18.04.2016, 11:53
von Zudomon
Eigentlich wollte ich es schon gestern hin bekommen... aber ich lenke mich ja immer ab wenn es schwierig wird.
Heute hab ich es aber geschafft, für das Hintergrundterrain das Materialblending hin zu bekommen...

20160418_2.jpg
20160418_3.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 18.04.2016, 12:18
von Zudomon
Ich bin ja wirklich gespannt, wie das hinterher mal aussieht, wenn auch im Hintergrund Vegetation erstellt wird.
20160418_4.jpg
20160418_5.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 20.04.2016, 01:24
von Zudomon
Ich hab mal geschaut, dass ich nun für die Blatt Textur auch eine Normalmap bzw. eine Materialtextur mit generiere :D

20160420_1.jpg
20160420_2.jpg
20160420_3.jpg
20160420_4.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 20.04.2016, 02:17
von Zudomon
Irgendwie hab ich da aber noch Fehler drin... mal abgesehen davon, dass die Binormale falsch war, ist selbst, wenn ich es ohne Normalmap mache, etwas falsch mit der Beleuchtung...
Sieht aus, als ob da irgendwo die Normalen noch biased sind.
20160420_5.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 20.04.2016, 02:23
von Zudomon
Okay, lag an was anderem... jedenfalls funktioniert es nun, allerdings sieht es irgendwie nicht so gut aus, wie ich es erhofft habe.
Bei den dynamischen Lichtquellen wird auch kein SSS-Part berechnet... vielleicht sollte ich das auch mal probieren.

20160420_6.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 20.04.2016, 02:32
von Zudomon
Hier nochmal mit SSS Berechnung für dynamische Lichtquellen:

20160420_7.jpg

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 20.04.2016, 14:47
von Schrompf
Die Version mit SSS sieht echt gut aus. Die ohne SSS sieht halt genau so aus, wie ein Stück Plastik in dieser Form aussähe. Wobei ja selbst einige Arten Plastik ne leichte Portion SSS drauf haben.

Re: [Projekt] StoneQuest lebt noch!

Verfasst: 03.05.2016, 14:19
von Zudomon
In den letzten Tagen hab ich mir dem UV-Mapping für den Drachen nochmal vorgenommen.

Der Kopf ist nun soweit fertig. Das Erstellen des Kopfes dauert mit dem DX9-Texturatlas 12,8 Sekunden. Da ich nun für den Kopf die Koordinaten per Hand setze, bin ich auf etwa 650 ms runter. Und ich finde, dass sich sogar die Texturauflösung verbessert hat.

Hier ein paar Bilder:

Automatisch:
20160503_2.jpg


Per Hand:
20160503_4.jpg
Automatisch:
20160503_3.jpg
Per Hand:
20160503_5.jpg