我正在尝试重现Szenia Zadvornykh在这里展示https://medium.com/@Zadvorsky/webgl-masking-composition-75b82dd4cdfd的例子
他的演示基于three.js r80,所以我引用了r101并试图删除大部分不相关的部分,并且只有顶部有网格和png掩码的场景。
这是我的代码:http://jsfiddle.net/mmalex/y2kt3Lrf/
评论// composer.addPass(maskPass)
网格出现了。但似乎uniform sampler2D tDiffuse
没有渲染传递的输出。
我希望在画布下看到网格助手和底层HTML内容,其中mask使画布透明。
更新,现在工作,感谢@ Mugen87:http://jsfiddle.net/mmalex/y2kt3Lrf/
小提琴中的文件不匹配。如果我使用最新版本的three.js
和相应的后期处理类,您的代码可以正常工作:
three.js
已经用renderTarget
弃用了forceClear
的WebGLrenderer.render()
和R102
参数。更改完成后,有必要更改示例目录中的许多文件,以避免警告甚至破坏。所以使用最新的three.js
版本的后处理类是行不通的。
由于更改列在release note中,我建议您阅读相应的PR以获取更多详细信息。