[root] / trunk / graf3d / gl / inc / TGLRnrCtx.h Repository:
ViewVC logotype

Log of /trunk/graf3d/gl/inc/TGLRnrCtx.h

Parent Directory Parent Directory


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

Revision 47635 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 26 19:20:45 2012 UTC (2 years, 1 month ago) by matevz
File length: 9704 byte(s)
Diff to previous 45281
Include list header instead of trying to forward-declare it -- causes trouble with libcxx1.

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: 9833 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: 9853 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: 10690 byte(s)
Diff to previous 36675
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 36675 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 15 20:33:58 2010 UTC (4 years, 2 months ago) by matevz
File length: 9452 byte(s)
Diff to previous 34006
* TGLFormat, TGLWidget
  Add handling of multi-sampling formats for GLX.
  WGL implementation is still missing.
  The value is taken from TEnv "OpenGL.Framebuffer.Multisample".

* TGLViewerBase
  Use TGLCapabilityEnabler for switching on bleniding.

* TGLViewer
  Remove flas fInitGL and associated functions.
  Set sane GL state on every Draw().
  Consolidate image extraction from frame-buffers.

* TGLEmbeddedViewer, TGLSAViewer
  Remove calls to ResetInitGL().

* TGLRnrCtx
  Remove fGrabBuffer and fGrabbedImage members, only keep fGrabImage flag.
  All the rest is handled internally in TGLViewer now.

* TGLFBO
  Add support for multi-sampling FBOs.

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: 9672 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: 9566 byte(s)
Diff to previous 30425
* 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 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: 9311 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: 9319 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: 9145 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: 8979 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: 8156 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: 8107 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: 7909 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: 7948 byte(s)
Diff to previous 24444
From Axel:
Replace all references to Text_t by char, still keeping the definition in Rtypes.h

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: 7950 byte(s)
Diff to previous 24214
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 24214 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 11 14:48:35 2008 UTC (6 years, 7 months ago) by matevz
File length: 7698 byte(s)
Diff to previous 23140
TGLObject and subclasses
-----------------------------------------

Introduce new member 'Bool_t TGLObject::fMultiColor' that specifies
whether the class uses multiple colors for its rendering. This
information is important when drawing highlight or outlines around
objects as display-lists can not be used if color-state changes are
stored in them.

With this modification most of the logick for
  virtual Bool_t TGLLogicalShape::ShouldDLCache(...)
can be implemented in TGLObject version.

Most of the GL-rendering classes have been fixed to properly set the
fMultiColor state and rely on the TGLObject::ShouldDLCache().


TGLPhysicalShape
----------------

Use TGLLogicalShape::Draw() instead of DirectDraw() when drawing
highlights to allow usage of display-lists for classes that do not use
multiple colors.


TGLUtil
-------

Decrease the default draw-quality for DrawLine/Cylinder/Sphere/Disk to
10. With software rendering the previous value of 60 caused very low
refresh rates.

Introduce two inner classes TDrawQualityModifier and
TDrawQualityScaler allowing easy/safe modification of draw-quality for
the above functions.

Introduce inner class TColorLocker allowing easy/safe modification of
color-lock state.

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: 7615 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/inc/TGLRnrCtx.h
File length: 7615 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/inc/TGLRnrCtx.h
File length: 6526 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/inc/TGLRnrCtx.h
File length: 6092 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/inc/TGLRnrCtx.h
File length: 5959 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/inc/TGLRnrCtx.h
File length: 5927 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/inc/TGLRnrCtx.h
File length: 5927 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/inc/TGLRnrCtx.h
File length: 5976 byte(s)
Diff to previous 19049
remove :$ from tag line

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/inc/TGLRnrCtx.h
File length: 5986 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/inc/TGLRnrCtx.h
File length: 6170 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