CAD 显示引擎为什么不能每个面一个节点
记录一次 CAD/CAE 三维显示引擎优化的起点:为什么按拓扑对象直接创建 OSG 节点在小模型上可行,但在大模型上会导致节点数量、Drawable 数量和状态切换失控,以及为什么显示引擎需要从对象树转向显示批次。
8 posts filed under this tag.
记录一次 CAD/CAE 三维显示引擎优化的起点:为什么按拓扑对象直接创建 OSG 节点在小模型上可行,但在大模型上会导致节点数量、Drawable 数量和状态切换失控,以及为什么显示引擎需要从对象树转向显示批次。
记录 CAD/CAE Viewer 中拾取系统的工程设计:为什么拾取不能只返回 triangle 或 Drawable,以及如何结合 RangeTable、选择模式、可见性过滤、DisplayBucket 和 Selection Layer 找回 CAD 拓扑语义。
记录 CAD/CAE Viewer 从大量细粒度 Geode / Drawable 走向批量 Geometry 的工程过程:合批解决了什么,为什么不能简单做成一个巨大 Geometry,以及它给拾取、高亮、显隐和空间分桶留下了哪些新问题。
记录 CAD/CAE Viewer 合批显示之后,如何通过 RangeTable 在 Drawable、primitive index 和 CAD 拓扑对象之间建立映射,让拾取、工程树联动、高亮、显隐和局部重建仍然保留语义。
记录 CAD/CAE Viewer 中选择、高亮、hover 和基础显示状态分离的工程过程:为什么不能总是直接修改基础 Geometry 的颜色或透明度,以及 Selection Layer 如何配合 RangeTable、DisplayBatch 和 DisplayBucket 保持交互状态可控。
记录 CAD/CAE Viewer 在 OSG 合批之后继续优化大模型交互的过程:为什么一个 Geometry 太大会让局部显隐、高亮和重建变重,以及空间分桶如何让显示引擎从能画出来走向能局部交互。
记录 CAD/CAE Viewer 从业务拓扑直接绑定 OSG 节点,演进到 DisplayData 中间层的过程:为什么显示层不能直接依赖业务对象,也不能只保留三角面数据。
记录 CAD/CAE Viewer 中隐藏、显示、隔离、ShowAll 和 ResetStyle 这类高频交互的优化过程:为什么大模型下不能总是逐节点修改或全场景重建,以及如何通过 DisplayBucket、RangeTable 和 Selection Layer 控制状态恢复。