WebGL/Three.jsで単純なフレーム減算をしようとしています
現在のデモ: http://zebradog.github.io/camera/motion.html
ここのシェーダー: https://github.com/zebradog/camera/blob/master/js/shaders/motion.js
出力が 1 フレームおきにちらつき/レンダリングされているように見える。フレームバッファのスワップに問題があると思いanimate()
ますが、問題を見つけることができないようです:
https://github.com/zebradog/camera/blob/master/motion.html#L139
if ( video.readyState === video.HAVE_ENOUGH_DATA ){
prevTexture.image.data = videoTexture.image.data;
videoContext.drawImage(video, 0, 0,SCREEN_WIDTH,SCREEN_HEIGHT);
videoTexture.image.data = new Uint8Array(videoContext.getImageData(0,0,SCREEN_WIDTH, SCREEN_HEIGHT).data);
if(prevTexture.image.data.length) {
prevTexture.needsUpdate = true;
}
videoTexture.needsUpdate = true;
}