Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Apr 19, 2024 01:05

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: GL_TEXTUR_?D / glTexImage?D
BeitragVerfasst: Di Jul 14, 2015 17:23 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Mit glTexImage2D und GL_TEXTURE_2D wird für die gängigen Texturen verwendet.

Mit glTexImage1D kann man Regenbogen artige Texturen erzeugen.

Wie sieht es mit glTexImage3D aus, für welche Anwendungen kann man dies verwenden ?
Mulitexturing , Hologramme?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GL_TEXTUR_?D / glTexImage?D
BeitragVerfasst: Di Jul 14, 2015 17:48 
Offline
DGL Member
Benutzeravatar

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.).

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GL_TEXTUR_?D / glTexImage?D
BeitragVerfasst: Mi Jul 15, 2015 13:13 
Offline
DGL Member
Benutzeravatar

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 Bandwi​dth 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

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GL_TEXTUR_?D / glTexImage?D
BeitragVerfasst: Mi Jul 15, 2015 22:45 
Offline
DGL Member
Benutzeravatar

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?)

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GL_TEXTUR_?D / glTexImage?D
BeitragVerfasst: Fr Jul 17, 2015 13:39 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Es gibt auch noch Texturarrays.
Da gibt es dann noch eine 3. Dimension.
Die Anwendungsfälle sollten selbsterklärend sein.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.104s | 17 Queries | GZIP : On ]