State of the Art Commercial Systems - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

State of the Art Commercial Systems

Description:

State of the Art. Commercial Systems. JunHyeok Heo. HyungSeok Kim. Computer Sciene Dept. of KAIST ... Commercial systems with the runtime management stage ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 32
Provided by: kwangy
Category:

less

Transcript and Presenter's Notes

Title: State of the Art Commercial Systems


1
State of the Art Commercial Systems
  • JunHyeok Heo
  • HyungSeok Kim
  • Computer Sciene Dept. of KAIST

2
Levels on Tools
VR Tools
3D Graphics API
Performer Inventor VRML Browser OGL Optimizer DX
3D RMode ...
Vega OpenGVS WTK SuperScape ...
GL/OpenGL DX 3D IMode ...
Glide DX 3D IMode ...
Application-specific processing
Pixel processing
Polygon processing
Scene processing
Special Effects Input Devices Network Sound Dynami
c Behaviors
Hidden pixel removing Texture mapping Color
interpolation (?) Antialiasing
Geometric Transformation Clipping Lighting (?)
Culling LoD
Depth buffer
Texture memory
3
Commercial Systems - with mind of Culling/LOD
  • Runtime libraries
  • Performer, Inventor, Java3D, OpenGL Optimizer
  • VRML97 based libaries
  • VR systems
  • WTK
  • OpenGVS, Vega
  • VRT
  • Modeling Systems
  • MultiGen
  • SoftImage
  • 3DS Max / Maya

4
Practical Usability of Cull/LOD
Desired Draw Time
Time
DRAW
1 processor
SAVED
CULL
LOD
DRAW
Success
CULL
LOD
SAVED
DRAW
Fail
Success
3 processors
DRAW
CULL
LOD
SAVED
5
Practical Usability of Cull/LOD
  • 1 Processor
  • Possibility of practically unusable algorithms
  • decrease less DRAW time than the increased
    overhead of computation time (negative gain)
  • gain saved time - compuational overhead in time
  • 3 Processors
  • Possibility of practically unusable algorithms
  • takes more computational time than the desired
    DRAW time (frame time)
  • Possible delay of the scene update

6
Culling
  • PerformerTM
  • View frustum culling
  • using scene graph hierarchy
  • Grouping node type
  • pfGroup,pfSCS, pfDCS,...
  • Two levels of bounding volume
  • Bounding sphere of pfGeode
  • Bounding box of pfGeoSet
  • User can specify bounding volume
  • No automatic updates
  • Dynamic objects
  • (eg. merry-go-around)

7
Image excerpt from IRIS PerformerTM Programming
Guide
8
Culling
  • OpenGL OptimizerTM
  • View frustum culling using scene graph hierarchy
  • bounding box of csGeoSet
  • Occlusion culling
  • eliminate objects for which a specified fraction
    of their bounding boxes are occluded by
    foreground objects
  • partial occlusion control

9
without culling
with view frustum culling
Images excerpt from OpenGL OptimizerTM
Programmers Guide
with view frustum culling and occlusion
culling
10
Culling
  • VRML97
  • View frustum culling using scene graph hierarchy
  • Bounding box defined in local coordinate for all
    grouping nodes
  • Anchor, Billboard, Collision, Group, Inline,
    Switch, Transform

Transform eventIn MFNode addChildren
eventIn MFNode removeChildren
exposedField SFVec3f center 0 0 0 (- ?, ?)
exposedField MFNode children exposedField
SFRotation rotation 0 0 1 0 -1,1,(- ?, ?)
exposedField SFVec3f scale 1 1 1 (0, ?)
exposedField SFRotation scaleOrientation 0 0 1 0
-1,1,(- ?, ?) exposedField
SFVec3f translation 0 0 0 (- ?, ?) field
SFVec3f bboxCenter 0 0 0 (- ?, ?)
field SFVec3f bboxSize -1 -1 -1 (0, ?)
or -1,-1,-1
11
Culling
  • WTKTM
  • View frustum culling using scene graph hierarchy
  • Grouping nodes
  • Anchor, Group, Inline, LOD, ROOT, Separator,
    Switch, Transform
  • leaf nodes
  • Geometry, Fog, Light, Transform
  • Two levels of bouding volume
  • Extents of node
  • world axis aligned bounding box
  • Radius and Midpoint of node
  • Bounding sphere

Z axis
Y axis
radius
extents1Z
extents0Y
midpoint
extents1Y
extents0Z
X axis
extents0X
extents1X
Image excerpt from WTKTM Reference Manual Release
6
12
Culling
  • OpenGVSTM
  • View frustum culling using objects hierarchical
    bounding boxs
  • GV_obi_set_bbox_local()
  • GV_obi_inq_bbox_local()
  • GV_obi_inq_bbox_full()
  • GV_obi_inq_bbox_full_world()
  • Turn on or off culling
  • GV_obi_set_culling_state()
  • GV_obi_inq_culling_state()
  • No special grouping nodes for the hierarchy
  • GV_obi_dettach_child()
  • GV_obi_attach_child()
  • GV_scn_add_object()

Scene
objects
obd
obd
obi
obi
obi
obd
obd
obd
13
Culling
  • Why view frustum culling using the hierarchy of
    bounding volumes
  • Big gain big saved time - small computational
    overhead
  • If the uniformly distribution of objects and 60o
    field of view
  • then more than 80 objects are culled

14
LOD in Commercial system
  • General process of the Virtual World management
  • World creation (Modeling)
  • World running (Runtime management)
  • Multiresolution model generation
  • In the modeling stage
  • Generating models with multiple details from the
    original most detailed one
  • LOD selection
  • In runtime management stage
  • Selecting an appropriate detail of the
    multiresolution model

15
LOD in Commercial System
  • Commercial systems with the modeling stage
  • General Purpose 3D Modeling Tools
  • MayaTM / 3DS MaxTM / SoftImageTM
  • VR Oriented Tools
  • MultiGenTM / VRTTM (SuperscapeTM )
  • Commercial systems with the runtime management
    stage
  • General 3D libraries
  • PerformerTM / InventorTM / Java3DTM / OpenGL
    Optimizer / VRML 97TM based libraries
  • VR runtime systems
  • WTKTM / OpenGVSTM / VegaTM / VRTTM
    (SuperscapeTM )

16
LOD in modeling stage
  • MayaTM
  • Multiresolution creation is supported
  • Nurbs based surface modeling
  • Multiresolution through Nurbs tessellation
    resolutions
  • Multiresolution selecting in preview rendering
    mode
  • Discrete selection
  • Based on the distance

17
LOD in modeling stage
  • MultiGenTM
  • Multiresolution Creation is supported as a basic
    feature
  • Grid subsampling methods
  • Discrete set of
  • different detail models
  • Morphing Mechanism

Images excerpt from MultiGen II ProTM Users Guide
18
LOD in modeling stage
  • 3DS MaxTM
  • Multiresolution Creation is supported as a basic
    feature
  • Face removing methods
  • Face size / Edge angle / Edge length / Smooth
    based simplification
  • Discrete set of different detail models

19
LOD in modeling stage
  • SoftImageTM
  • Multiresolution Creation is supported as a basic
    feature
  • Three methods
  • Rule based
  • Angle / Radius / Length / Area / Height
  • Optimization based
  • Choosing points from the generated point clouds
  • Filter based
  • Discrete set of different detail models

20
LOD in modeling stage
Images excerpt from SoftImageTM 3D 3.5 Users
Guide
21
LOD in modeling stage
Images excerpt from SoftImageTM 3D 3.5 Users
Guide
22
LOD in modeling stage
Images excerpt from SoftImageTM 3D 3.5 Users
Guide
23
Other LOD generator
  • OpenGL OptimizerTM
  • Built-in LOD generator
  • Decimation Method
  • vertexWeight W 0 distance W 1
    normalDeviation W 2 curvature
  • Lattice Method

Images excerpt from OpenGL OptimizerTM
Programmers Guide
24
Images excerpt from OpenGL OptimizerTM
Programmers Guide
25
LOD Generator
  • Why the most of the tools using simple
    algorithms?
  • Complex algorithms requires a lot of patience of
    the user
  • Interactive control over parameters with simple
    algorithms
  • vs. Sub-optimal algorithms with a lot of waiting
    time
  • Alternatives Let the user may intervene the
    process of the complex optimization (like
    SoftImage)
  • Why the most of the tools using simple
    representations?
  • Object-wise discrete detail levels
  • Simple and easy to integrate in the existing
    scene graph

26
LOD in runtime
  • PerformerTM
  • LOD node Grouping and selecting different
    detail geometric nodes
  • Selecting using distance criteria
  • Fade / Blending between two different levels

Image excerpt from IRIS PerformerTM Programmers
Guide
27
LOD in runtime
  • PerformerTM continued
  • Frame rate control

Image excerpt from IRIS PerformerTM Programmers
Guide
28
LOD in runtime
  • PerformerTM continued
  • More sophisticated detail control For Terrain

Image excerpt from IRIS PerformerTM Programmers
Guide
29
LOD in runtime
  • InventorTM / Java3DTM / VRML97 / OpenGL
    OptimizerTM
  • LOD node based selector

Images excerpt from OpenGL OptimizerTM
Programmers Guide
30
LOD in runtime
  • WTKTM (R8) / OpenGVSTM / VEGATM / VRTTM
    (SuperScapeTM )
  • Basically performer based systems

Images excerpt from WTKTM R8 Reference Manual
31
LOD in runtime
  • Selector in general
  • Scene graph level selector
  • Easy and simple representation
  • Selector for the specific object type
  • Terrain
  • Tightly coupled with the object internal
    representation mechanism
Write a Comment
User Comments (0)
About PowerShow.com