Log of /trunk/graf3d/eve/src/TEvePolygonSetProjectedGL.cxx
Parent Directory
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: 6160 byte(s)
Diff to
previous 36892
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
36853 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 22 19:48:34 2010 UTC (4 years, 2 months ago) by
matevz
File length: 7365 byte(s)
Diff to
previous 33124
* TEvePolygonSetProjected:
When searching for duplicate polygons, also check the reverse
orientation.
* TEveGeoShape, TEveGeoShapeProjected, TEvePolygonSetProjected,
TEveGeoShapeExtract:
Introduce new flag 'Bool_t fMiniOutline' that instructs the renderer
to minimize the shape outline.
This still needs to be implemented for TEveGeoShape and
TEvePolygonSetProjected.
* TEvePolygonSetProjectedGL:
When mini-outline is requested, remove the inner lines.
Revision
33124 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 21 20:04:42 2010 UTC (4 years, 9 months ago) by
matevz
File length: 6955 byte(s)
Diff to
previous 32483
Implement central infractructure to allow eve-elements to support
internal multiple selection and highlightning of their sub-parts.
Use this in TEveDigitSet and its sub-classes TEveQuadSet and
TEveBoxSet.
Extend GL rendering and event-handling to support these operations.
eve/
====
* TEveElement - Add 3 new functions:
virtual TString GetHighlightTooltip();
virtual void UnSelected();
virtual void UnHighlighted();
* TEveSecondarySelectable - New secondary base-class for elements
supporting internal multiple selection / highlight.
* TEveDigitSet, TEveQuadSet, TEveBoxSet
- Sub-class TEveDigitSet from TEveSecondarySelectable.
- Implement functions needed for internal selection.
- Add common base-class TEveDigitSetGL for quad and box-set GL rendering.
* TEveChunkManager - Add support for restricted iteration.
TEveChunkManager::iterator accepts set<Int_t> for that purpose.
* TEveViewer - Add functions to handle additional mouse-hover signals
from TGLViewer.
* Other classes (all GL renderers) - Changes for additional argument
to TGLLogicalShape::DrawHighlight().
gl/
===
* TGLObject - Take AlwaysSecondarySelect() into account when deciding
whether to use DL caching for given draw-pass.
* TGLLogicalShape - Add a new (optional) argument to DrawHighlight()
specifying kind of outline to use (selected or highlighted). This
allows classes with internal selection to properly render outlines
when sub-parts of an object are both selected and highlighted.
* TGLEventHandler - Proparly handle objects with internal selection /
highlight.
* TGLSelectRecord - Add flag to separate GL-selection for selection
and for highlight. This is really used by record handlers.
* TGLViewer - Add two new signal-emitting functions to properly notify
clients about changes in internal object selection:
virtual void ReMouseOver(TObject *obj, UInt_t state); // *SIGNAL*
virtual void UnMouseOver(TObject *obj, UInt_t state); // *SIGNAL*
tutorials/eve
=============
Add instructions for activation of internal selection in
TEveQuad/BoxSet.
Revision
32483 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 5 19:31:54 2010 UTC (4 years, 10 months ago) by
matevz
File length: 6850 byte(s)
Diff to
previous 31517
* TEveBox
New class do draw simple cuboid with minimal memory usage.
Sub-class of TEveShape.
* TEveShape
Add flag to switch outline drawing on and off.
* TEvePolygonSetProjected
Honour the new flag in TEveShape.
Revision
30752 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Oct 15 18:55:34 2009 UTC (5 years, 3 months ago) by
matevz
File length: 6783 byte(s)
Diff to
previous 29676
From Alja & Matevz.
Make highlightning configurable on per class basis by introducing a
new virtual function in TGLLogicalShape:
virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp) const;
The main use of this functionality will be to support individual
selection of calo towers and potentially other container elements that
support secondary selection.
For now it is used in TEvePolygonSetProjected to highlight only
outline of the polygon.
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: 4692 byte(s)
Diff to
previous 28197
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
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: 4685 byte(s)
Diff to
previous 26148
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
26148 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 11 19:58:19 2008 UTC (6 years, 2 months ago) by
matevz
File length: 4364 byte(s)
Diff to
previous 26068
TGLUtil::GetDrawTesselatorXyzz
------------------------------
Four different tesselators are needed depending on what type
(float/double) and size (3d/4d) of data is being fed into them.
Thanks to Bertrand for spotting and localizing this problem.
TGLFaceSet
TEvePolygonSetProjectedGL
-------------------------
Use new functions for obtaining the tesselators.
Revision
26068 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 3 17:31:14 2008 UTC (6 years, 2 months ago) by
matevz
File length: 4362 byte(s)
Diff to
previous 26061
Move common code for creation of GLUtesselator object from TGLFaceSet
and TEvePolygonSetProjectedGL to TGLUtil.
Use GLUtesselator instead of deprecated typedef GLUtriangulatorObj.
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: 5359 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: 5205 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
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.