Was ist der Umfang von glTexParameters in OpenGL?

8

Funktioniert glTexParamter auf alle Texturen global oder nur auf die Textur, die aktuell gebunden ist.

Zum Beispiel, wenn ich dies beim Laden der Textur rufe:

%Vor%

Und das bei einer anderen Textur laden:

%Vor%

Wenn ich die erste Textur anhefte, wird nur der letzte Wert verwendet, den ich gesetzt habe ( GL_CLAMP ), oder werden die ursprünglich gesetzten Werte verwendet, wenn die Textur gebunden wurde?

    
Justin Meiners 04.09.2010, 20:41
quelle

1 Antwort

6

Aus den OpenGL FAQ :

21.070 Wie funktionieren Texturobjekte?

Texturobjekte speichern Texturkarten und den zugehörigen Texturparameterstatus. Sie ermöglichen den Wechsel zwischen Texturen mit einem einzigen Aufruf von glBindTexture ().

(...)

Die folgenden Funktionen beeinflussen und speichern den Status in Texturobjekten: glTexImage * (), glTexSubImage * (), glCopyTexImage * (), glCopyTexSubImage * (), glTexParameter * () und glPrioritizeTextures (). . Da die GLU-Routinen zum Erstellen von Mipmap-Pyramiden schließlich glTexImage * () aufrufen, beeinflussen sie auch den Zustand des Texturobjekts. In dieser Liste sind glTexEnv * () und glTexGen * (); Sie speichern keinen Status in Texturobjekten.

Ergo, glTexParameter * betrifft nur die gebundene Textur.

    
Kornel Kisielewicz 04.09.2010, 20:51
quelle

Tags und Links