首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于THREE.Renderpass的多场景渲染

基于THREE.Renderpass的多场景渲染
EN

Stack Overflow用户
提问于 2016-11-11 12:34:41
回答 1查看 3.6K关注 0票数 3

我有以下问题:尝试使用RenderPass呈现用于后处理的多个场景。

现在有两个场景:

1)地形+云层

2)文本层

两个场景都在呈现,但是文本层被混合到地形中(通常,如果它们在相同的场景中呈现,它应该这样做)。奇怪的是:我可以通过云层看到文本,这些云比地形高得多(地形和云都在同一个场景中进行测试)。

你可以看到云层上方的文字,但它与地形混合在一起。

为了呈现它,我使用了以下代码:

代码语言:javascript
复制
    @renderPass = new THREE.RenderPass( @scene, @camera )
    @renderPass.renderToScreen = true
    @renderPass.clear = false
    @renderPass.clearDepth = true

    @textPass = new THREE.RenderPass( @textScene, @camera )
    @textPass.renderToScreen = true
    @textPass.clear = false
    @textPass.clearDepth = true

@composer = new THREE.EffectComposer( @renderer );

        @composer.addPass( @renderPass )
        @composer.addPass( @textPass )

但当我试图正常地呈现它们时,我会使用:

代码语言:javascript
复制
    @renderer.clear()
    @renderer.render @scene, @camera
    @renderer.clearDepth();
    @renderer.render @textScene, @camera

一切都如期而至。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-17 19:53:54

RenderPass实际上没有clearDepth选项。我打开了一个pull请求来添加对此的支持,这将解决您的问题:

https://github.com/mrdoob/three.js/pull/10159

更新:拉请求被合并并包含在r83发行版中,因此您编写的代码现在应该可以工作了。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40548144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档