80 likes | 94 Views
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.
E N D
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.