texture2D与Android手机上的Compute Shaders不兼容?

mar*_*erg 3 opengl-es texture2d compute-shader vulkan

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

'texture2D' : type is for Vulkan api only  
Run Code Online (Sandbox Code Playgroud)

这个调用与计算着色器不兼容吗?

Sas*_*ems 5

您的问题还不是100%清楚要使用哪种工具来编译着色器,还是在运行时进行编译?在OpenGL(ES)着色器中采样时不建议使用texture2D。

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

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