Presentation is loading. Please wait.

Presentation is loading. Please wait.

3D Viewers Two main uses: –Detector/event exploration – interactivity priority (15fps min). –Generate presentation material (still/movie renders) – quality.

Similar presentations


Presentation on theme: "3D Viewers Two main uses: –Detector/event exploration – interactivity priority (15fps min). –Generate presentation material (still/movie renders) – quality."— Presentation transcript:

1 3D Viewers Two main uses: –Detector/event exploration – interactivity priority (15fps min). –Generate presentation material (still/movie renders) – quality priority. First used to setup camera etc moves for second. Not a geometry builder – editing facilities limited (if any). Static objects: –Detector Geometries: Simple boxes – complex Boolean solids. –Atlas: 8000 Logical Volumes (Shapes), 29m Physical Volumes. –Tracks: Fitted curves (1 per particle). Dynamic (animated) objects: –Particles 100 – 50,000. Spheres or other simple primitives. –Detector Hits – geometry component highlighted.

2 Current / Old Scheme Publish Model: Geometry Painter pushes ‘visible’ subset of geometry to viewer. Visibility depth set by user on geometry. Crude – large changes in geometry load. Same objects from root node, regardless of what viewer sees. Flat list of objects - duplicate Logical Volumes/Shapes repeated tessellated & added. Fixed quality tessellation – no account of size. OGL: No account for several orders of magnitude – software rendering -> high end cards.

3

4 New Scheme On Demand Model: Viewer triggers Geometry Painter to publish the geometry. Viewer can control process via TVirtualViewer3D. –Terminate branch or whole geometry expansion as suitable for current view + its capabilities. –Buffer filling negotiation – avoid expensive operations. –Enable viewer to detect and cache Logical/Physical shapes. –Viewer preference for local frame positions (required for Logical/Physical pairs). –Will apply to OGL viewer only – x3d and pad continue to use old model.

5 Logical/Physical Pairs TVirtualViewer3D supports two object additions: Simple: “Add object at this 3D location” – as now. Logical & Physical: “Add a physical copy of this ‘logical’ object at this location” –Both Logical and Physical objects have unique IDs – we do not search for equivalent logical shapes. –Logical Shape in local frame. –Physical holds translation matrix. Viewer side lazy caching - Logical shapes - sent and tessellated once.

6 OpenGL Viewer: Scene Rebuilds 1

7 OpenGL Viewer: Scene Rebuilds 2

8 OpenGL Viewer: Scene Rebuilds 3

9 Performance Improvements: Culling Frustum Culling: Objects outside camera viewport. Already there – can be improved. Contribution Culling: Discard very small objects – part of LOD. Occlusion Culling: Object masked by others. Complicated: Transparency, cut objects. Leave to OpenGL at present.

10 Performance Improvements: Level Of Detail (LOD) Tessellate objects at appropriate quality for size in viewer. Very import – we have very large zoom factors: 100m – few cm. LOD gives typical speed up of 3 – 10 times. Also mechanism to factor in overall geometry load and machine/card performance. Various approaches –Discrete LOD: Fixed levels (can be pre-calculated offline). +Simple +DL speed ups –Popping –Memory costs –Continuous LOD: spectrum of detail from coarse to fine. +Smooth transitions –DL not so useful. –View-dependent LOD: adjusting detail across the model in response to viewpoint. +Very large/complex objects. –Complicated. Needs to be done in viewer – lots of work on shape drawing.

11 Performance Improvements Drop mode: degraded draw quality (LOD) and/or drop small objects to guarantee interactivity. Perform full render at end. Sorted draw list: –Largest objects first – dropped objects less noticeable. –State changes – e.g. color etc can be expensive – try to minimize.

12 Performance Improvements: Caching Retain all Logical & Physicals falling in expanded frustum. Display Lists – capture low level geometry calls. CPU / memory tradeoff – retain until risk of disk trashing. Purge unreferenced Logicals of geometry and from DL cache.

13 Progress Redesign viewer internals logical/physical shapes, LOD, dynamic geometry pulls. Largely done – need to integrate standalone code into current viewer. First version soon. Viewer side tessellation + LOD support for all shapes. Lots to do.


Download ppt "3D Viewers Two main uses: –Detector/event exploration – interactivity priority (15fps min). –Generate presentation material (still/movie renders) – quality."

Similar presentations


Ads by Google