gpt4 book ai didi

javascript - 反馈循环 THREE.js

转载 作者:行者123 更新时间:2023-11-28 03:38:22 25 4
gpt4 key购买 nike

我通过执行以下操作实现了反馈循环(后备缓冲区):

function render()   
{
renderer.setRenderTarget(BufferA);
renderer.render(BufferAScene, camera);
renderer.setRenderTarget(null);
renderer.clear(); let temp = BufferA;
BufferA = BufferAFeedBack;
BufferAFeedBack = temp;
...
}

虽然它有效,但它会发出警告,表明纹理目标和帧缓冲区之间存在反馈循环。我想这就是为什么所有着色器在移动设备上都不可见的原因。有没有更有效的方法在 THREE.js 中交换 FBO?我知道 OpenGL 并且已经实现了同样的事情,所以我想我可以在 vanilla WebGL 中实现该应用程序,但我不想从头开始再次编写主机应用程序!虽然抽象层似乎让我重复了普通 WebGL 中不需要的对象,但有什么建议吗?

最佳答案

摘自 gman 的评论我做了一些调整,效果很好:

function render()
{

BufferAUniforms.iChannel0.value = BufferAFeedBack.texture;
ImageUniforms.iChannel0.value = BufferA.texture;

renderer.setRenderTarget(BufferA);
renderer.render(BufferAScene, camera);

renderer.setRenderTarget(null);
renderer.clear();

let temp = BufferA;
BufferA = BufferAFeedBack;
BufferAFeedBack = temp;

renderer.render(BufferImageScene, camera);

}

关于javascript - 反馈循环 THREE.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57508011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com