Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
1D-Texturen werden i.d.R. für Lookups verwendet.
3D-Texturen für Animationen, z.B. 3D-Noise die man dann im Shader nutzt um sie da nicht berechnen zu müssen oder Rendern volumetrischer Dinge (Nebel, Lichtquellen, etc.).
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2621 Wohnort: Berlin
Programmiersprache: Go, C/C++
3D Texturen finden nur kleinen einsatz, weil sie in vielen Anwendungsfällen sehr ineffizient sind. Als 3D Textur würde man viel Speicher verbrennen und natürlich ist es von hause aus langsamer, weil mehr Texelzugriffe pro Punkt gemacht werden müssen und weil es schnell cache unfreundlich wird. Die letzten Zahlen die ich gelesen habe, bricht die Performance ab 32x32x32 Blöcken bei NV und AMD ein. Man geht in der Regel den Umweg über sparse maps(indirekter zugriff über lookup tables in 2D Texturen). Vollständige Volumen Texturen, im Medizinischen Bereich sind ein Anwendungsfall und da gibt es soviele unterschiedliche Lösungen diese dar zu stellen, dass ein schwindelig wird. Voxel basierte Lösungen, wie z.B. dynamic global ilumination, volume shadow, dynamic reflection und ähnliches läuft gpu seitig über sparse maps aber man kann softwareseitig auch echte 3D volume raytracen. ARM hat z.B. für ihren neuen Chipsatz sparse maps in die opengl 4 pipeline eingebunden und löst so echtzeit raytracing geschichten um effizient schatten, reflektionen, alpha und dynamische beleuchtung zu raytracen. Dabei werden die triangle, die über die OpenGL Pipeline gehen an ein voxelierungs code gegeben(z.B. Vulkan) und in einer sparse map eingetragen. So gibt es eine 3D Textur von der Umgebung und mit Voxel Cone Tracing kann man dann in den OpenGL Shadern drauf zugreifen.
Man arbeitet also um richtige 3D Texturen drum rum, weil der Speicher auch ziemlich teuer ist und mit dem wechsel von GDR5 auf HBM(High Bandwidth Memory) Speicher wird das nochmal teurer. AMD hat ihre HBM GPU letzten Monat raus gebracht und die Compute benchmarks sind der Wahnsinn(~110% schneller als Titan) und NV hat bereits HBM für ihre Pascal Serie kommendes Jahr lizensiert. Dadurch werden solche sparse/raytrace Lösungen nochmal schneller und das Interesse richtige 3D Texturen weiter aus zu bauen sinkt weiter.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
3D-Texturen werden soweit ich weiß eigentlich nur noch zum Laden von volumetrischen Daten genutzt. Das ist wohl anscheinend in diversen Anwendungsbereichen "besser", weil du durch den 3. Parameter wieder Berechnungen sparst und der Upload an sich wohl sehr gut ist.
Aber das waren alles schon immer eher Spezialfälle. Ein paar gute Beispiele aus alter Zeit wären Lookuptables zur Farbkorrektur oder diverse Problemchen bei Lightmaps. (Humus hat da glaube ich was?)
Mitglieder in diesem Forum: 0 Mitglieder und 42 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.