Frage

blinn-phong schattierung ...?

Normalen blinn-phong

Das Problem, das ich habe, wie das obige Bild hoffentlich illustriert, ist, dass ich meine speziellen Highlights nicht glatt bekommen kann. Das Problem ist die abrupte Abschaltung entlang der Gesichtskanten, die nicht passieren sollte. Die diffuse Beleuchtung scheint ziemlich gut zu funktionieren, und es verwendet dieselben interpolierten Werte. Hier ist der Code für die Blinn-Phong-Spekulare Highlights:

generasacodicetagpre.

lightDirection ist konstant, es ist unendlich weit weg (dh die Sonne). Wie für den Viewray handelt es sich in der Vertex-Shader so berechnet, wie mit der Projektionsmatrix:

generasacodicetagpre.

Ich benutze aufgeschobene Rendering, mit dem die UV-Werte stammen (zu einer vollständigen Bildschirmbeschaffenheit).

Das einzige, was ich mir vorstellen kann, ist, dass die normale Interpolation einfach nicht glatt genug ist. Aber wenn das der Fall ist, wie würde ich es dazu bringen, es zu fixieren? (Ich speichere die Normalen als 16-Bit-Schwimmer, aber auf 32 Bits erhebt keinen Unterschied).

War es hilfreich?

Lösung

Bildbeschreibung hier eingeben

und die Teekanne ist jetzt behoben!Dort war ein Problem mit der Interpolation der Normalen, aber zum Glück war es ein einfacher Fix;Ich normale die Normalen in meinem Scheitel-Shader, dann interpretieren, anstatt das erste und dann zu interpolieren und dann normalisieren.Es ist immer noch nicht perfekt, aber es ist sicher eine Verbesserung!

Die Lektion hier: Wenn Ihr Bild flach aussieht, tun Sie wahrscheinlich etwas, das Sie nicht in der Scheitel-Shader tun sollten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top