Hi Chris,
I have returned from holiday - so hopefully can shed more light on this…
It depends what you mean by your subject ‘animated graphics’ - do you want to:
i) Animated the camera (viewer) movement round objects fixed in 3D space.
ii) Animate the 3D objects themselves - move, rotate etc relative to each other.
iii) Both the above.
iv) How do you want to drive this animation - user interaction, captured motion replay, scripts etc?
You should be aware:
A. TGeoManager has no specific connection with OpenGL - it is a set of classes for constructing geometric hierarchies. This means it has some similar concepts - including pushing of matrices to set relative offsets of an object to its parent. It also has a fairly full set of primitive shapes - much more that you get with OpenGL + glu libraries.
So many things you could construct in OGL you could build in the TGeoManager classes and then view with the OGL viewer.
See rootgeom.C under $ROOTSYS/tutorials for an example. Note you will need to either modify the last line to
top->Draw(“ogl”);
or invoke the OGL viewer off the pad menu (View->View With->OpenGL)
B. TGeoManager deals with static geometries only - it has no concept of animating the components relative to one another.
C. The OGL viewer does not support animated objects yet - but will do so in the future. However these would not come from a TGeoManager hierarchy as above implies.
D. You can move the camera in the OGL viewer - currently this can only be achieved directly by a user - there is no facility to capture/keyframe the motion or drive it by a script - but we are likely to add this in the future.
Note also that the precise interaction is likely to change in the future - though this will add not remove functionality.
E. There is no support for text display in the OGL viewer currently (aside from very simple axes labels drawing over which you have no control). Again this is a likely future feature.
F. When you refer to ‘GList’ is your later mail - do you mean OpenGL display lists (glNewList glCallList calls etc). If so these are purely a OpenGL performance feature - they don’t alter what gets drawn as such - and TGeoManager has no connection at all with these.
Hope this clarifies things somewhat. If you can give a fuller description of what you want to achieve then I can advise further.
Best wishes