Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Time 片段着色器反向播放_Time_Three.js_Glsl_Shader - Fatal编程技术网

Time 片段着色器反向播放

Time 片段着色器反向播放,time,three.js,glsl,shader,Time,Three.js,Glsl,Shader,我在shadertoy.com上找到了这个片段着色器,现在我将通过three.js实现它。我的问题是,我真的希望能够控制着色器的“时间”。这样我就可以让它“播放”,然后“反转”效果,让它回到起点。它也将是互动的,所以它不是一个动画的问题 最好的方法是什么 shadertoy效果。通常,可以通过将time变量替换为1000.0-time之类的变量来反向播放着色器,其中1000.0是要从中向后播放的时间 但是,在您发布的示例中,着色器实际上每一帧都会覆盖输入图像,因此您不能反向执行该操作。要反向执行

我在shadertoy.com上找到了这个片段着色器,现在我将通过three.js实现它。我的问题是,我真的希望能够控制着色器的“时间”。这样我就可以让它“播放”,然后“反转”效果,让它回到起点。它也将是互动的,所以它不是一个动画的问题

最好的方法是什么


shadertoy效果。

通常,可以通过将
time
变量替换为
1000.0-time
之类的变量来反向播放着色器,其中1000.0是要从中向后播放的时间


但是,在您发布的示例中,着色器实际上每一帧都会覆盖输入图像,因此您不能反向执行该操作。要反向执行某些操作,它必须是一个不依赖于其他状态的时间函数。

请发布一些努力,无论您能做什么。好吧,对于碎片着色器,我还是个新手,但我最初的想法是将帧数据保存在数组中,然后使用它进行来回操作。但由于相互作用,它似乎很复杂。也许有更好的办法?谢谢你的回复Holger!是的,我相信我需要为每一帧存储数据,但这会使交互部分变得非常复杂。我想,尽管有人有着同样的想法,他们还是设法以一种更优雅的方式解决了这个问题。