926 B
926 B
数据烘培
体素化
遍历所有遮挡物,标记体素
空间划分
Tile
大场景划分为小场景
Cell
小场景空间划分为小房间
Portal
定义小房间之间的连接空间 - 门
可见性检测
通过门递归检测房间可见性
射线检测判断所有门是否可见
所有 tile 的所有 cell 之间的可见性检测
模型划分
- 遮挡物 ==> AABB ==> cellList
- 被遮挡物 ==> 所有外附Cell ==> CellList
数据存储
Header
- Voxel Size
- Scene AABB
Cell Info
- Cell AABB
- ID PVS Offset
- ID Model Offset
Portal Info
-
Portal AABB
-
ID from_cell
-
ID to_cell
-
normal
PVS
- ID Cell
- ListID Visible_Cell_List
Model
- ID Model
- ListID Visible_Model_List
Cell 查询
查找 Cell
遍历查找
可视Cell
遍历目标Cell的可视Cell
模型标记
标记Cell下的所有可视模型