texture2D 与 android 移动设备 phone 上的计算着色器不兼容?

texture2D not compatible with Compute Shaders on android mobile phone?

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

'texture2D' : type is for Vulkan api only  

这个调用不是以某种方式与计算着色器兼容吗?

从你的问题中不能 100% 清楚你使用什么工具来编译你的着色器,或者你是在运行时编译?。已弃用 texture2D 在 OpenGL (ES) 着色器中进行采样。

对于 Vulkan(如消息所述),有一个 "texture2D" 用于读取与采样器分离的纹理(有关详细信息,请参阅 https://www.khronos.org/registry/vulkan/specs/misc/GL_KHR_vulkan_glsl.txt)。

对于 OpenGL ES 2.x(及更高版本),您将使用 sampler2D(或 sampler2DShadow)从纹理或 image2D 中采样以在计算着色器中读取和写入。