我发现费尔南多·塞拉诺(Fernando Serrano)的an example讲述了在ThreeJS中如何淡入淡出2个场景。 Here is使用ThreeJS 101进行了稍微修改,可以正常工作的JSFiddle版本。现在我要解决的问题...
将ThreeJS升级到最新版本(107)时,WebGLRenderer
进行了一些更改。 renderTarget
和forceClear
参数已从其render
函数中删除。我尝试进行update my JSFiddle,但似乎一切正常,但是控制台显示很多错误!
我似乎无法弄清楚问题出在哪里。顺序或设置渲染目标并清除渲染器是否重要?我可以为两个渲染目标使用相同的渲染器吗?
如果有人可以向我解释我在做什么错,那将是很棒的事情!
答案 0 :(得分:1)
我似乎无法弄清楚问题出在哪里。顺序或设置渲染目标并清除渲染器重要吗?
是的。将WebGLRenderer
视为状态机。首先,您必须指定是否通过.setRenderTarget()
使用渲染目标。在下一步中,您可以执行可选的清除和相应的渲染。
在第103行中,尽管renderer.setRenderTarget(this.fbo)
是正确的,但是您仍设置了renderer.setRenderTarget(null)
。您也可以使用官方的example作为代码模板。我从那里开始采用修复程序。
我可以为两个渲染目标使用相同的渲染器吗?
是的,没问题。
固定的小提琴:https://jsfiddle.net/3b498ozw/
three.js R107