Мне нужен холст threejs с прозрачным фоном. Я создаю рендерер следующим образом:
# coffeescript
r = new THREE.WebGLRenderer alpha: true
Когда я вызываю r.render()
, он работает, как и ожидалось, с объектами, появляющимися на прозрачном фоне. Однако, когда я пытаюсь добавить постобработку с помощью EffectComposer, вот так:
cmp = new THREE.EffectComposer r
cmp.addPass new THREE.RenderPass scene, camera
effect = new THREE.FilmPass 0.9, 2, 2048, true
effect.renderToScreen = true
cmp.addPass effect
cmp.render 3
новый результат заключается в том, что сцена отображается так, как ожидалось (к объектам правильно применен эффект «Фильм»), ЗА ИСКЛЮЧЕНИЕМ того, что фон больше не прозрачен, как хотелось бы... вместо этого он черный и непрозрачный. Почему? Как предотвратить изменение прозрачного фона при постобработке?