-3
有一个网站,shadertoy.com我可以很容易地测试glsl代码。现在我想玩我的摄像头。我的一个必需步骤是将低通帧之间renderred图像:我如何获得glsl中的前一帧数据?
void mainImage(out vec4 fragColor, in vec2 fragCoord)
{
vec2 uv = fragCoord.xy/iResolution.xy;
fragColor.rgb = prevColor.rgb*0.9 + texture(iChannel0, uv).rgb*0.1;
}
新的网络摄像头帧位于iChannel0质感;但prevColor - 我不能得到..我在哪里可以得到先前renderred帧?或者我如何存储渲染的fragColor.rgb数据,使其在传递之间“生存”?
它在CPU端代码上完成....参见'glReadPixels','FBO',渲染到纹理等...重复没有接受的答案,但答案是正确的,你不能在着色器中做到这一点。由于您抓取网络摄像头图像,所以您可以直接将它们存储到纹理(txr0或txr1)中并进行类似双缓冲的交换... – Spektre