Opengl es texture2D与android手机上的计算着色器不兼容?

Opengl es texture2D与android手机上的计算着色器不兼容?,opengl-es,texture2d,compute-shader,vulkan,Opengl Es,Texture2d,Compute Shader,Vulkan,我正在尝试使用texture2D()从计算着色器中的sampler2d纹理读取值。在PC上工作正常,但在android移动设备(使用310 es版)上,相同代码的编译失败,错误如下: 'texture2D' : type is for Vulkan api only 这个调用在某种程度上是否与计算着色器兼容?您的问题不是100%清楚您使用什么工具来编译着色器,或者您是否在运行时编译?。texture2D已在OpenGL(ES)着色器中取消了采样的定义 对于Vulkan(如消息所述),有一个

我正在尝试使用texture2D()从计算着色器中的sampler2d纹理读取值。在PC上工作正常,但在android移动设备(使用310 es版)上,相同代码的编译失败,错误如下:

'texture2D' : type is for Vulkan api only  

这个调用在某种程度上是否与计算着色器兼容?

您的问题不是100%清楚您使用什么工具来编译着色器,或者您是否在运行时编译?。texture2D已在OpenGL(ES)着色器中取消了采样的定义

对于Vulkan(如消息所述),有一个“texture2D”,用于读取与采样器分离的纹理(详情请参阅)


对于OpenGL ES 2.x(及以上版本),您可以使用sampler2D(或sampler2DShadow)从纹理中采样,或使用image2D在计算着色器中进行读写。

我在运行时编译它们。如上所述,不要使用texture2D,因为它仅在图像与采样器分离的Vulkan上可用。如果要在计算着色器中读取和/或写入图像数据,请改用image2D。