tutorial touchdesigner shadertoy shaders descargar opengl glsl

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:

  1. En el fragmento de sombreado, la textura pasa un valor cero (por glUniform1i). ¿El valor es realmente cero? ¿Es el valor algo más?

  2. ¿ glActiveTexture realmente necesaria la llamada glActiveTexture ?

  3. ¿Por qué pasamos un valor cero en glUniform1i?