Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallel Scene Graph(PSG)

Similar presentations


Presentation on theme: "Parallel Scene Graph(PSG)"— Presentation transcript:

1 Parallel Scene Graph(PSG)
Parallel Rendering Group CAD&CG State Key Lab

2 PSG Goals Abstract scene graph management.
Support various high-level applications, especially the HLA-base simulation. Support cluster-based parallel rendering, expecially the cluster architecture with large display wall. Integrate with parallel rendering, view frustum and occlusion culling, out-of-core data management, LODs management. Provide a configurable and scalable framework.

3 Cluster Architechture
client01 client02 Note the difference with NVSG. So problem? 支持多个客 户端的仿真 network server01 server02 server15 server32 支持并行绘制 支持大屏幕投影

4 Abstract scene graph management
High-level application PSG OpenGL DirectX Graphics hardware

5 Interface to high-level application
Simulation Application Walkthrough Application Entertainment Application Simulation Instantiation 把仿真环境建立在PSG上的,为了重用部分数据结构,HLA更新数据和状态,PSG则根据状态绘制数据,实现采用类的继承,由HLA继承PSG中的基类。 Simulation Environment Simulation Environment Simulation Instantiation PSG PSG (our scheme) (another scheme)

6 PSG tree 地形、海面 树木、建筑 飞机、坦克 潜艇 PSG TreeRoot PSG StaticNode PSG
DynamicNode PSG TreeNode PSG TreeNode PSG TreeNode PSG TreeNode PSG TreeNode PSG ModelFile PSG ModelFile PSG ModelFile PSG ModelFile 地形、海面 树木、建筑 飞机、坦克 潜艇

7 PSG tree meta data PSG场景树仅含有一个此静态节点,直接挂在根节点下,维系场景中的静态模型层次结构。
TreeRoot PSG场景树的根节点,遍历入口点,通过它可以遍历到场景中的每个模型,或更新其状态,或对其进行绘制。 PSG StaticNode PSG场景树仅含有一个此静态节点,直接挂在根节点下,维系场景中的静态模型层次结构。 PSG DynamicNode PSG场景树仅含有一个此动态节点,直接挂在根节点下,维系场景中的动态模型层次结构。 PSG TreeNode PSG场景树的中间节点,或表示一个模型组(子节点为TreeNode),或表示单个模型(子节点为ModelFile)。 PSG ModelFile PSG场景树的叶节点,对应一个模型文件,存储模型几何数据,可以被多个TreeNode引用,场景树变成场景图。

8 PSG tree geometry 包含模型组信息:模型组全局标识符,模型组局部坐标框架,其父模型组指针,所有子模型组指针或子模型文件指针(二选一有效)。一个TreeNode最多对应一个ModelFile,但一个ModelFile可以对应多个TreeNode。 PSG TreeNode n 1 包含模型文件信息:模型文件全局标识符,模型文件被引用计数器,所有子模型物体指针,模型包围盒。一个ModelFile可以对应多个ModelObject,但一个ModelObject只对应一个ModelFile。ModelFile指现实中的一个物体,ModelObject指物体中的一个部件。 PSG ModelFile 1 n PSG ModelObject 包含模型部件信息:模型部件局部坐标框架,模型部件顶点列表,模型部件三角面片列表,模型部件包围盒。

9 PSG tree traverser 将遍历器从场景树中分离的好处:
(1)仿真环境与绘制环境分离,仿真环境可以继承并修改自己需要的遍历器,方便的根据仿真结果修改模型状态;并行绘制则根据绘制的需要拥有自己的遍历器,遍历场景并绘制。 (2)提供更方便的二次开发能力,PSG tree可以继承和修改,如果需要访问修改后的数据(特别是增加的数据结构),则继承基本遍历器并修改其对每个元数据的访问方式即可。 (3)将实现与数据结构分离,若用OpenGL绘制,则将绘制语句封装在GL traverser中;若用DirectX绘制,则其封装在DX traverser中。 GL render traverser simu traverser DX render traverser PSG tree

10 Interaction with simulation
仿真应用 仿真环境 PSG 创建场景 文件名 创建SG 加载文件 仿真 状态信息 更新场景 更新场景 绘制请求 显示场景 并行绘制

11 Parallel Rendering Engine
PSG modules Parallel Rendering Engine Rendering module 绘制资源管理和调度、并行绘制控制、场景树的管理 Culling module 视锥剔除、遮挡剔除 File manager module 对ModelFile/纹理进行disk/ main memory/video memory三个层次的out-of-core管理 Camera module Lighting module

12 PSG rendering pipeline
Culling Parallel rendering Video memory File manager Disk Main memory Graphics hardware


Download ppt "Parallel Scene Graph(PSG)"

Similar presentations


Ads by Google