【问题标题】:Three.JS - Different shaders for different objectsThree.JS - 不同对象的不同着色器
【发布时间】:2016-08-24 00:45:47
【问题描述】:

我正在尝试在 three.js 中模糊多个网格,每个网格都有不同的模糊量。我有一个使用示例中使用的 Horizo​​ntalBlurShader 和 VerticalBlurShader 的 EffectComposer。关于我将如何做这件事的任何想法?我会使用多个场景吗?我是渲染到目标还是直接渲染到屏幕?

【问题讨论】:

    标签: three.js


    【解决方案1】:

    这听起来像是其中一种这取决于类型的问题。

    你想达到什么效果?形状感兴趣吗?如果它们相交,它们将如何模糊?

    首先想到的是我将如何在 Photoshop 中执行此操作。我将每个形状放在它自己的图层上,并对每个图层应用模糊滤镜。这在three.js中对应于为每个形状制作一个场景,将每个形状绘制到渲染目标,模糊该目标,然后将该目标绘制到画布(或另一个目标)中。一次有效地将 3d 形状渲染为 2d 纹理,模糊纹理,然后绘制每个纹理。它会提供相同的外观,就好像您在 Photoshop 中将每个形状放在它自己的图层中一样,并对每个图层应用不同的模糊。

    【讨论】:

    • 这正是我最终所做的。棘手的部分是确定何时在传球时调用“清除”以及何时不“清除”。由于某种原因,renderer.clearTarget 对我不起作用,所以我必须在最后一次通过作曲家时有选择地为渲染通道启用清除,否则我会得到不间断的加法效果。
    猜你喜欢
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多