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

时间:2016-05-10 16:50:47

标签: opengl-es texture2d compute-shader vulkan

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

'texture2D' : type is for Vulkan api only  

这个调用是否与计算着色器兼容?

1 个答案:

答案 0 :(得分:5)

您的问题不是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进行采样,以便在计算着色器中进行读取和写入。