在 GLSL (a uniform sampler2D
) 中对 2D 纹理进行采样时,texture
使用该函数并从采样器中推断出尺寸(在本例中为 2D)。这是自 1.30 以来在 GLSL 中采样纹理的现代方式(GLSL 参考页)。但是,您也可以使用该texture2D
功能。
该texture2D
函数是否已弃用,如果是,是否会texture2D
在某些版本的 GLSL 中删除(或已删除)对该函数的支持?
是的,texture2D()
(至少)OpenGL 3.3 已弃用;请参阅3.30 GLSL 规范的第 99 页。OpenGL 兼容性配置文件将继续支持它以避免破坏现有代码,但强烈建议不要在新代码中使用它。
编辑:OpenGL ES 的细节略有不同,但最终结果是相同的:在 OpenGL ES 3.0 中texture2D()
已弃用并替换为;请参阅3.0 GLSL ES 规范texture()
的第 8.8 节。