gpt4 book ai didi

javascript - three.js EffectComposer 浏览器窗口调整大小问题

转载 作者:行者123 更新时间:2023-11-30 17:29:26 27 4
gpt4 key购买 nike

我有一个渲染设置,在调整浏览器窗口大小时出现调整大小问题。

我渲染了两个场景,其中一个用于应用了后处理效果的对象。对于效果,我使用示例目录中的 THREE.EffectComposer 和着色器。

然后在另一个着色器示例的帮助下,将两个场景渲染相加混合。


请参阅以下简化设置:http://jsbin.com/hibum/18/edit?js,output(在 HTML 部分,我包含了一些来自 three.js 存储库的 js 源代码)

如果缩小输出面板,然后重新加载页面并再次加宽面板,您将看到类似这样的内容:

The second scene rendering did not update correctly

主场景(蓝色球体)确实更新了它的渲染尺寸,但是效果场景(橙色球体)仍然具有相同的分辨率,只是放大了。

我无法找出哪个渲染目标或渲染器(或着色器制服?)需要在浏览器调整大小事件中更新才能在调整大小后仍正确输出图像。

对于主作曲器,它使用 setSize() 调用,但如果我在效果作曲器上这样做,它不会渲染效果场景。

感谢任何帮助,谢谢。

最佳答案

我必须重置两个 EffectComposer,然后还重置 AdditiveBlendShader 的 tDiffuse2 制服:

main.reset();  
effects.reset();

blend.uniforms.tDiffuse2.value = effects.renderTarget2;

参见 http://jsbin.com/hibum/23/edit?js,output

关于javascript - three.js EffectComposer 浏览器窗口调整大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23460040/

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