web-dev-qa-db-fra.com

texture vs texture2D dans GLSL

Lors de l'échantillonnage d'une texture 2D dans GLSL (un uniform sampler2D), la fonction texture est utilisée et la dimension est déduite de l'échantillonneur (2D dans ce cas). C'est la manière moderne d'échantillonner une texture dans le GLSL depuis 1.30 ( GLSL Reference Pages ). Cependant, vous pouvez également utiliser le texture2D une fonction.

Est le texture2D fonction déconseillée et si c'est le cas, prendra en charge texture2D la fonction a-t-elle été supprimée (ou a été supprimée) dans une version de GLSL?

23
Mortennobel

Oui, texture2D () est obsolète depuis (au moins) OpenGL 3.3; voir page 99 du .30 spécification GLSL . Il continuera à être pris en charge dans les profils de compatibilité OpenGL pour éviter de casser le code existant, mais son utilisation dans le nouveau code est fortement déconseillée.

[~ # ~] modifier [~ # ~] : Les détails sont légèrement différents pour OpenGL ES, mais le résultat final est le même: texture2D () a été déconseillé et remplacé par texture () dans OpenGL ES 3.0; voir la section 8.8 de la spécification 3.0 GLSL ES .

31
postgoodism