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

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

Parent Directory Parent Directory


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

Revision 47027 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 4 06:17:34 2012 UTC (2 years, 2 months ago) by matevz
File length: 19901 byte(s)
Diff to previous 46574
Add support for mac retina display. In practice it means we need to support a
scaled coordinate system within GL windows. We use full resolution in GL while
GUI and window system work in points that are 2x2 pixels.

Revision 46574 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 16 17:56:15 2012 UTC (2 years, 3 months ago) by matevz
File length: 19739 byte(s)
Diff to previous 43202
Move enums away from global namespace:
- EOverlap is now in namespace Rgl;
- EClipType is now in class TGLClip;
- EPosition and EManipType were not used and have been removed.

EGLCoordType and EGLPlotType are left in top-level. In these two enums all
names begin with kGL so there is less chance for collision.

Revision 43202 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 2 03:51:41 2012 UTC (2 years, 10 months ago) by matevz
File length: 19734 byte(s)
Diff to previous 43018
Bugfix: scene guides were drawn during object selection and there was a
missing check for zero-size name-stack size. So, hovering over an axis or
camera center sphere resulted in a crash.

* TGLSelectBuffer - return name-stack size from Set() method.
* TGLViewerBase - check name-stack size before accessing elements.
* TGLViewer - do not draw non-scene objects in rendering for selection.

Revision 43018 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 16 03:13:21 2012 UTC (2 years, 11 months ago) by matevz
File length: 19911 byte(s)
Diff to previous 42974
Rewrite highlight rendering so that the stencil-control logic lives on the
TGLScene level, within new function TGLScene::RenderHighlight(). A set of new
functions called RenderXXXForHighligt() was introduced in TGLViewer/Scene.

This works around the problems with stencil buffer
coherency during multi-pass rendering with multiple clipping planes.

Some tweaking was necessary in TEve-GL classes that implement specialized
DrawHighlight() virtual from TGLLogicalShape.

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: 19361 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: 18293 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: 18291 byte(s)
Diff to previous 33627
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 33627 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 27 19:19:58 2010 UTC (4 years, 7 months ago) by matevz
File length: 18173 byte(s)
Diff to previous 32867
Merge the following revisions from the fireworks branch:
33294, 33296, 33339, 33424, 33428, 33431, 33432, 33448, 33478


33294
=====

Author: alja
Date: Thu Apr 29 16:03:27 2010
New Revision: 33294

URL: http://root.cern.ch/viewvc?rev=33294&root=root&view=rev
Log:
In SetMagFieldObj() add additional argument to set ownership of magnetic field object.
For the backward compatibility, propagator by default owns given filed object.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
    branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx


33296
=====

Author: matevz
Date: Thu Apr 29 16:18:32 2010
New Revision: 33296

URL: http://root.cern.ch/viewvc?rev=33296&root=root&view=rev
Log:
Initialize field ownership flag. When settin gnew field, check the old flag.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
    branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx


33339
=====

Author: alja
Date: Mon May  3 10:47:09 2010
New Revision: 33339

URL: http://root.cern.ch/viewvc?rev=33339&root=root&view=rev
Log:
In TEveCalo2D update cellID cache when automatic scale is enabled.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
    branches/dev/fireworks/graf3d/eve/src/TEveCalo.cxx


33424
=====

Author: matevz
Date: Fri May  7 17:38:31 2010
New Revision: 33424

URL: http://root.cern.ch/viewvc?rev=33424&root=root&view=rev
Log:
Render frame in outline mode.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveBoxGL.cxx


33428
=====

Author: matevz
Date: Fri May  7 20:26:32 2010
New Revision: 33428

URL: http://root.cern.ch/viewvc?rev=33428&root=root&view=rev
Log:
Preliminary commit -- towards generaliziation of handling of projected
tracks in topologically non-trivial projections.

Make variables in TEveTrack deprecated.

Introduce new variables in TEveTrackPropagator, extend GUI editor.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
    branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
    branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagatorEditor.h
    branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagatorEditor.cxx


33431
=====

Author: matevz
Date: Sat May  8 17:45:42 2010
New Revision: 33431

URL: http://root.cern.ch/viewvc?rev=33431&root=root&view=rev
Log:
Add full support for handling of projected tracks in topologically non-trivial
projections. Use the following setters in TEveTrackPropagator:
   void   SetProjTrackBreaking(UChar_t x);
   void   SetRnrPTBMarkers(Bool_t x);
   TMarker& RefPTBAtt() { return fPTBAtt; }
to tune the behaviour. The following modes are supported:
   enum EProjTrackBreaking_e {
     kPTB_Break,            // break tracks
     kPTB_UseFirstPointPos, // use first track-point half-space
     kPTB_UseLastPointPos   // use last track-point half-space
   };

SetRnrPTBMarkers(Bool_t x) allows to enable drawing of a marker with
attributes RefPTBAtt() at break-points.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
    branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
    branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
    branches/dev/fireworks/graf3d/eve/src/TEveTrackGL.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackProjectedGL.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagatorEditor.cxx


33432
=====

Author: matevz
Date: Sat May  8 19:41:52 2010
New Revision: 33432

URL: http://root.cern.ch/viewvc?rev=33432&root=root&view=rev
Log:
Increase precision of break-point determination.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx


33448
=====

Author: matevz
Date: Mon May 10 17:48:34 2010
New Revision: 33448

URL: http://root.cern.ch/viewvc?rev=33448&root=root&view=rev
Log:
Use bounding-box of non-selectable scenes for frustum size determination also when in selection mode. This assures that near and far clipping planes stay the same and depth-buffer results can be interpreted with current camera parameters.

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


33478
=====

Author: matevz
Date: Wed May 12 13:24:42 2010
New Revision: 33478

URL: http://root.cern.ch/viewvc?rev=33478&root=root&view=rev
Log:
From Alja: mark clip-set as viewer-owned overlay element.

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

Revision 32867 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 1 17:07:30 2010 UTC (4 years, 9 months ago) by matevz
File length: 18151 byte(s)
Diff to previous 32338
Add to TGLViewerBase the following function:
  TGLLogicalShape* FindLogicalInScenes(TObject* id);
that allows overlay elements to get GL rendering objects.

Revision 32338 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 12 17:11:34 2010 UTC (4 years, 11 months ago) by matevz
File length: 17707 byte(s)
Diff to previous 29676
Introduce virtual function:
  void TGLViewerBase::SetupClipObject()
that is called half-way through the TGLViewer::PreRender() -- when
overall bounding box is known but the individual scene visibility has
not been determined yet. Thus scene visibility can be properly
determined if the clipping object changes due to a large change in
overall bounding box.
This is overriden in TGLViewer where all clipping objects (plane and
box) need to be modified.

Move auto-clip-update flag from TGLViewer to TGLClipSet so that the
TGLClipSetEditor can modify it.

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: 17423 byte(s)
Diff to previous 28898
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 28898 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 11 10:36:51 2009 UTC (5 years, 7 months ago) by matevz
File length: 17317 byte(s)
Diff to previous 28885
- TGLViewerBase: Rewrite DeleteOverlayElements() taking into account
  that overlay elements are stored in a vector (list was assumed).

- TGLViewer: Do not double-delete GL viewer overlay elements -
  delegate destruction to ~TGLViewerBase().

Revision 28885 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 10 15:51:12 2009 UTC (5 years, 7 months ago) by matevz
File length: 17356 byte(s)
Diff to previous 27577
From Alja.

Add missing overlay management.

Revision 27577 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 23 14:34:36 2009 UTC (5 years, 11 months ago) by matevz
File length: 17083 byte(s)
Diff to previous 26394
TEveElement
===========
Add the following *MENU* functions:
  DumpSourceObject()
  PrintSourceObject()
  ExportSourceObjectToCINT()
This allows direct interaction with the original object being
represented by the EVE-element.

TGLViewer, TGLEventHandler and TGLViewerEditor
==============================================
Add button to enter into the "Annotation" pick-mode.
Add methods allowing easy deletion of all annotations.

tutorials/eve/alice_esd.C
=========================
Remove annotations when loading a new event.

Revision 26394 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 23 14:35:25 2008 UTC (6 years, 2 months ago) by matevz
File length: 16411 byte(s)
Diff to previous 25642
TGLClip
=======
In TGLClipSet::SetClipState() negate also the distance from plane.
There was state mismatch between TGLClipPlane and TGLClipSetEditor.


Other files
===========
Consistent documentation-markup and white-space.

Revision 25642 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 1 11:04:06 2008 UTC (6 years, 3 months ago) by matevz
File length: 16427 byte(s)
Diff to previous 24316
Merge revs 25435:25641 from the fireworks branch.

Many improvements in text and axis rendering for orthographic views,
for axes in non-linear projections and for the dedicated lego view.

TGLSceneBase
------------
Add data-member 'Bool_t fSelectable' with get/set methods.
If this is set to false, the scene is not rendered during selection
thus preventing any of its elements to be selected.

TGLViewerBase
-------------
In PreRender() honour the selectable state of a scene when selecting
which scenes to include in rendering.

TGLSAViewer
-----------
Remove extra border introduced by usage of kSunkenFrame.

TGLEmbeddedViewer
-----------------
Add optional argument 'Int_t border' to the constructor.

Revision 24316 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 17 19:48:30 2008 UTC (6 years, 7 months ago) by matevz
File length: 16296 byte(s)
Diff to previous 23140
TGLViewerBase
=============

Break render into two pieces to give sub-classes more control over
rendering procedure.


TGLViewer
=========

Render axes/guides before selected/highlighte objects so that
depth-test can be honoured (if requested).

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: 15834 byte(s)
Diff to previous 23105
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 23105 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 10 09:48:39 2008 UTC (6 years, 9 months ago) by matevz
Original Path: trunk/gl/src/TGLViewerBase.cxx
File length: 15834 byte(s)
Diff to previous 23087
Fix compiler warnings and coding convention violations.

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/TGLViewerBase.cxx
File length: 15749 byte(s)
Diff to previous 21702
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 21702 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 14 18:55:14 2008 UTC (7 years ago) by matevz
Original Path: trunk/gl/src/TGLViewerBase.cxx
File length: 14337 byte(s)
Diff to previous 20882
In TGLScene/TGLViewer add two timeouts for high-quality and
low-quality (during rotation etc) scene rendering. Expose both time
limits via TGLViewerEditor.

In TGLCamera::OfInterest() remove redundant test for physical-shape
bbox volume and optimize the remaining bbox diagonal length test.

Remove blanks from the eols.

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/TGLViewerBase.cxx
File length: 14345 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/TGLViewerBase.cxx
File length: 14345 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/TGLViewerBase.cxx
File length: 14399 byte(s)
Diff to previous 19644
remove :$ from tag line

Revision 19644 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Aug 19 10:07:16 2007 UTC (7 years, 5 months ago) by rdm
Original Path: trunk/gl/src/TGLViewerBase.cxx
File length: 14409 byte(s)
Diff to previous 19433
From Matevz:
Add Bool_t fChanged that reflects if the viewer needs to be
redrawn due to internal state changes of scenes.
AddScene() now returns TGLSceneInfo* holding viewer-specific
information of the newly created scene.

Revision 19433 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 23 15:08:39 2007 UTC (7 years, 6 months ago) by rdm
Original Path: trunk/gl/src/TGLViewerBase.cxx
File length: 13646 byte(s)
Diff to previous 19153
From Matevz:
Provide Add/RemoveOveralElement() functions.
Improve viewer-scene inter-awareness in view of automatic scene destruction.
New method MergeSceneBBoxes(TGLBoundingBox& bbox) needed for
camera-interest bootstrapping.

Revision 19153 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 23 21:23:22 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLViewerBase.cxx
File length: 11899 byte(s)
Diff to previous 19138
From Matevz:
1. TGLViewer performs internal loop on pad-primitives.
2. Timur: generalization of gl-plot-painters to allow external access.
3. Support usage of gl-plot-painters in gl-viewer.
4. Provide a default gl-sharing context for resource optimization.

Revision 19138 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 22 15:11:13 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLViewerBase.cxx
File length: 11936 byte(s)
Diff to previous 19049
From Bertrand & Matevz:
Fix a problem when viewing geometries with GLinPad

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/TGLViewerBase.cxx
File length: 11664 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/TGLViewerBase.cxx
File length: 10380 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