关于GLSL中的opengl:texture vs texture2D

texture vs texture2D in GLSL

在GLSL(a uniform sampler2D)中采样2D纹理时,使用texture函数,并从采样器(在这种情况下为2D)推断尺寸。 从1.30开始,这是在GLSL中采样纹理的现代方法(GLSL参考页)。 但是,您也可以使用texture2D函数。

是否已弃用texture2D函数,如果这样,在某些版本的GLSL中是否会删除(或已删除)对texture2D函数的支持?


是的,从(至少)OpenGL 3.3开始不推荐使用texture2D(); 请参阅3.30 GLSL规范的第99页。 OpenGL兼容性配置文件将继续支持它,以避免破坏现有代码,但强烈建议不要在新代码中使用它。

编辑:OpenGL ES的详细信息略有不同,但最终结果是相同的:在OpenGL ES 3.0中已弃用texture2D()并由texture()代替; 请参阅3.0 GLSL ES规范的8.8节。