2019 Visualisation workplan

As is standard for Geant4 Planned Features documents,
(1) means expected to be done in first half of year
(2) means expected to be done in second half of year
(*) means may get to this in second half of year or may take longer


OpenGL drivers
 Adapt to newer OpenGL versions, exploit new functionalities and replace deprecated calls such as glBegin/glEnd (2/*)        
 OGLFile: new driver to produce image files in batch jobs where there is no graphics card present (1)

Qt OpenGL driver:

  • Continue development (*)
  • Improve toolBar by adding useful icons (viewpoints,…) (2)

Other drivers

  • OpenInventor: Continue development of G4OpenInventorXtExtendedViewer (*) :
  • gMocrenFile and gMocren: Continue development (updating in order to support visualization attributes and other information ) (*)        
  • G4DAE exporter: Creation of a new driver in order to export in Collada format (*)        
  • iOS and Android Devices: Develop visualization solutions for these devices (*)

Others

  • Vis driver for ParaView: Creation of a new driver in order to export in a format readable by Paraview (1/2)        
  • Documentation: Major overhaul of visualization documentation (2/*)        
  • Wt driver: Rewrinting code (2)
  • Add PDF3D driver (*)
  • GDML: Study addition of visualization attributes to this exchange format (*)
  • Multi-threading: Support user-drawn primitives in MT mode (*)
  • Native Qt driver (*):
  • Apple/Metal : then being able to render without OpenGL on MacOS.

Key tasks for which we do not have manpower:

  • Full support for visualization of boolean shapes - (1/2)
  • Note: Boolean operations on polyhedral representations of Geant4 solids for visualisations were improved in 9.3.  But it is still not a general solution.  It is a workaround based on finding a good way of shifting one solid relative to the other by a small amount.  The most serious computational problems arise when faces coincide.  We have had a simple shifting algorithm in place for many years; in 9.3 this algorithm became a little more sophisticated.  In a test it fixed 96% of failures.  There remains a stubborn 4%.  (The effect of a failure is to prevent visualisation of the boolean solid, except with the ray tracer driver, which does not rely on polyhedrons.)  We might be able to make the shifting workaround yet more sophisticated but, ideally, we really need a comprehensive solution, a daunting re-write and improvement of the basic facet-intersection algorithms.        
  • Change from current flat format to hierarchical format in VRML - (*)        
  • Integrated visualization of field lines - Electric, magnetic, maybe even gravitational. (*)