Log of /trunk/graf3d/gl/src/TX11GL.cxx
Parent Directory
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
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
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
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
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
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
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
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.