【问题标题】:InstancedBufferGeometry negative scale issueInstancedBufferGeometry 负比例问题
【发布时间】:2019-04-14 01:54:43
【问题描述】:

我的场景中有 InstancedBufferGeometry。但是,有些实例是源的镜像,因此它们具有负比例来表示几何。

这会翻转这些实例的缠绕顺序,并且由于背面剔除(我想保留)而看起来错误。

我完全了解这种方法的局限性,但我想知道是否有一种我可能还没有遇到过的方法来解决这个问题?也许着色器中的一些技巧可以指定哪些是正面,哪些是背面?我不记得这是可能的...

或者我应该做两个单独的负载吗? (这将重复绘制调用) 我正在加载许多不同的几何图形(它们都是实例化的),因此试图确保获得尽可能好的性能。

谢谢!

蚂蚁

[编辑:添加更多细节]

【问题讨论】:

    标签: three.js shader


    【解决方案1】:

    如果你提供一个例子会有所帮助。据我了解你的问题,简单的答案是 - 不,你不能那样做。 据我所知,图元在到达着色器之前被拒绝,这意味着它不在您的控制范围内。如果您想使用负缩放,并确保表面仍然可见 - 启用两个面(正面和背面)的渲染。 或者,您可以简单地旋转物体并坚持正比例 - 如果您必须进行镜像 - 您在这里不走运。 另一个想法:有 2 个实例化对象,一个具有法线几何体,一个具有镜像,您可以在镜像几何体中修复法线。

    【讨论】:

    • 感谢您的反馈 Travnik。我的印象是这就是答案,但由于我仍在学习细节,我想知道是否有一些特殊的酱汁我可能会错过......我目前正在考虑尝试不同的策略因为如果我想保持背面剔除,拥有两个实例将使绘制调用加倍。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 2018-02-27
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    相关资源
    最近更新 更多