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

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

Parent Directory Parent Directory


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

Revision 34245 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 30 13:36:29 2010 UTC (4 years, 6 months ago) by brun
File length: 17915 byte(s)
Diff to previous 33579
Fix format in warning and error statements

Revision 33579 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 19 12:43:08 2010 UTC (4 years, 8 months ago) by rdm
File length: 17906 byte(s)
Diff to previous 28478
Fix svn identifier lines.

Revision 28478 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 7 07:00:20 2009 UTC (5 years, 8 months ago) by couet
File length: 17908 byte(s)
Diff to previous 23140
- Remove the old GL window management for MAC-OS.
  (GL in pad now works on Darwin Kernel)

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: 19757 byte(s)
Diff to previous 22488
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 22488 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 6 16:04:47 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/gl/src/TX11GL.cxx
File length: 19757 byte(s)
Diff to previous 22419
remove first batch of warning reported by gcc 4.3:
- warning: suggest parentheses around && within ||
- warning: suggest explicit braces to avoid ambiguous if else

Revision 22419 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 3 00:25:01 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/gl/src/TX11GL.cxx
File length: 19762 byte(s)
Diff to previous 20882
From Andrew Savchenko:
ROOT can not be compiled with gcc-4.3.
Some ROOT source files doesn't contain required #include directives,
for example, they use strlen(), but #include <string.h> is missed or
malloc() is used and #include <stdlib.h> is missed. 

Earlier versions of gcc allowed some headers to be included implicitly,
but issued a warning (-Wimplicit-function-declaration). Newer one,
gcc-4.3 denies such silly behaviour: all required headers must be explicitly
included. 

Attached patch fixes this. Also it fixes another issue, which disallows
ROOT to compile under gcc-4.3: C functions don't belong to namespace std,
so expressions like std::memcpy() are no longer valid and plain memcpy()
should be used instead.

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/TX11GL.cxx
File length: 19727 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/TX11GL.cxx
File length: 19727 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/TX11GL.cxx
File length: 19781 byte(s)
Diff to previous 19000
remove :$ from tag line

Revision 19000 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 11 19:56:34 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 19791 byte(s)
Diff to previous 17007
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.

Revision 17007 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 1 08:53:25 2006 UTC (8 years, 1 month ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 23064 byte(s)
Diff to previous 16953
From Timur:
GL windows can now be resized on Macosx

Revision 16953 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 27 11:11:04 2006 UTC (8 years, 1 month ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 22517 byte(s)
Diff to previous 16183
From Timur
With this change GL in the pad works on the MAC. There is still, however,
a problem when growing a window (fix coming later)

Revision 16183 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 31 13:44:37 2006 UTC (8 years, 4 months ago) by couet
Original Path: trunk/gl/src/TX11GL.cxx
File length: 21196 byte(s)
Diff to previous 15362
From Timur:

New classes:

1.
TGLBoxPainter - implements "glbox" option for TH3, shows bin contents as
boxes, which sizes are proportional to bin content. "glbox1" is the same,
as previous, but with spheres instead of boxes. Slices (XOY/YOZ/XOZ)
are now drawn as sets of rectangles.

2.
TGLLegoPainter. Changes: removed all stuff, which works with gl
projections, modelview transformations, textures, etc.

3.
TGLPlotPainter. Added common parts of different painters:
generic Paint function, PlotSelected, etc.

4.
TGLOrthoCamera. Added operations, required by gl hist painters.

5.
TGLHistPainter. Class completely changed (previously known as
TGLPadHistPainter).

6.
TGLPlotBox. New class, draws back box for different kinds of plots,
highlights planes which are under cursor, makes some sizes calculations
(converts 3d into 2d coords) etc.

7.
TGLSurfacePainter. New class, for different surf options.
Supports cartesian, polar, cylindrical and spherical coords.
Slices (XOY, YOZ, XOZ), projections.

8.
TGLTF3. New class, draws TF3. No slices available now.

9.
TGLUtil. Added new auxilary classes
TGLLevelPalette, TGL2DArray, functions, required by different plot
painters,
TGLEnableGuard and TGLDisableGuard removed from RootGL namespace into
global namespace.

Revision 15362 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 7 18:43:33 2006 UTC (8 years, 7 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 20953 byte(s)
Diff to previous 15350
Fix missing comment in function Select

Revision 15350 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 6 11:49:01 2006 UTC (8 years, 7 months ago) by couet
Original Path: trunk/gl/src/TX11GL.cxx
File length: 20910 byte(s)
Diff to previous 15059
From Timur:

- Small changes, preparation for TGLHistPainter replacement/modification.

Revision 15059 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 08:04:42 2006 UTC (8 years, 8 months ago) by couet
Original Path: trunk/gl/src/TX11GL.cxx
File length: 20709 byte(s)
Diff to previous 14256
- Coding conventions. Comments improvments.

Revision 14256 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 14 08:59:47 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 20184 byte(s)
Diff to previous 14210
From Timur:
Small patch to avoid expensive GC recreation during flush/read gl buffer

Revision 14210 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 9 11:18:31 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 19760 byte(s)
Diff to previous 14203
From Timur:
Panning in TGLHistPainter for win32 modified.

Revision 14203 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 8 21:09:43 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 19581 byte(s)
Diff to previous 13999
From Timur Pocheptsov:

-TGLPixmap - removed and replaced by TGLViewer (most of the TGLViewer
    functionality is available in pad now);
-TGLHistPainter - zooming/panning added for legoes/surfaces;
-TGLViewerEditor - TGLViewer's editor for pad (lights/clipping/guides
    manipulation).

-TRootCanvas :
  minor changes to support mouse wheel event in gl viewer in a pad

-TCanvas :
  a)changes to process keyboard events correctly
  b)changes to process mouse will events

-TVirtualViewer3D :
  changes in interface for TGLManager (win32 implementation of TGLManager
  requires some functions and cannot be dependant from TGLViewer)

-Added class TVirtualGLManipulator - base for TGLManip - again, required
 mostly by TGWin32GL.

Revision 13999 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 7 14:18:46 2006 UTC (8 years, 11 months ago) by couet
Original Path: trunk/gl/src/TX11GL.cxx
File length: 19093 byte(s)
Diff to previous 13991
From Timur:

- Some mods for the rules checker

Revision 13991 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 6 16:15:13 2006 UTC (8 years, 11 months ago) by couet
Original Path: trunk/gl/src/TX11GL.cxx
File length: 19015 byte(s)
Diff to previous 13389
From Timur:

- Changes to replace rendering into DIB/pixmap with direct rendering
  (result will be read into pixmap/DIB and used by pad)

Revision 13389 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 29 09:25:51 2005 UTC (9 years, 1 month ago) by couet
Original Path: trunk/gl/src/TX11GL.cxx
File length: 18685 byte(s)
Diff to previous 13336
From Timur:
- Coding conventions fixes

Revision 13336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 24 12:29:12 2005 UTC (9 years, 2 months ago) by couet
Original Path: trunk/gl/src/TX11GL.cxx
File length: 18491 byte(s)
Diff to previous 13274
- More coding conventions fixes

Revision 13274 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 17 14:43:17 2005 UTC (9 years, 2 months ago) by couet
Original Path: trunk/gl/src/TX11GL.cxx
File length: 18368 byte(s)
Diff to previous 12896
From Timur:

- Mods needed to paint legos and surfaces thanks to TGLHistPainter

Revision 12896 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 4 07:51:29 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 18202 byte(s)
Diff to previous 12524
From Timur:

- GL in TPad didn't work in case of hardware accelerated GL.

Revision 12524 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 23 11:29:06 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 18201 byte(s)
Diff to previous 12503
From Timur:
Small fixes in TX11GLManager and TGWin32GLManager

Revision 12503 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 18 11:12:59 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 15600 byte(s)
Diff to previous 12495
From Timur:

Add a new member to TStyle
   Bool_t  fCanvasPreferGL;    //if true, rendering in canvas is with GL
and the corresponding Get/set functions:
   Bool_t  GetCanvasPreferGL() const {return fCanvasPreferGL;}
   void    SetCanvasPreferGL(Bool_t prefer = kTRUE) {fCanvasPreferGL=prefer;}

 Changes to enable gl-in-pad. 1.You should type
  gStyle->SetCanvasPreferGL(kTRUE) to turn on GL support.
2. Do not try to use at the same time gl-viewer and gl-in-pad :)) -
   do not work at the moment.
3. GL-in-pad can be used with g3d and geom now (not with hists, polylines
  or polymarkers, composite shapes do not work).
4. You can rotate scene, zoom (with J,K and context menu), select :
  TGLPixmap (viewer) - interesting only with context menu item
  Pad under viewer - you can change color of pad (==3d scene background)
  Object from the scene (g3d node or geom volume). For selected object
  you can change the color (geom volumes, when selected, higlight
  themselves)
5. In case of complex geometry the selection is very slow now (will be fixed
   soon)
6. IMPORTANT! TGLPixmap is only a temporary testing facility, will be
   replaced ASAP.
7. IMPORTANT! this new stuff is unstable :)

Revision 12495 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 17 09:10:44 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 15219 byte(s)
Diff to previous 11289
From Timur:
In view of the coming GL-in-TPad new features, I have changes in
several modules and want to add them step by step. This is the first
update, these classes are auxiliary stuff. I'm planning to add other stuff
tomorrow (and modification in pad and canvas, which will enable
gl-in-pad).

TGLManager is a base abstract class, responsible for
window creation, gl-context/glpixmap and context creation,
manipulation with gl-context and gl-pixmap.

TGWin32GLManager - concrete implementation for Win32
TGX11GLManager - concrete implementation for X11.

Revision 11289 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 10 22:26:15 2005 UTC (9 years, 10 months ago) by rdm
Original Path: trunk/gl/src/TX11GL.cxx
File length: 3692 byte(s)
Diff to previous 10593
remove several not needed "#include <iostream>" and replace several
by "Riostream.h".

Revision 10593 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 22 23:39:52 2004 UTC (10 years, 2 months ago) by rdm
Original Path: trunk/gl/src/TX11GL.cxx
File length: 3713 byte(s)
Diff to previous 9761
fix several Error() messages.

Revision 9761 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 16 10:00:45 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 3709 byte(s)
Diff to previous 9710
From Timur Pocheptsov;
Three more light sources were added (this is good for box, for example,
but not very good for tube - it's too bright now)
I added drawing for markers: spheres, cubes, pyramids, points, crosses and
"stars" == *. Drawing with spheres may be slow.
I added primary selection facility - I just draw wireframe box around
shape (today I hope to add context menu to picking action)

Revision 9710 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 10 09:02:12 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/gl/src/TX11GL.cxx
File length: 3713 byte(s)
Diff to previous 9701
From Timur:
Fix portability problems on Solaris/CC

Revision 9701 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Aug 9 22:09:15 2004 UTC (10 years, 5 months ago) by rdm
Original Path: trunk/gl/src/TX11GL.cxx
File length: 3670 byte(s)
move TX11GL to gl directory to avoid libGX11 to depend on OpenGL.
TX11GL will only be compiled when on X11 capable platforms. The TWin32GL
remains in the win32gdk directory since Win32 always has OpenGL available.
We still need a TQtGL version.

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