我的glsl代码:
ivec2 readCoord = ivec2(gl_FragCoord);
readCoord.x += int(sin(time) * 100);
vec2 c = imageLoad(image, readCoord).rg;
memoryBarrier();
imageStore(image, ivec2(gl_FragCoord), vec4(c, 0, 0));
time
是float类型的制服。
动画中的一帧:
这是它的外观:
知道发生了什么吗? :)
注意:在this demo中,它们执行与我相同的操作,甚至不使用memoryBarrier()。 this example
中相同