三维图形怎么做能减少卡顿?
本帖最后由 火山 于 2025-2-2 19:05 编辑做了个三维管道软件,全部用截面放样来生成的三维图形,图形多一点的时候,autocad动态观察就很卡,请教一下群里的大佬,有什么办法能减少卡顿呢?关键是同样的图形,浩辰就不卡,但是有个问题就是在不是二维线框视图的时候,SelectCrossingWindow在三维图形的填充面中,无法选择到图形,这导致建模时不太方便。
构造索引,重写鼠标事件,点击命中就select 谢谢大佬。浩辰这种,用户在三维视图的情况下,如果不点到边线,就选不到这个图形呢,怎么搞。autocad随便点哪里都能选中,但是三维图形多的时候,又比浩辰卡。不知道什么道理 本帖最后由 你有种再说一遍 于 2025-2-3 03:12 编辑
火山 发表于 2025-2-2 21:26
谢谢大佬。浩辰这种,用户在三维视图的情况下,如果不点到边线,就选不到这个图形呢,怎么搞。autocad随便 ...
它们两个引擎不一样呗
浩辰需要加一个点选"实体填充"的功能咯.
方案一
1,判断点在矩形内,这个很简单,
但是如何从上亿图元过滤呢?
总不能一个个图元获取包围盒然后遍历吧.
2,那就是通过八叉树,
通过点位置获取最小节点,这个节点储存了填充id.
此时就能选择对象了.
3,三维旋转视图时候需要克隆一份八叉树边界,
我们叫它主八叉树和视口八叉树,
视口八叉树是为了同步视图向量才能选择对象.
方案二
1,如果不想改原本八叉树,或者还是太慢,
就单独写索引: map做稀疏数组/SortedList二分法.
2,维护索引,鼠标事件+初始化接口+文档事件..
入门案例:
https://www.cnblogs.com/JJBox/p/18580188
你做不了就让浩辰来做吧,反正他们闲着也是闲着
页:
[1]