G4OSG: Geant4 Visualization Driver For OpenSceneGraph
![]() Click for 800x600 screenshots README-G4OSG Download G4OSG-v0.4.tgzDownload G4OSG-v0.3.tgzBrowse code: http://new.asymptopia.org/svn/repos/G4OSG/trunk/ Checkout : svn co http://new.asymptopia.org/svn/repos/G4OSG/trunk/ ./G4OSG |
WHAT IT IS: This is an OpenSceneGraph driver for Geant4 . It is currently not part of either system, but hopefully it can eventually become part of one or both. It allows you to build Geant4 applications which use OpenSceneGraph for rendering, and (optionally) either Motif or wxWidget widgets. The README file has more details. DEVELOPMENT STATUS At this point the G4OSGSceneHandler is only partially implemented. The focus so-far has been getting the various graphics systems involved to coexist nicely. It is currently rather fragile due to an unresolved threading(?) issue. Maybe this will be easy to fix. For this reason the examples default to shooting 1 GeV protons so as not to overload the driver by adding thousands of tracks, which then often produce a crash due to the unresolved threading issue. The threading issue should not be too difficult to fix. By putting the software here for download I hope to compel myself to fix it sooner, and also to get anyone interested involved. HOW TO INSTALL IT: This has only been tested on Linux, but Example03 demonstrates compilation with the cross-platform CMake system. The download includes the main G4OSG driver, and 3 example projects demonstrating integration of Geant4 projects with [1] osgViewer [2] osgViewer embedded in Motif (libXm) window [3] osgViewer embedded in wxWidgets window. The first 2 examples use the Geant4 build convention of gmake, placing the compiled binaries in the $G4INSTALL/bin/Linux-g++ directory. The third example uses the OpenSceneGraph build convention of CMake, placing the compiled binary in the Example03 directory. There are also Makefiles for manually building/linking with standard make. CREDIT: This work is derived from existing code of the Geant4 visualization group, the OpenSceneGraph project, and the author's own work. |