Quando si campiona una trama 2D in GLSL (a uniform sampler2D
), viene utilizzata la funzione texture
e la dimensione viene dedotta dal campionatore (2D in questo caso). Questo è il modo moderno di campionare una trama nel GLSL dall'1,30 (GLSL Reference Pages). Tuttavia, è anche possibile utilizzare la funzione texture2D
.trama vs texture2D in GLSL
La funzione texture2D
è obsoleta e, in tal caso, supporterà che la funzione texture2D
sia rimossa (o sia stata rimossa) in alcune versioni di GLSL?
Non è stato menzionato OpenGL ES nella domanda originale, quindi ho pensato che stavamo parlando di vaniglia GL. Se la risposta è diversa per GL ES, vale certamente la pena menzionarla; Aggiornerò la mia risposta (a meno che qualcun altro voglia intervenire). – postgoodism
@Jessy Considerando che la domanda non ha menzionato alcun ES (che non ha nemmeno la deprecazione, per non parlare di GLSL 1.30 o la funzione 'texture' come ** menzionata esplicitamente nella domanda **), il tuo commento non lo fa Ha davvero senso. Il fatto (o è comunque quello?) Che la maggior parte delle persone usa OpenGL ES non rende magicamente questa risposta perfettamente corretta senza senso. Perché ti aspetti una risposta fuori tema (per qualsiasi motivo) non improvvisamente rende una risposta in argomento off-topic. –
Quindi la risposta a questo uso 'texture()' se su OpenGL e 'texture2D()' se su OpenGL ES? Avrei preferito che ci fosse una funzione. – Zebrafish