PVS 可见性剔除示意图
+-----------------------------------------+
| World |
| |
| [Sector 1] [Sector 2] [Sector 3] |
| * * * |
| * * * |
| [Sector 4] [Sector 5] [Sector 6] |
| |
+-----------------------------------------+
摄像机 Camera 位于 Sector 5
|
v
PVS Query:
- 查询摄像机所在 Sector 的 Potentially Visible Set
- 可能可见的 Sector = {Sector 2, Sector 5, Sector 6}
渲染流程:
1. 遍历 World 的所有 Atomic
2. 对每个 Atomic:
if RpPVSAtomicVisible(atomic) == TRUE:
渲染
else:
剔除(不渲染)
World:整个场景
Sector:场景划分单元(房间、区域)
Camera:摄像机当前所在位置
PVS Query:查询摄像机所在 Sector 的潜在可见集
Atomic:场景中具体的可渲染对象
RpPVSAtomicVisible:判断该物体是否可见,如果不可见则剔除
| World |
| |
| [Sector 1] [Sector 2] [Sector 3] |
| * * * |
| * * * |
| [Sector 4] [Sector 5] [Sector 6] |
| |
+-----------------------------------------+
摄像机 Camera 位于 Sector 5
|
v
PVS Query:
- 查询摄像机所在 Sector 的 Potentially Visible Set
- 可能可见的 Sector = {Sector 2, Sector 5, Sector 6}
渲染流程:
1. 遍历 World 的所有 Atomic
2. 对每个 Atomic:
if RpPVSAtomicVisible(atomic) == TRUE:
渲染
else:
剔除(不渲染)
World:整个场景
Sector:场景划分单元(房间、区域)
Camera:摄像机当前所在位置
PVS Query:查询摄像机所在 Sector 的潜在可见集
Atomic:场景中具体的可渲染对象
RpPVSAtomicVisible:判断该物体是否可见,如果不可见则剔除
浙公网安备 33010602011771号