touchdesigner - opengl shader descargar
¿Qué almacena sampler2d? (1)
El sampler2D está enlazado a una unidad de textura . La llamada glUniform lo une a la unidad de textura cero. La llamada glActiveTexture solo es necesaria si va a utilizar varias unidades de textura (porque GL_TEXTURE0 es el valor predeterminado de todos modos).
He leído un ejemplo de textura en OpenGL 2.1
. El sombreador de fragmentos se ve así:
#version 120
uniform sampler2D texture;
varying vec2 texcoord;
void main(void)
{
gl_FragColor = texture2D(texture, texcoord);
}
El texcoord
se pasa del vértice shader.
Se utiliza el siguiente código de representación en C ++:
void render()
{
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture_id);
glUniform1i(unf_texture, 0);
}
Estoy confundido acerca de algunas cosas. Tengo alguna pregunta:
En el fragmento de sombreado, la textura pasa un valor cero (por glUniform1i). ¿El valor es realmente cero? ¿Es el valor algo más?
¿
glActiveTexture
realmente necesaria la llamadaglActiveTexture
?¿Por qué pasamos un valor cero en glUniform1i?