GL Viewer Status
This GL Viewer rewrite improves scene rebuild efficiency, introduces scene sharing between viewers, adds shape caching, LOD, and interactive features like manipulators, clipping, cameras, and guides.
GL Viewer Status
E N D
Presentation Transcript
Work Done • Rewrite of prototype (shape drawing code kept) Support for: • Scene container – shared between viewers. • Scene Rebuilds – viewer chooses what to ‘accept’ • Logical/Physical shapes – avoid duplicating geometry • Internal Shape Caching (stl::map) – never send twice
Work Done (2) • Level of detail (LOD) – tessellation quality appropriate for size. • Interactive draws – sorted, time limited (100msec), drop global LOD to 50% • Automatic OpenGL DL Caching - only ever draw once (shape ID/LOD pair)
Work Done (3) • Draw Styles – wireframe, filled poly, outline • Interactive Manipulators – translate/scale/rotate • Interactive clipping – plane and box • Cameras – improved interactions • Guides – axes and reference markers • Composite shapes
To Do • Code cleanup • Improve scene rebuild efficiency • Start on event display – separate collections for particles/tracks • Only 1 month…
GL – in - Pad • Mix 3D GL and 2D GDI via combined bitmap • G3d, geom objects (eg. shapes.C) • TGLHistPainter lego lego2 surf4 surf1 surf2 tf3
GL-in-pad’s future: • TGLHistPainter • New options – box, iso, etc. • Painting split into several classes (TGLLegoPlot, TGLSurfacePlot, etc.) • Rejection of current DIB sections/pixmaps method • Software implementation, slow for geom and large legos/surfaces >= 40000 polygons) • Alternative 1 - GL Textures GDI draws 2D into bitmap. GL places this is 3D ‘world’ + Hardware acceleration + Use different 3d effects in such a pad - More complex - Texture size limitations • Alternative 2 – GL Back Buffer used as ‘common’ pixmap • +Fast. • +Simple solution. • +No size limitations c.f. textures.