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