Speaker
Dr
Matevz Tadel
(CERN)
Description
OpenGL has been promoted to become the main 3D rendering engine of ROOT. This required a major re-
modularization of OpenGL support on all levels, from basic window-system specific interface to medium-level
object-representation and top-level scene management. This new architecture allows seamless integration of
external scene-graph libraries into the ROOT OpenGL viewer as well as inclusion of ROOT 3D scenes into external
GUI and OpenGL-based 3D-rendering frameworks.
Scene representation was removed from inside of the viewer, allowing scene-data to be shared among several
viewers and providing for natural implementation of multi-view canvas layouts. The object-graph traversal
infrastructure allows free mixing of 3D and 2D-pad graphics and makes implementation of ROOT canvas in pure
OpenGL possible. Scene-elements representing ROOT objects trigger automatic instantiation of user-provided
rendering-objects based on the dictionary information and class-naming convention. Additionally, a finer, per-
object control over scene-updates is available to the user, allowing overhead-free maintenance of dynamic 3D
scenes and creation of complex real-time animations. User-input handling was modularized as well, making it
easy to support application-specific scene navigation, selection handling and tool management.
Submitted on behalf of Collaboration (ex, BaBar, ATLAS) | ALICE and ROOT project |
---|
Author
Dr
Matevz Tadel
(CERN)