我正在尝试复制此处展示的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内容,其中遮罩使画布透明。
更新,现在可以工作了,这要感谢@ Mugen87:http://jsfiddle.net/mmalex/y2kt3Lrf/
答案 0 :(得分:1)
小提琴中的文件不匹配。如果我使用three.js
的最新版本以及相应的后期处理类,则您的代码可以正常工作:
three.js
已将renderTarget
中的forceClear
和WebGLrenderer.render()
参数从R102
中弃用。更改完成后,有必要更改示例目录中的许多文件,以避免出现警告甚至损坏。因此,将最新的后期处理类与较旧的three.js
版本一起使用将无法正常工作。
由于release note中列出了更改,因此建议您阅读相应的PR,以获取更多详细信息。