在计算着色器中使用image2D时出错

时间:2016-10-18 15:12:20

标签: opengl glsl textures shader

我想用计算着色器进行一些计算,并将结果写入图像。 Here is a tutorial,我想遵循(我在项目中使用OpenSceneGraph)。

但着色器代码无法编译。在教程中,图像像制服一样传递,但经过一些研究后我发现,你应该在布局中传递它。我在我的代码中更改了该部分,但它仍然不起作用,并且当我想使用图像时收到错误。

这是我的简单计算着色器:

#version 430
#define TILE_SIZE 1
layout(local_size_x = TILE_SIZE, local_size_y = TILE_SIZE, local_size_z = 1) in;
layout (binding = 1, rgba32f) writeonly uniform  image2D targetTex;
void main() {
imageStore(targetTex, gl_GlobalInvocationID.xy, vec4(1, 0, 1, 0));
}

我的错误信息:

error C1115: unable to find compatible overloaded function "imageStore(struct image2D1x32_bindless, uvec2, vec4)"

似乎图像的格式是错误的,但我不知道,我的错误在哪里。

0 个答案:

没有答案