我有一个计算着色器(当然,我将纹理绑定到统一):
#version 440 core
layout( local_size_x = 32, local_size_y = 32) in;
layout (binding = 0, rgba8) uniform image2D Texture;
void main()
{
for(int i = 0; i < 10000; i++)
{ }
imageStore(Texture, ivec2(gl_GlobalInvocationID.xy), vec4(1, 0, 0, 1));
}
并尝试在启动时调用它(OnLoad事件):
for(int i = 0; i < Length; i++)
{
GL.UseProgram(compute_shader);
GL.DispatchCompute(image_width / 32, image_height / 32, 1);
}
Console.WriteLine("done");
其中image_width和image_height是我的窗口大小。
当Length <= 4时,我的窗口被红色填充,但是当Length> = 100时,控制台中只有“完成”。
可能是什么问题? GL.DispatchCompute()
个电话是依赖电话吗?
编辑:“长度”的准确边框为26(26个作品,不包含27个图片)