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

Aktuelle Zeit: Fr Jul 18, 2025 12:30

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [Hardware] Texture-Units
BeitragVerfasst: Do Nov 17, 2005 15:16 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
Hallo Leute,
wollte mal Fragen ob man bei einer OpenGL 2.0-unterstützenden Grafikkarte davon ausgehen kann das diese auch min. 4 TextureUnits unterstützt ?

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 17, 2005 15:38 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Denke nicht, dass du Pauschal sagen kannst, dass eine Karte ab einer Version X Mind. Y Textur Units hat. Ich meine der erste Treiber den meine EX Radeon 9500 pro bekommen hatte war ein OpenGL 1.4 Treiber. Und da konnte sie auch schon 8 Texturen gleichzeitig. Aber es ist wahrscheinlich, da auch low level karten bereits 6 Texturen können.

Ab OpenGL 1.3 (oder Extension GL_ARB_multitexture) werden mehrere Texturen unterstützt. Mit glGet und GL_MAX_TEXTURE_UNITS kannst du abfragen wie viele unterstützt werden und entsprechend darauf reagieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 17, 2005 16:11 
Offline
DGL Member

Registriert: So Sep 26, 2004 05:57
Beiträge: 190
Wohnort: Linz
Dazu äussert sich die 2.0-Spezifikation wie folgt:

MAX TEXTURE UNITS
Minimaler Wert: 2
Beschreibung: Number of fixed-function texture units

MAX VERTEX TEXTURE IMAGE UNITS
Minimaler Wert: 0
Beschreibung: Number of texture image units accessible by a vertex shader

MAX TEXTURE IMAGE UNITS
Minimaler Wert: 2
Beschreibung: Number of texture image units accessible by fragment processing

Aber wie bereits erwähnt wurde kannst du wohl davon ausgehen, dass keine ernst zu nehmende Grafikkarte mit OGL 2.0 Unterstützung mit < 4 Units daher kommt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 17, 2005 19:38 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Praktisch kannst du von 16 Texturen ausgehen (im Shader). Denn jede OpenGL2.0 Karte kann wohl auch PS2.0 und da sind 16 gefordert.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 17, 2005 19:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
Das find ich gut @ Lars, danke für die Info!

@Lyr: Find es etwas widersprüchlich, dass die vetrex_shader_tex_units ein minimum von 0 die FS_Tex_Units ein Min von 2 haben, aber naja....

Danke euch allen.

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 17, 2005 20:12 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Lars: Die restlichen 8 werden dann durch Software emuliert oder wie läuft das ab? Meine 9600er ist OGL 2.0 wird mit Sicherheit aber keine 16 Texturen gleichzeitig packen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 17, 2005 20:16 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
die Zahl 0 bei der minimalspezifikation für vertexshader ist insofernnicht wiedersprüchlich, dass Texturzugriffe im vertexshader nicht in den Spezifikationen vorrausgesetzt werden. Dies gehört ja auch zu den eher neueren Features.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 17, 2005 21:56 
Offline
DGL Member

Registriert: So Sep 26, 2004 05:57
Beiträge: 190
Wohnort: Linz
@Lars:
Auf die Gefahr hin das ich mich irre - hatte noch nicht allzu viel mit Shadern zu tun - aber sind Shader-Versionen nicht nur bei DX? Wenn dem nicht so ist, würde es mich echt interessieren wo man näheres dazu findet wie das bei OGL ist. Wenn dem schon so ist stellt sich mir die Frage, ob dies auch auf der Hardware gewährleistet ist oder ob dies nur im Softwaremodus als Vorraussetzung gilt. Obwohl wahrscheinlich viele Grafikkartenhersteller das Minimum von 16 Texture Units bei DX unterstützen würden, kann ich mir nur schwer vorstellen, dass bei einem Standard wie es OGL nun mal ist 16 Units "Vorschrift" sind.

@Extrawurst:
Um ehrlich zu sein habe ich diese Werte nur abgeschrieben, wie bereits erwähnt hatte ich noch nie das Vergnügen mit Shadern zu arbeiten, also musste ich mich mit ein paar Papers begnügen. Aber da die Vertex Ebene nun mal üblicherweise eher wenig mit Texturen zu tun hat, kann ich mir durchaus vorstellen, dass das Minimum noch einge Zeit auf 0 bleiben wird. Der fixe "Ersatzteil" für Fragment Shader hingegen hat schon seit jeher Zugriff auf Texturen, somit ist der wahlfreie Zugriff darauf nur eine Sache von wenigen Drähten :-).
Also wie gesagt, bevor ich auf diese Werte gestoßen bin wusste ich selbst nicht, das hier überhaupt eine Unterscheidung vorhanden ist, aber bei näherer Betrachtung hat dies durchaus Sinn, denn man wird selten alle Texture Units für das Vertex Programm "verschwenden" und da dies auch etwas langsamer ist als eine (Hardware-)Implementierung ohne Texturzugriffe macht es auch durchaus Sinn nur eine beschränkte Anzahl von Texturen im Vertex Programm zu zu lassen, alleine schon wegen dem benötigten Cache (da Vertex-Programme und Fragment-Shader ja parallel ablaufen können sollten).


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]