Cubemaps: Cubemaps sind eine einfache Lösung und erhöhen den Speicherverbrauch nicht um das Sechsfache. Man teilt die Textur lediglich in 6 kleinere rechteckige Flächen auf, wodurch sich das Verzerrungsproblem an den Polen lösen lässt.
Texturverzerrung: Die Texturverzerrung an den Polen ist eine extreme Form der Verzerrung, die auf der gesamten Kugel auftritt. Wenn man die Kugel in Dreiecke unterteilt, wird die Verzerrung noch deutlicher.
Berechnung der UV-Koordinaten: Die richtige Lösung ist, die UV-Koordinaten pro Pixel im Pixel-Shader zu berechnen. Dadurch verschwinden Nähte an den Polen.
Displacement Mapping: Es lohnt sich, Displacement Mapping noch einmal anzuschauen. Zur Lösung des Problems ist es nicht geeignet, aber es ist einfach und macht Spaß.
Musikvisualisierung: Vor 25 Jahren wurde eine Musikvisualisierung für SoundJam geschrieben. Die Musikdaten wurden wie koronale Auswürfe der Sonne visualisiert.
Spielgrafik: Selbst in Spielen mit begrenzten Ressourcen ließ sich immersive Grafik umsetzen. Der Unterschied zwischen Projekten mit realen Einschränkungen und Hobbyprojekten ist interessant.
Kompromiss: Als Kompromiss ist es besser, für die Oberflächentextur eines Gasriesen eine vorgerenderte animierte Textur zu verwenden, statt sie in Echtzeit zu erzeugen.
Vorteile des Kompromisses: Der Kompromiss kann Speicher und GPU-Bandbreite sparen und ist nützlich, um weit entfernte Himmelskörper mit Linseneffekten darzustellen.
GPU-Funktionalität: Es stellt sich die Frage, ob es in GPUs oder 3D-Bibliotheken eine Funktion gibt, mit einem einfachen Algorithmus zum Zeichnen von Kreisen eine Kugel zu rendern.
Erklärung und Visualisierung: Erklärung und Visualisierung sind hervorragend. Triplanar Mapping hätte ebenfalls das Nahtproblem und das Problem an den Polen lösen können.
Icosphere: Eine Icosphere lässt sich gleichmäßiger abwickeln und hat normalisierte Vertex-Positionen sowie Elementgrößen. Das Abwickeln ist nicht einfach, aber möglich.
1 Kommentare
Hacker-News-Kommentare