Wir haben einen Noise Cube (Volumentextur) als Ausgangstextur für Normalen und Distortion, das vereinfacht die Texturierung extrem, weil wir so echte 3D Texturierung haben, wir müssen einfach nur die Weltkoordinaten skalieren und damit dann auf die Textur zugreifen. Der Vergleich zu Nearest-Neighbor-Sampling bezieht sich auf die Zellen, normalerweise würde man ja einfach linear interpolieren, so hätte man dann aber eben keine Zellen, bei Point (Nearest-Neighbor) Sampling dagegen hätte man sehr scharfe Kanten zwischen den Zellen. Der Hybrid ist nun, die Texturkoordinaten mit der Auflösung der Textur zu multiplizieren, und die Texturkoordinaten dann mittels einer simplen Potenzfunktion zum Pixelzentrum zu verschieben. So erhält man mehr vom Pixelinneren, und hat am Rand dennoch Interpolation.
Damit die Zellen nun nicht quadratisch werden, werden die skalierten Weltkoordinaten auch noch genutzt, um einen zusätzlichen Texturlookup noch vorher zu tätigen, mit dessen Ergebnisvektor dann die skalierten Weltkoordinaten einfach verzerrt werden, bevor sie in oben beschriebener Weise zum Sampeln der Zelle verwendet werden.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »CodingCat« (30.08.2010, 22:17)