[root] / trunk / graf3d / gl / src / TGLRnrCtx.cxx Repository:
ViewVC logotype

Log of /trunk/graf3d/gl/src/TGLRnrCtx.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 45281 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 30 10:08:30 2012 UTC (2 years, 5 months ago) by tpochep
File length: 13481 byte(s)
Diff to previous 42979
Delay glu-quadric initialization, in ctor it can not be done - no GL context exist/is current and
on Mac gluNewQuadric fails.

Revision 42979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 13 03:17:03 2012 UTC (2 years, 11 months ago) by matevz
File length: 12993 byte(s)
Diff to previous 42974
Implement highlighting using the stencil buffer.
Produces minor artefacts when more than one clipping plane is active but
performs much better for all other cases.

Revision 42974 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 12 07:22:45 2012 UTC (2 years, 11 months ago) by matevz
File length: 13142 byte(s)
Diff to previous 34006
Generalize selection handling for scenes:
- By adding TGLLogicalShape* to TGLSelectRecord the scene sub-classes now have
  the ability to lie pretty badly to TGLEventHandler about what actually got
  selected and thus achieve great flexibility in managment of scenesobject
  collections that do not conform to standard ROOT / EVE / TPad paradigms.

Generalize rendering order and selection/highlight handling.
- Rendering order of opaque/transparent and non-selected/selected objects can
  be set via TGLRnrCtx::RenderOrder(), enum ERenderOrder.
- Selection of transparent objects via TGLRnrCtx::SelectTransparents(), enum
  ESelectabilityOfTransparents.
- Rendering of highlight halo can be controlled via:
  - TGLRnrCtx::SetHighlightDepthRangeOffset(Float_t);
  - TGLRnrCtx::SetHighlightedObjectDepthRangeOffset(Float_t);
  This should really be rewritten either to use stencil buffer or shaders.

Revision 34006 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 21 10:36:05 2010 UTC (4 years, 7 months ago) by matevz
File length: 12955 byte(s)
Diff to previous 32782
Merge the following revisions from branches/dev/fireworks:
33974, 33980, 33983, 33984, 33994


33974
=====

Author: alja
Date: Thu Jun 17 22:12:00 2010
New Revision: 33974

URL: http://root.cern.ch/viewvc?rev=33974&root=root&view=rev
Log:

TEveCaloLegoGL:
Fix picking of rebinned 3D towers.

TEveCalo3DGL:
Fix highlight rendering.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveCalo3DGL.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx


33980
=====

Author: matevz
Date: Fri Jun 18 18:30:34 2010
New Revision: 33980

URL: http://root.cern.ch/viewvc?rev=33980&root=root&view=rev
Log:
* TGLOverlayElement
  Add state enum member to allow:
  - hiding of overlay elements;
  - preventing overlay events to reach them.
  TGLViewerBase::RenderOverlay() not takes bitfield of states that
  should be drawn.

* TGLCameraGuide
  New overlay element showing axis orientation.

* TGLRnrCtx
  Introduce standard functions to setup projection matrix for 2D /
  screen based operations and properly applying the selection matrix
  when it is active, too:
    void ProjectionMatrixPushIdentity();
    void ProjectionMatrixPop();

* TGLUtil
  Cleanup usage of static float arrays in surroundings of TGLUtil.

Added:
    branches/dev/fireworks/graf3d/gl/inc/TGLCameraGuide.h   (with props)
    branches/dev/fireworks/graf3d/gl/src/TGLCameraGuide.cxx   (with props)
Modified:
    branches/dev/fireworks/graf3d/gl/inc/LinkDef.h
    branches/dev/fireworks/graf3d/gl/inc/TGLCamera.h
    branches/dev/fireworks/graf3d/gl/inc/TGLManip.h
    branches/dev/fireworks/graf3d/gl/inc/TGLOverlay.h
    branches/dev/fireworks/graf3d/gl/inc/TGLRnrCtx.h
    branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
    branches/dev/fireworks/graf3d/gl/inc/TGLViewerBase.h
    branches/dev/fireworks/graf3d/gl/src/TGLAnnotation.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLLightSet.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLRnrCtx.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLRotateManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLScaleManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLTransManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewer.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewerBase.cxx

Propchange: branches/dev/fireworks/graf3d/gl/inc/TGLCameraGuide.h
            ('svn:eol-style' added)

Propchange: branches/dev/fireworks/graf3d/gl/inc/TGLCameraGuide.h
            ('svn:keywords' added)

Propchange: branches/dev/fireworks/graf3d/gl/src/TGLCameraGuide.cxx
            ('svn:eol-style' added)

Propchange: branches/dev/fireworks/graf3d/gl/src/TGLCameraGuide.cxx
            ('svn:keywords' added)


33983
=====

Author: matevz
Date: Fri Jun 18 19:19:47 2010
New Revision: 33983

URL: http://root.cern.ch/viewvc?rev=33983&root=root&view=rev
Log:
Add on/off state setter void SetBinaryState(Bool_t).

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLOverlay.h


33984
=====

Author: matevz
Date: Fri Jun 18 19:35:51 2010
New Revision: 33984

URL: http://root.cern.ch/viewvc?rev=33984&root=root&view=rev
Log:
Replace logical and with binary one.

Modified:
    branches/dev/fireworks/graf3d/gl/src/TGLViewerBase.cxx


33994
=====

Author: matevz
Date: Sat Jun 19 14:09:04 2010
New Revision: 33994

URL: http://root.cern.ch/viewvc?rev=33994&root=root&view=rev
Log:
Add 3 new data-members to control mouse/arrow key handling:
   Float_t           fArrowKeyFactor;
   Float_t           fMouseDragFactor;
   Float_t           fMouseWheelFactor;

These are take from rootrc, eg:
OpenGL.EventHandler.ViewerCentricControls:  1
OpenGL.EventHandler.ArrowKeyFactor:        -1.0
OpenGL.EventHandler.MouseDragFactor:       -1.0
OpenGL.EventHandler.MouseWheelFactor:      -1.0

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLEventHandler.h
    branches/dev/fireworks/graf3d/gl/src/TGLEventHandler.cxx

Revision 32782 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 26 14:39:42 2010 UTC (4 years, 10 months ago) by matevz
File length: 12209 byte(s)
Diff to previous 31671
* TEveCalo3DGL
  Disable writing the depth buffer by the calo grid but
  keep it being drawn after the towers.

* TGLRnrCtx
  Add member 
    Float_t fShapePixSize;
  to allow scene to communicate size of the object to the renderer.
  This only works if the object does not use central display-lists.

Revision 31671 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 8 15:22:31 2009 UTC (5 years, 1 month ago) by matevz
File length: 12187 byte(s)
Diff to previous 30425
Fix coverity warnings.

Revision 30425 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 24 19:45:11 2009 UTC (5 years, 4 months ago) by matevz
File length: 12164 byte(s)
Diff to previous 30418
In all classes using FTGL fonts:
Consistently use integer for FTGL font size.

TGLEventHandler, TEveLegoEventHandler, TGLSAViewer,TGLEmbeddedViewer:
Change construnctor of TGLEventHandler and TEveLegoEventHandler.

Revision 30418 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 24 17:10:11 2009 UTC (5 years, 4 months ago) by matevz
File length: 12129 byte(s)
Diff to previous 29724
From Alja.

GLRnrCtx:
Add possibility for automatic font scaling.

TGLFontManager:
In RegisterFont() check if font state has changed and check valid font size. Before,
this checks were done in the renders.

render classes:
Use optionally scaled or non-scaled fonts. Remove checks for FTGL fonts,
since they are now done in  TGLFontManager:RegisterFont().

Revision 29724 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 7 16:10:57 2009 UTC (5 years, 5 months ago) by matevz
File length: 11459 byte(s)
Diff to previous 29676
Add support for frame-buffer objects (FBO).
This allows for offscreen rendering into separately instantiaded
frame-buffer. Useful for saving of images whan the GL window is now
visible or for rendering into textures.

Requires OpenGL-1.5 (detected at run-time with GLEW).

In TGLViewer add new function
   Bool_t SavePictureUsingFBO(const TString &fileName, Int_t w, Int_t h);
that allows saving of an image with any resolution supported by the
local GL implementation (8192 pixels on my desktop).

Revision 29676 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 4 16:18:07 2009 UTC (5 years, 5 months ago) by matevz
File length: 11435 byte(s)
Diff to previous 28378
Add support for control over viewer-global point-size and line-width
scaling. Additionally, allow wireforame and outline line widths to be
specified separately (on viewer / scene / scene-info level).

This will allow for scaling of pixel-based objects (lines and points) when
saving of screenshots with very high resolution is
implemented.

Basic support is impemented across TGLViewer, TGLScene, TGLRnrCtx and
TGLUtil.

Classes that used glPointSize and glLineWidth were modified to call
corresponding static function in TGLUtil class.

Controls were added to TGLViewerEditor (under Style tab).

Revision 28378 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 28 15:40:53 2009 UTC (5 years, 8 months ago) by matevz
File length: 11320 byte(s)
Diff to previous 28366
TGLRnrCtx
- Add function ColorOrForeground(Color_t col) which sets given color
or falls back to default foregorund in col is the background color.

TGLFontManager
- Rewrite GetFontSize(Float_t size, Int_t min, Int_t max) to use
TMath::BinarySearch().
- Add function GetFontSize(Float_t size) that uses min, max from the
available font-sizes.

TGLAxisPainterBox
- New class for painting of 3D axes around a box.

TF2GL, TH2GL
- Use TGLAxisPainterBox for painting of axes.

TH3GL
- New class for rendering of TH3 objects.

TGLScenePad
- Proper handling of TH3.

TGLViewer
- When constructed with a given TPad, set background and foreground
colors accordingly.

TGLUtilColor
- Add cache-variable fIndex that makes it easier / more optimal to
compare and retrieve color-indices.

TGLCameraOverlay
- Use TGLFontManager::GetFontSize() without limits.

TGLParametricEquationGL
- Gray-space changes.

Revision 28366 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 27 16:04:05 2009 UTC (5 years, 8 months ago) by matevz
File length: 10928 byte(s)
Diff to previous 28197
TGLRnrCtx
- Fix coding convention violations.

TEvePolygonSetProjected
- Remove superfluous forward declaration.

Revision 28197 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 14 13:59:27 2009 UTC (5 years, 9 months ago) by matevz
File length: 11249 byte(s)
Diff to previous 27157
Merge the following revisions from the fireworks branch:
  -r 27692:27867
  -c 27876
  -r 28012:28187

================================================================================
27693

TEveCalo:
Set bounding box when calo data empty.

TEveCaloLegoGL:
TGLAxisPainter:
Draw axis title in TGLAxisPainter::PaintAxis().

--------------------------------------------------------------------------------
27694

Forget to check-in this file in revision 27693.

--------------------------------------------------------------------------------
27695

Don't draw frame and call TGLAxisPainter::Paint() if calo data empty.

--------------------------------------------------------------------------------
27699

Fix issues reported by valgrind.

--------------------------------------------------------------------------------
27758

Return viewer in TEveViewer::SpawnGLViewer and TEveViewer::SpawnGLEmbeddedViewer().

--------------------------------------------------------------------------------
27767

Unset event handler when destroying TGLWidget. This is important in case destruction of TGLWidget is called with timeout.

--------------------------------------------------------------------------------
27840

Add possibility to create different icon boxes in
TEveCompositeFrame. Use static function pointer fgIconBarCreator to change default behavior.

Remove oboslete function TEveCompositeFrame::ReplaceIconBox().

--------------------------------------------------------------------------------
7856

Bug fix: Get font size calculating projected axis length at the Z-title position.

--------------------------------------------------------------------------------
27857

Move to real world coordinates. Add line-set for test.

--------------------------------------------------------------------------------
27867

TGLViewer:
  Add function:
    void ResetInitGL()
  This is needed if GL-context is destroyed from outside.

  Call it from derived classes when creating and destroying GL-widget.

--------------------------------------------------------------------------------
27876

In line set add possibility to disable depth test, i.e. draw lines/markers in front.

--------------------------------------------------------------------------------
28013

Fix memory leak in TEveCalo2D.


--------------------------------------------------------------------------------
28048

In HandleCrossing() ignore grab and ungrab events. Several window managers produce them nowadays (fvwm2, x-on-mac, sawfish).

--------------------------------------------------------------------------------
28050

Simplify macro.

--------------------------------------------------------------------------------
28106

URL: http://root.cern.ch/viewcvs?rev=28106&root=root&view=rev
Log:
Add data-members and accessors for controlling brightness of front,
side and speulcar lights.

--------------------------------------------------------------------------------
28114

TGLPShapeObjEditor
==================
Remove obsolete data-members and enum entries.

TGLUtil
=======
New class TGLColor - using this will simplify color management in
TGLViewer and TGLRnrCtx.

TEveUtil
========
Simplify implementation of TEveUtil::ColorFromIdx() functions.

--------------------------------------------------------------------------------
28144

Add dtor for TGLColor.

--------------------------------------------------------------------------------
28161

URL: http://root.cern.ch/viewcvs?rev=28161&root=root&view=rev
Log:
Extend window management demo.

--------------------------------------------------------------------------------
28162

Add support several GL color-sets - each defines colors for background,
foreground, outline, markup and for outlines of selected and
highlighted objects.


GL/
===

TGLUtil   - add new class TGLColorSet.

TGLRnrCtx - add color-set stack.

TGLViewer - create two color-sets by default - for light and dark
background. These can be switched with the 'e' key now.

TGLScene  - decrease polgon-offset for outline-mode fill-pass from (1,
1) to (0.5, 0.5) which is sufficient.

Use/support color-set functionality in other modified classes.


EVE/
====

TEvePolygonSetProjectedGL - skip outline pass.

TEveProjectionAxesGL - skip outline pass and slightly widen the depth
range so that the text is visible in outline mode, where
polygon-offset is applied during the fill-pass.

--------------------------------------------------------------------------------
28168

Add support for a global GL color-set shared among several (all)
viewers.

TGLViewer - add static data-members and functions to handle global
color-set. Add methods that allow switching between global/private
color-sets for a given viewer.

TGLViewerEditor - Disable backgound-color widget when the viewer uses
global color-set.

TGLCameraOverlay - use foreground color for some markup rendering.

In two tutorials use the new API for setting of the background color.

--------------------------------------------------------------------------------
28187

Put back the old method for setting background color and mark it as deprecated.

Revision 27157 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 15 14:05:12 2009 UTC (6 years ago) by brun
File length: 10411 byte(s)
Diff to previous 26662
From Axel:
Replace all references to Text_t by char, still keeping the definition in Rtypes.h

Revision 26662 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 4 20:25:08 2008 UTC (6 years, 1 month ago) by matevz
File length: 10413 byte(s)
Diff to previous 24444
Merge some revs between 26639 and 26661 from the fireworks branch.

26639
=====

TEveElement
-----------
- Add virtual ChangedNameTitle() to allow propagation of name/title change.
- Call ChangedNameTitle() in SetElementName/Title() functions.

TEvePointSet
------------
- Call ChangedNameTitle() in SetElementName/Title() functions.

TEveWindow
----------
- Use ChangedNameTitle() to propagate eve-window name changes to
  eve-frame components.
- Replace trivial overloads of Acuire/RelinquishWindow() with
  name-change callback.


26640
=====

TGLRnrCtx
---------
- Start reporting gl-select-buffer resizing once its size is above 64k.


26653
=====

TEveWindow
----------
- Add getters.


26661
=====

TEveWindowManager
-----------------
- New class to manage EVE windows, in particular selection and dectruction.
- Move code for managing current-window from TEveWindow here.

TEveWindow
----------
- Move current-window code to TEveWindowManager.
- In PreDeleteElement() notify the window manager that the window is
  about be deleted.
- TEveCompositeFrameInMainFrame and TEveCompositeFrameInTab were not
  forwarding name-change to the base-class in WindowNameChanged().

TEveManager
-----------
- Replace TEveElementList fWindows with TEveWindowManager fWindowManager.

TEveElement
-----------
- Added virtual void PreDeleteElement() that gets called prior to element
  deletion. The local version still calls gEve->PreDeleteElement(this).

Revision 24444 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 20 17:52:37 2008 UTC (6 years, 7 months ago) by matevz
File length: 10372 byte(s)
Diff to previous 23869
TGLRnrCtx
---------
Add new member 'Bool_t fHighlightOutline' that is set during the
outline-pass of the highlight.

TGLObject
---------
Disable use of display-lists for multi-colored objects only in the
outline pass of the highlight.

TGLPhysicalShape
----------------
Set HighlightOutline and HighlightOutline of the rnr-ctx during highlight.

Revision 23869 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 15 19:48:00 2008 UTC (6 years, 8 months ago) by matevz
File length: 10341 byte(s)
Diff to previous 23140
Remove trailing whitespace.

Revision 23140 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 11 11:01:39 2008 UTC (6 years, 9 months ago) by rdm
File length: 10342 byte(s)
Diff to previous 23087
move the following directories to "graf2d":

asimage, freetype, gpad, graf, postscript, qt, win32gdk, x11, x11ttf

move the following directories to "graf3d":

eve, ftgl, g3d, gl, x3d

Revision 23087 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 9 14:10:56 2008 UTC (6 years, 9 months ago) by rdm
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 10342 byte(s)
Diff to previous 22539
From Alja, Bertrand and Matevz - merged branches/dev/fireworks 22550:23082.


Major changes imported by this merge are:

gl/
====
- reorganization of scene rendering in TGLViewer - render opaque
  objects from all scenes first, then all transparent ones;

- improve saving of images from the GL-viewer so that the dialog boxes
  and other windows do not result in black areas on the saved image;

- improved management of FTGL fonts accross GL contexts.

eve/
====
- new classes for visualization of calorimeter data in lego mode;

- allow fixed scale beyond given radius for fish-eye projections.

Revision 22539 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 8 14:36:37 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 8900 byte(s)
Diff to previous 21812
From Alja, Bertrand & Matevz: merged branches/dev/fireworks 21757:22514.

This includes:

- development for event-displays of ALICE and CMS since 5.18 in eve/,
  gl/ and gui/;

- many new tutorials and demos for eve/;

- fix in TQObject to support class-signals from all base-classes.

Revision 21812 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 22 20:52:31 2008 UTC (7 years ago) by matevz
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 7220 byte(s)
Diff to previous 21653
From Alja:

New class TFTGLManager for management of FTGL fonts.

New classes TEveText, TEveTextEditor and TEveTextGL for display and
configuration of a 3D text.

New test macro 'tutorials/eve/text_test.C'.


From Matevz:

Reenable smart-refresh during redraw of TEveScenes.

Minor code-layout changes.

Revision 21653 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 11 20:23:15 2008 UTC (7 years ago) by matevz
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 6279 byte(s)
Diff to previous 20882
Move code for rendering of poly-markers and poly-lines from TEveGLUtil
to TGLUtil and remove TEveGLUtil class.

Extend picking region also for fat lines so that lines can be picked
also on their edges not only at the very center.

Fix rendering of anitaliased points in TEveStraightLineSetGL.

Honour wireframe and outline modes in TEveTriangleSetGL.

Add new tutorial pointset_test.C.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 6264 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 6264 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 6315 byte(s)
Diff to previous 19434
remove :$ from tag line

Revision 19434 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 23 15:09:11 2007 UTC (7 years, 6 months ago) by rdm
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 6325 byte(s)
Diff to previous 19049
From Matevz:
Allow creation with unspecified TGLViewerBase (needed for
external rendering of ROOT geometry).

Revision 19049 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 18 07:02:16 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 6063 byte(s)
Diff to previous 19000
From Matev and Timur:
Timur:
1. Allow unique identification of shared GL contexts via
TGLContextIdentity class.

Matevz:
1. Improved overlay selection handling.
2. Perform GL context check before rendering, possibly invalidating
   registered display-lists.
3. Minimize updates for window expose and resize events.

Revision 19000 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Jun 11 19:56:34 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLRnrCtx.cxx
File length: 7760 byte(s)
From Matevz:

Major restructuring of GL viewer-scene relationship (Matevz)
===================================================

The main idea was to generalize current GL infrustructure so that the
following features can be done in the future:

1. Full pad rendering via GL including 3D histo/func painters and 2D graphics.

2. Implementation of GL canvas (with independent viewers serving as pads).

3. Multi-view event-visualization front-end.

4. Inclusion of external scenes (non-ROOT-gl) in ROOT viewer.
   Rendering of ROOT scenes in external GL frameworks.


Changes on the code level
-------------------------

0. Extend current scene/viewer classes into a 2-level class hierarchy.
   New classes TGLViewerBase and TGLSceneBase.

1. Allow scenes to be shared among viewers. View-specific scene-cache
   needs to be kept at the viewer side.

2. Viewer now manages a list of scenes. It is possible to put together
   a combination of scenes (e.g. one showing geometry, another one tracks
   and yet another clusters). Each scene can define its own clipping object.

3. Provide API for fine-grained control over rendered object removal,
   creation and update. This allows for efficient scene-updates.

4. Disentangle selection, clipping and other markup objects from
   within viewer-scene singleton.
   New classes TGLClipSet, TGLManipSet.

6. Disentangle selection management.

7. Separate overlay rendering to allow any number of active GL-GUI
   elements (like manipulators are now).
   New classes TGLOverlayElement.

8. Trailing white space has been removed in all files.


Restructure low-level interface to OpenGL (Timur)
=========================================

1. Allow sharing GL resources among viewers.

2. Do not bind GL-output (windowed or offscreen) to ROOT GUI.

New classes TGLContext, TGLFormat, TGLWidget.

This oboletes TGLKernel and TVirtualGL classes.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9