three.js - InstancedBufferGeometry 负比例问题
问题描述
我有 InstancedBufferGeometry 在我的场景中工作。但是,一些实例是源的镜像,因此它们具有负比例来表示几何。
这会翻转这些实例的缠绕顺序,并且由于背面剔除(我想保留)而看起来错误。
我完全意识到这种方法的局限性,但我想知道是否有办法解决这个问题,我可能还没有遇到过?也许着色器中的一些技巧可以指定哪些是正面,哪些是背面?虽然我不记得这是可能的......
还是我应该做两个单独的负载?(这将重复绘制调用)我正在加载许多不同的几何图形(它们都是实例化的),因此试图确保我获得尽可能好的性能。
谢谢!
蚂蚁
[编辑:添加了更多细节]
解决方案
如果你提供一个例子会有所帮助。据我了解你的问题,简单的答案是 - 不,你不能那样做。据我所知,图元在到达着色器之前被拒绝,这意味着它不在您的控制范围内。如果您想使用负缩放,并确保表面仍然可见 - 启用两个面(正面和背面)的渲染。或者,您可以简单地旋转物体并坚持正比例 - 如果您必须进行镜像 - 您在这里不走运。另一个想法:有 2 个实例化对象,一个具有普通几何体,一个具有镜像,您可以修复镜像几何体中的法线。
推荐阅读
- google-apps-script - 当一行中的单元格值更改为更改单元格的同一行中的电子邮件地址时发送电子邮件
- java - 在 hashmap 中,向桶的内部链表添加新元素总是在最后。为什么?
- javascript - 在 javascript 中更新 vuejs 列表项
- c# - RabbitMQ 将消息标记为死信
- visual-studio - 使用 Visual Studio 2019 Vers.16.2.5 构建 Uno 平台解决方案的问题
- python - 使用 for 循环创建数据框后创建 Pandas 数据框列表
- html - 我的网页无法在 IE 和 Firefox 中运行
- python - setuptools_scm 版本受 Cython 生成的 C 代码中的注释影响
- php - 使用 query_builder 时,如何使用 Symfony formbuilder 选择默认选项?
- javascript - jQuery - 设置和重置转换延迟