2010-09-04 12 views
8

¿El glTexParamter actuar sobre todas las texturas a nivel mundial o solamente la textura que está obligado actualmente.¿Cuál es el alcance de glTexParameter en OpenGL?

Por ejemplo, si llamo a esto en la carga de textura:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); 

Y esto en otra carga de textura:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); 

Cuando ato el primer textura será que sólo tiene que utilizar el último valor Configuré (GL_CLAMP) o ¿usará los valores establecidos originalmente cuando se vinculó la textura?

Respuesta

6

Desde el OpenGL FAQ:


21,070 ¿Cómo funcionan los objetos textura?

textura objetos mapas tienda de textura y su estado de parámetros de textura asociado. Permiten cambiar entre texturas con una sola llamada a glBindTexture().

(...)

Las siguientes funciones afectan y el estado tienda de objetos de textura: glTexImage *(), glTexSubImage *(), glCopyTexImage *(), glCopyTexSubImage *(), glTexParameter *() y glPrioritizeTextures(). Desde las rutinas GLU para la construcción de las pirámides, en última instancia mipmap llamar glTexImage *(), que también afectan a la textura de objetos state.Noticeably ausente de esta lista son glTexEnv *() y glTexGen *(); no almacenan estado en objetos de textura.


Ergo, glTexParameter * sólo afecta a la textura atado.

+1

muy fresco que es lo que estaba esperando de lo contrario tendría que hacer un montón de cambios de estado cada vez que me une una textura. –

Cuestiones relacionadas