Log of /trunk/graf3d/gl/inc/TGLPhysicalShape.h
Parent Directory
Revision
46372 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Oct 6 03:18:11 2012 UTC (2 years, 3 months ago) by
matevz
File length: 7858 byte(s)
Diff to
previous 32465
* TGLMatrix:
Add function Bool_t IsScalingForRender() that returns true if length of base
vectors is significantly different than unity.
* TGLPhysicalShape:
Cache state of fTransform.IsScalingForRender() in a bool member.
When this is true, enable automatic scaling of normals during rendering.
* TGLLogicalShape:
Add static Bool_t fgIgnoreSizeForCameraInterest allowing a user to prevent
RGL from hiding very small objects - at least a pixel is always drawn. One
should invoke:
TGLLogicalShape::SetIgnoreSizeForCameraInterest(kTRUE);
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: 7643 byte(s)
Diff to
previous 22539
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
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/TGLPhysicalShape.h
File length: 7643 byte(s)
Diff to
previous 21252
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
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/inc/TGLPhysicalShape.h
File length: 7559 byte(s)
Diff to
previous 14004
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
14004 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Feb 8 10:49:26 2006 UTC (8 years, 11 months ago) by
couet
Original Path:
trunk/gl/inc/TGLPhysicalShape.h
File length: 8965 byte(s)
Diff to
previous 13860
From Richard:
Fixes for wireframe and outline drawing:
i) Both very much slower (up to 10x) than normal filled polygons -
incorrectly calling DirectDraw() bypassing the DL caching.
ii) Outline style did expensive repeated GL state swaps for every
physical shape draw.
iii) Only TGLFaceSet supported outline draw style.
Now:
i) Wireframe roughly same speed (or faster) than filled (~10x faster)
ii) Outline takes ~ filled polygons + wireframe times - as would expect
(about 5x faster).
iii) All shapes support outline style.
Exatct speed gain hardware dependent - but even software GL faster.
Also tidied up draw style code - created new TGLDrawFlags class to wrap
style + LOD hint into.
Revision
13860 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 18 16:57:59 2006 UTC (9 years ago) by
brun
Original Path:
trunk/gl/inc/TGLPhysicalShape.h
File length: 8322 byte(s)
Diff to
previous 13781
From Richard:
Further GL / LOD performance improvements:
i) Shape can indicate LOD support by axis. For tubes TGLCylinder only X+
Y supported. Calc LOD hint based on larger projection of Z faces of
bounding box, avoiding excessive LOD for long tubes.
ii) Only test time limited draws every 50 objects to avoid excessive
timing costs.
Revision
13781 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jan 5 15:11:27 2006 UTC (9 years ago) by
brun
Original Path:
trunk/gl/inc/TGLPhysicalShape.h
File length: 8288 byte(s)
Diff to
previous 13316
From Richard:
Performance improvements:
i) All drawables now implement SuportsLOD() method to test if they can
respond to LOD (tesselation) quality hint. If not the somewhat costly
projection size calculation can be skipped.
ii) SupportLOD() means low level OpenGL display caching can be enabled
for all shapes (previously only spheres). For shapes which don't support
LOD we create single cache entry using shape ID and kUnsupportedLOD
flag.
Draw times reduced - varries from 10% (Mesa software only GL - no proper
display lists) to about 250% on fast GL card with decent on card memory.
Revision
13005 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Oct 24 14:49:33 2005 UTC (9 years, 3 months ago) by
brun
Original Path:
trunk/gl/inc/TGLPhysicalShape.h
File length: 6505 byte(s)
Diff to
previous 12926
From Richard:
i) Add rotation manipulator.
ii) Allow direct manipulation of clipping plane - rotate/translate.
Cannot scale - makes no sense.
Note:
iii) Rotation interaction requires some improvement - difficult when
ring is almost parallel with eye line of camera.
iv) Still need to extend for all selected objects - requires some
internal rearrangement of TGLScene/TGLViewer
Revision
12892 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Oct 3 15:19:35 2005 UTC (9 years, 3 months ago) by
brun
Original Path:
trunk/gl/inc/TGLPhysicalShape.h
File length: 4737 byte(s)
Diff to
previous 12168
From Richard:
First implementation for interactive clipping, using OpenGL clip planes.
Initially we have plane & box - others later. See Help for description.
Known Bugs/Issues:
All in GUI:
i) Edit box takes keyboard focus and does not return to viewer pane when
clicked in. Hence all keys in viewer break - an existing general viewer
problem.
ii) Initial layout does not correctly hide the plane/box properties
panels, or scale for V side scroll bar.
Missing Features:
iii) CSG final pass and/or solid cappings.
iv) Can't rotate the box - need a TGLRotManip class soon.
v) Should be able to show and manipulate plane in similar fashion as
box.
vi) Trans/scale/rotate manipulators should be availible for any selected
object.
Revision
12168 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jun 23 15:08:45 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/gl/inc/TGLPhysicalShape.h
File length: 4600 byte(s)
Diff to
previous 12052
From Richard
Update to GL viewer to:
i) Retain modifications/section of physical shapes across scene
rebuilds.
ii) Be a bit smarter about rebuilds:
Detect if all physicals accepted into scene - never need to rebuild in
these cases.
Only destroy physicals no longer of interest to camera.
Imporves times a bit - more work on this required to remove stalls in
viewer interaction.
Revision
12052 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 15 10:22:57 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/gl/inc/TGLPhysicalShape.h
File length: 4527 byte(s)
Diff to
previous 11931
From Richard maunder:
Draw Sorting: Draw objects in order of decreasing BBox size - makes
dropouts on time termianted draws less intrusive - especially on slow
cards/software only. Reduced interactive drawtime to 100msec (from
300msec).
Added scene locking + more tracing to assist with debugging -
particularly under win32 mutli-thread.
Revision
11866 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Wed May 25 14:25:17 2005 UTC (9 years, 8 months ago) by
brun
Original Path:
trunk/gl/inc/TGLPhysicalShape.h
File length: 2601 byte(s)
From Richard Maunder:
Major changes to GL viewer to support:
i) Logical/Physical shape pairings
ii) Level of detail (LOD) scheme (TGLSphere only using at present)
iii) Common display list cache
iv) Scene rebuilds for large geometries
v) Some basic interactivity improvements - draw timeouts, drop low LOD
shapes etc
vi) New camara interactions:
Left Mouse: Rotate
Middle Mouse: Truck (pan parallel to camera film plane)
Right Mouse: Side-side drag dolly/zoom
Double click any button to reset the camera.
The previous pan with arrow keys, and zoom on mouse wheel are still
supported.
Camera interaction is default in viewer. These extra camera modes mean
there are not enough mouse buttons for previous right context/select.
To select / invoke context menu use Shift+Left Button and Shift+Right
Button respectively.
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.