Al muestrear una textura 2D en GLSL (a uniform sampler2D
), se usa la función texture
y la dimensión se deduce de la muestra (2D en este caso). Esta es la forma moderna de muestrear una textura en el GLSL desde 1.30 (GLSL Reference Pages). Sin embargo, también puede usar la función texture2D
.texture vs texture2D en GLSL
¿Está obsoleta la función texture2D
y, si es así, se eliminará (o se habrá eliminado) la compatibilidad con la función texture2D
en alguna versión de GLSL?
No se mencionó OpenGL ES en la pregunta original, así que supuse que estábamos hablando de vanilla GL. Si la respuesta es diferente para GL ES, ciertamente vale la pena mencionarla; Actualizaré mi respuesta (a menos que alguien más quiera intervenir). – postgoodism
@Jessy Teniendo en cuenta que la pregunta no mencionó ningún ES (que ni siquiera tiene desaprobación, por no hablar de GLSL 1.30 o la función 'texture' como ** mencionada explícitamente en la pregunta **), tu comentario no lo hace Realmente tiene sentido. El hecho (¿o es uno de todos modos?) De que la mayoría de la gente use OpenGL ES no hace mágicamente que esta respuesta perfectamente correcta carezca de sentido. Debido a que espera que una respuesta fuera del tema (por los motivos que sean) no de repente convierte una respuesta en el tema fuera de tema. –
Entonces, ¿la respuesta a este uso es 'texture()' si está en OpenGL y 'texture2D()' si está en OpenGL ES? Hubiera preferido que hubiera una función. – Zebrafish