prev up next

Konzept

Bekannt:
Die Originalfarbe einer Texture ist ein Punkt in dem RGB-Würfel.
Wenn man entlang einer Parallelen zur Schwarz-Weiss-Diagonale in dem RGB-Würfel läuft,
bleiben die Verhältnisse zwischen den R-, G- und B-Farbanteilen gleich und visuäl ändert sich bei einer Farbe nur Intensität.

Also je nach Lichtverhältnisse kann man entlang der Parallelen zur Schwarz-Weiss-Diagonale, die durch den Farbwert der Texture geht, wandern.

Dadurch stoßen wir aber auf ein Problem:
die Texture wird nie vollständig schwarz oder weiss, da wir beim Treffen auf eine Seiten-Ebene des RGB-Würfels die Farb-Werte-Interpolation abbrechen müssen.
Man kann natürlich weiter in der Seiten-Ebene direkt zu der Schwarz- bzw. Weiss-Ecke wandern;
dabei würden aber sehr starke Aufhellungen bzw. Abdunklungen zustandekommen.

Also die IDEE:
Wir interpolieren die Farb-Werte nicht entlang der Parallelen zur Schwarz-Weiss-Diagonale sondern entlang zwei Geraden:
die erste verbindet den Schwarz-Ecke (0,0,0) mit dem Farb-Punkt (r,g,b) und die zweite - den Farb-Punkt mit Weiss-Ecke (1,1,1).

Ist der Intensität-Wert kleiner 0.5, so interpoliere entlang der ersten Geraden. Sonst interpoliere entlang der zweiten. Jeder Farb-Punkt hat R-, G- und B-Komponenten
und bei Interpolation müssen diese Werte ein Mal getroffen werden. Also muss man entlang jeder der Geraden zwischen 0 und 1 interpolieren.


Kugel mit Default-Texture


prev up next