source: trunk/source/visualization/OpenGL/History @ 1041

Last change on this file since 1041 was 1041, checked in by garnier, 15 years ago

en test

File size: 32.9 KB
RevLine 
[1041]1$Id: History,v 1.140 2009/05/13 10:28:00 lgarnier Exp $
[529]2-------------------------------------------------------------------
3
4     =========================================================
5     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
6     =========================================================
7
8                      Category History file
9                      ---------------------
10This file should be used by G4 developers and category coordinators
11to briefly summarize all major modifications introduced in the code
12and keep track of all category-tags.
13It DOES NOT substitute the  CVS log-message one should put at every
14committal in the CVS repository !
15
16     ----------------------------------------------------------
17     * Reverse chronological order (last date on top), please *
18     ----------------------------------------------------------
19
20History file for visualization/OpenGL
21-------------------------------------
[1040]22
2313 May 2009, Laurent Garnier
24 - G4OpenGLStoredQtViewer.cc: Fix a second view redraw at ShowView() call
25 - G4OpenGLQtViewer : Remove unuseful variables, renaming others
[1041]26 - G4OpenGLViewer : Add method for resizing properly windows. Add methods
27   to get window width, height and to know if size has changed
28 - G4OpenGLQtViewer, G4OpenGLStoredQtViewer, G4OpenGLImmediateQtViewer,
29   G4OpenGLXmViewer, G4XmWindowsHandlingCallback, G4OpenGLXViewer :
30     Apply the previous changes.
[1040]31
[1036]326 May 2009, Laurent Garnier
33 - G4OpenGLQtViewer.cc: Fix compilation warning and error with gcc4.4
34
3528th April 2009, John Allison
36 - G4OpenGLViewerMessenger.cc: Added return statement at end of every
37   "if (command == ..." statement.  (Because of test for OGLS, it is
38   not elegant to use "if...else if...else" structure.)
39
[1023]4028th April 2009, Laurent Garnier
41 - G4OpenGLXViewer,G4OpenGLViewer : End of moving printEPS and associated
42   functions from GLXViewer to GLViewer.   
43 - G4OpenGLXViewer :
44   - Remove debug methods
45   - Add check in SetView() method
[1036]46 - G4OpenGLViewer : Add a glReadBuffer before glReadPixel in grabPixel method
[529]47
[973]488th April 2009, Laurent Garnier
49 - G4OpenGLBitmapStore.hh : BugFix correction for windows (introduce 2nd February ?)
[975]50 - G4OpenGLViewer.hh : move methods in private
51 - G4OpenGLXViewer.hh : Add debug methods
52 - G4OpenGLImmediateXmViewer.cc, G4OpenGLStoredViewer.cc, G4OpenGLStoredXmViewer.cc,
53   G4OpenGLStoredXViewer.cc, G4OpenGLViewer.cc   : Add debug messages
54 - G4OpenGLStoredXmViewer.cc,G4OpenGLStoredXViewer.cc, G4OpenGLStoredWin32Viewer.cc :
55   - Add a DrawDisplay list in case of KernelVisit=1 and  nothing new to display.
56   - Add a flush at the end of the view.
57 - G4OpenGLViewer.cc :
58   - Improve the fix and resizing when X/Y size was even (lack of precision
59     in a /2)
60   - Set line/point size at a default size when printing.
61 - G4OpenGLXmWindowsHandlingCallbacks.cc : print method rename in printEPS
62 - G4OpenGLXViewer.cc : Lot of changes, try to debug it. Pb when printing in pixmap
63   mode on some windows size
[970]64
[1023]656th April 2009, Joseph Perl (opengl-V09-02-02, then opengl-V09-02-03)
[973]66 - New tag to clean up all of the cases of files that changed only in the cvs id.
67
[959]6824th March 2009, Laurent Garnier (opengl-V09-02-01)
[949]69 - G4OpenGLViewer : Add a fix and resizing when X/Y size was even (lack of precision
70   in a /2)
71
[950]7218th March 2009  John Allison
73- G4OpenGLViewerMessenger.cc: printMode and transparency are available
74  for all OGL windows (they were previously inadvertently hidden by
75  an OGLS requirement).
76
[945]7716th March 2009, Laurent Garnier
78 - G4OpenGLViewer : Add a check on max viewport dimensions when setting size.
79
[940]804rd March 2009, Laurent Garnier
[938]81 - G4OpenGLQtViewer:
82   - Suppress some warnings when saving file
83   - Changing size is now allowed when saving (to save with better resolution than screen size)
[941]84 - G4OpenGLViewer:
85  - Some renaming for print methods to be more clear about Vectored and non Vectored
86  - Now using Gl2PS method to do PS (changes also in G4OpenGLXViewer and G4OpenGLQtViewer)
87  - Suppress unuseful printX methods (heritated form XViewer)
88  - Add methods to handle printVectored and NonVector cases
89 - G4OpenGLViewerMessanger : Changes methods to get new G4OpenGLViewer methods to print
[938]90
[935]911st March 2009, Laurent Garnier
[938]92 - Remplacing glBitmap by GL_POINTS to draw marker : Speed improvment
[935]93  and gl2ps can now draw Markers.
94
[924]9516 February 2009, Laurent Garnier
96 - Modifications in GNUMakefile for gl2ps.
97 - G4OpenGLViewer,G4OpenGLViewerMessenger.cc,G4OpenGLXmMainMenubarCallbacks.cc
98   ,G4OpenGLXmViewer.cc modified for gl2ps and some renaming "print" in
99   "printVectoredEPS"
100
[915]1012nd February 2009  Laurent Garnier
102- Improve Anticipate headers declaration in all files
103- Factorize grabPixels function in G4OpenGLViewer
104- Begin of refactoring printEPS function
105
[912]10622th January 2009  Laurent Garnier
107- Fix bug in ratio and geometry on X/Xm/Qt/Win32 viewers
108
[911]10919th January 2009  Laurent Garnier
[942]110- Change G4DEBUG definition by G4DEBUG_VIS_OGL
[911]111
[906]11212th January 2009  John Allison
113- G4OpenGLViewer.cc: Pick up X and Y window size hints to define viewport.
114
[897]1152 December, Laurent Garnier
116 - G4OpenGLImmediateXmViewer,G4OpenGLStoredXmViewer,G4OpenGLXmViewer
117   G4OpenGLImmediateXViewer, G4OpenGLStoredXViewer, G4OpenGLXViewer,
118   G4OpenGLXmWindowHandlingCallbacks,
119   G4OpenGLImmediateQtViewer.cc, G4OpenGLStoredQtViewer, G4OpenGLQtViewer
120   G4OpenGLImmediateWin32Viewer.cc, G4OpenGLStoredWin32Viewer, G4OpenGLWin32Viewer
121   ->  Replace WinSize by fWinSize and some improvments about size initialization
122
123 - G4OpenGLQtViewer.hh : Suppress WinSize private variable
[898]124 - Now Could pass XString like 400x600-0+0 to viewers and set position and location. It
125   will work for Qt, X, Win32 for the moment.
[897]126
[906]12724 October, Laurent Garnier (opengl-V09-01-03)
[873]128 - Change GEANT4_QT_DEBUG flag by QTDEBUG
129 - Suppress unuseful DEBUG messages
130
[866]13112th October Laurent Garnier
132 - G4OpenGLQtExportDialog : improvments for Qt3"
133 - G4OpenGLQtViewer,G4OpenGLImmediateQtViewer,G4OpenGLStoreQtViewer : Add the name on OpenGlQt viewers
134 - G4OpenGLStoredQtViewer,G4OpenGLImmediateQt, G4OpenGLStoredQt : Change OGLSQT and OGLIQT by OGLSQt and OGLIQt
135
[862]1362 October Laurent Garnier
137 - Fix a crash when there was no scene.
138
[848]13928 July Laurent Garnier
140 - Fix a bug in XmRotation panel introduce in last commit by myself.
141
[845]14220th June 2008  Laurent Garnier
143 - Correct some warnings
144 - Move rotation code of Xm and Qt in G4OpenGLViewer::rotateScene. Same code in now shared
145
[843]14612th June 2008  Laurent Garnier
[845]147 - Emit signals when moving/rotate scene, in order to get them in external app
[843]148
[804]14928th Mai 2008  Laurent Garnier
[845]150 - Add mouse wheel zoom commands
[804]151
[790]15228th April 2008  Laurent Garnier
[845]153 - Add better moc control/compilation step in GNUmakefile
154 - Fix a problem when launching QT VIS without QT UI (N02 for example)
[789]155
[790]15628th April 2008  John Allison  (opengl-V09-01-02)
157- G4OpenGLStoredSceneHandler: Tidied constructors of nested classes.
158
[789]1594th April 2008  John Allison  (opengl-V09-01-01)
160- Fixed DBL_MAX problem in 2D drawing:
161  o changed G4OPENGL_DBL_MAX to G4OPENGL_FLT_BIG.
162- Fix gcc-4.3.0 compiler warnings.
163
[776]16411th March 2008, Laurent Garnier
165 - Resolve QT3 compilation errors
[714]166
[776]16710th March 2008, Laurent Garnier
168 - Add a dialog panel to make movies (Right button->Actions->Movie parameters)
169 - Add ability to "auto rotate" volume launched with quick mouse move
170 - Lots of improvments for Qt3
171 - Improvments on moving steps with shortcuts
172 - Could now select between orthogonal/perspective view mode
173
1741st February 2008  John Allison
175 - G4OpenGLQtViewer.cc: Fix #ifdef QT protection.
176 - G4OpenGLSceneHandler.cc: Small improvement to logic of setting GL_LIGHTING.
177
[714]17830th January 2008, Laurent Garnier
[704]179 - Add moving camera on left/right/up/down arrown, going forward/backward
180   on SHIFT+up/down, zoom in with +/- keys
181 - Add a context menu entry for projection perspective/orthographic
182 - Fix some bugs on windows in export dialog
183
[714]18415th January 2008, Laurent Garnier
[688]185 - Fixed some layout problems on export dialog box
186 - Some improvements on exports formats
187 - Fix a bug in the help command : The clic callback on a item was not
188   working on windows
189 - Fix a crash at exit when launched on a MAC.
190 - EPS export format is now ready for Qt3
191 - Add Vectoriel EPS export format
192 - Fix an aspect ratio deformation when resize the widget
193 - Fix a crash at launch with leopard
194 - When selecting the "move" mouse action, this action was set even when
195   mouse button was released. Fixed : Now we should clic to have the move action
196 - GNUmakefile : Added a macro for moc file
197 - Moc files : Suppression of all theses files. They are now autogenerated
198   thanks to config/common.gmk
199
2004th January 2008  John Allison  (opengl-V09-01-00)
201- Implemented extended 2D interface.
202
[632]20330th November 2007  Laurent Garnier
204- Improvements for Qt3
205- moc files : Adding other versions for QT_MOC_REVISION 28,58 and
206   59, but this is not the right solution..
207
[631]20819th November 2007  Joseph Perl (for Laurent Garnier) (opengl-V09-00-04)
209- Added GEANT4_QT_DEBUG flag to more places
210
[610]21115th November 2007  John Allison  (opengl-V09-00-03)
212- Re-introduced Qt files, now properly protected by cpp flags.
213- cpp flags also added to some other files not previously properly protected.
214
[609]21515 Nov 2007, Laurent Garnier
216 - G4UIQt,G4Qt : Adding a GEANT4_QT_DEBUG flag to hide all debug messages
217 - G4UIQt,G4Qt : Compilation improvements for Qt3
218 - G4UIQt,G4Qt : Minors corrections on G4UIQt helpWidget
219
22014 Nov 2007, Laurent Garnier
221 - G4OpenGLStoredQtViewer.cc : Correction of a bug with mouse move event in
222     Qt4
223 - G4OpenGLQtExportDialog_moc.cc, G4OpenGLQtViewer.cc, G4OpenGLQtViewer_moc.cc :
224     Adding protection for Qt version between 4.0 and 4.2
225
[610]22613th November 2007  John Allison  (opengl-V09-00-02)
227- Removed Qt files from tag.  File are still at head - need fixing.
228
[609]22913 Nov 2007, Laurent Garnier
230 - G4UIQt,G4Qt : Moving all moc in one big file interface/G4UIQT_moc.cc,
231   including Qt3 and Qt4 moc support
232
[610]23310th November 2007  John Allison  (opengl-V09-00-01)
234- Moved WinSize_x, y to base class G4OpenGLViewer.
235- Minor improvement in guidance for /vis/ogl/printEPS.
236
[609]23709 Nov 2007, Laurent Garnier
238 - G4UIQt,G4Qt : Change all include directive to be compatible with Qt3
239
24008 Nov 2007, Laurent Garnier
241 - moc_G4OpenGLQtExportDialog.cc move in G4OpenGLQtExportDialog_moc.cc
242 - moc_G4OpenGLQtViewer.cc move to G4OpenGLQtViewer_moc.cc
243
24427 Sept 2007, Laurent Garnier
245 - Adding sur files for G4UIQt driver :
246   - G4OpenGLImmediateQt.cc
247   - G4OpenGLImmediateQtViewer.cc
248   - G4OpenGLQtExportDialog.cc
249   - G4OpenGLQtViewer.cc
250   - G4OpenGLStoredQt.cc
251   - G4OpenGLStoredQtViewer.cc
252   - moc_G4OpenGLQtExportDialog.cc
253   - moc_G4OpenGLQtViewer.cc
254
25528th September 2007  lgarnier
256- first import of G4UI Qt files : Do not try to compil them
257
[593]25821st August 2007  John Allison  (opengl-V09-00-00)
259- Removed redundant G4OpenGLXViewerMessenger.
260
26125th May 2007  John Allison  (opengl-V08-03-03)
262- G4OpenGLSceneHandler and G4OpenGLXViewerMessenger:
263  Fixed gcc-4.1.2 compiler warnings.
264
26525th May 2007  John Allison  (opengl-V08-03-02)
266- G4OpenGLXViewer: Trapped glXMakeCurrent in Initialise function.
267
26824th May 2007  John Allison  (opengl-V08-03-01)
269- Fixes for SUN.
270
27116th May 2007  John Allison  (opengl-V08-03-00)
272- Fix compiler warnings on SLC4.
273- Bug fixes:
274  o Correct path /vis/ogl/set/printMode.
275  o Add SetView to pixmap screen dump ("/vis/ogl/set/printMode pixmap"
276    and "/vis/ogl/printEPS").
277
2788th May 2007  John Allison  (opengl-V08-02-06)
279- Moved vectored PostScript printing to G4OpenGLViewer.
280- /vis/ogl/printEPS should work for all viewers, including Win32.
281- Introduced /vis/ogl/set/printMode vectored|pixmap, currently only
282  effective on X windows (and still somewhat buggy).
283
2844th April 2007  John Allison  (opengl-V08-02-05 - needs visman-V08-02-04)
285- Implemented picking for OGLSX ( as well as OGLIX).  Hopefully works
286  for OGL*Win32.  Still doesn't work for OGL*Xm.
287
2883rd April 2007  John Allison  (opengl-V08-02-04 - needs visman-V08-02-03)
289- G4OpenGLStoredSceneHandler:
290  o Re-organised display lists on a per-primitive basis, i.e., one
291    display list per primitive.  (This is so that, except for text,
292    the colour - or, rather, intensity - can be brought out of the
293    display list into the TOList (Transient Object List) and
294    controlled for the Display-by-Time feature.  Previously, if more
295    than one primitive were drawn between BeginPrimitives and
296    EndPrimitives, it would finish up all in one display list, colour
297    commands included. Rationalises and fixes a rare bug in the
298    Display-by-Time feature - see August 2006.)
299  o Added AddPrimitive(const G4Polymarker&) so that it is treated as
300    one primoitive to fit with the above re-organisation.
301- Implemented picking for OGLIX.
302
30325th March 2007  John Allison  (opengl-V08-02-03)
304- Fix compiler warnings.
305
3068th February 2007  John Allison  (opengl-V08-02-02)
307- Fixed Windows problem with DBL_MAX.  (Introduced G4OPENGL_DBL_MAX.)
308- G4OpenGLXViewer.cc: Small bug fix in print().  (Context was switched
309  .but not switched back.  Not serious, because context was always set
310  before normal drawing.)
311
3129th January 2007  John Allison  (opengl-V08-02-01)
313- Implemented bitmap markers for MarkerSizeType == screen.  (The old
314  polygon implementation remains for MarkerSizeType == world.)
315- Added G4OpenGLBitMapStore to assist the above.
316- G4OpenGLXViewer::CreateGLXContext:
317  o Bug fix: Added missing break in colormap lookup routine.
318
3195th January 2007  John Allison  (opengl-V08-02-00)
320- G4OpenGLSceneHandler.cc:
321  o Followed change of signature of GetLineWidth in visman-V08-02-00.
322  o Minor efficiency improvements.
323
[529]32421st November 2006  John Allison  (opengl-V08-01-09)
325- Fixed compiler warnings.
326
3271st November 2006  John Allison  (opengl-V08-01-08)
328- Replace /vis/oglx/set/printEPS by /vis/oglx/printEPS.  The new command
329  actually initiates a print, rather than set a flag for printing.
330
33124th October 2006  John Allison  (opengl-V08-01-07)
332- G4OpenGLStoredViewer.cc: Calculate light front horizon properly.
333- G4OpenGLViewerMessenger.cc: Make refresh depend on auto-refresh.
334
33519th September 2006  John Allison  (opengl-V08-01-06)
336- Added time origin for light front.
337- Added /vis/ogl/set/transparency.
338- G4OpenGLStoredViewer.cc: Bug fix in time range acceptance.
339
3404th September 2006  John Allison  (opengl-V08-01-05)
341- Implement cutaways.
342- Immediate mode: G4OpenGLImmediateSceneHandler.cc: Flush all
343  primitives (see detector being drawn).
344- /vis/oglx/set/printEPS: change parameter default to true.
345
34630th August 2006  John Allison  (opengl-V08-01-04)
347- G4OpenGLSceneHandler:
348  o Implemented line width.
349  o Switched off back face culling when clipping so that the inside of
350    volumes can be seen.
351  o Added CreateSection/CutawayPolyhedron to exploit generic
352    sectioning (DCUT) and cutaways.  Currently not activated due to
353    instabilities in BooleanProcessor.  Local sectioning still active
354    but broken (at least on Mac) due to apparent change in effect of
355    clipping planes (polyhedron edges not reconstructed).
356  o Rationalised calculation of marker size.
357- G4OpenGLStoredSceneHandler:
358  o Fixed bug due to recursive calls of AddPrimitive (polymarkers -> markers).
359  o Pick up time range from G4VisAttributes.
360- G4OpenGLViewer(Messenger):
361  o Added position and colour to /vis/ogl/set/displayHeadTime.
362  o Added /vis/ogl/set/displayLightFront.
363- G4OpenGLStoredViewer.cc:
364  o Rationalised CompareForKernelVisit.  (Local sectioning still active.)
365  o Added position and colour to DisplayHeadTime.
366  o Added DisplayLightFront.
367 
36816th August 2006  John Allison  (opengl-V08-01-03)
369- Corrected Solaris compilation error.
370- Added /vis/ogl/set/fade and displayHeadTime.
371
37214th August 2006  John Allison  (opengl-V08-01-02)
373- Needs visman-V08-01-02.
374- G4OpenGLStored: Implemented display-by-time.  Only available in
375  stored mode at present.  Only implemented for circle, square,
376  polyline and polymarker at present, enough for currently available
377  trajectory models.  Time is communicated via G4AttValues.
378- Added G4OpenGLViewerMessenger.
379- Added /vis/ogl/set/startTime and endTime of displayed objects.
380- All factories: Instantiated G4OpenGLViewerMessenger.
381- G4OpenGLViewer: Added fStart/EndTime.
382- G4OpenGLXViewer.cc: Graceful recovery from unexpected tokens in
383  spewPrimitiveEPS and spewSortedFeedback.
384
38517th July  John Allison  (opengl-V08-01-01)
386- Added /vis/oglx/set/printEPS (prints eps file on every update).
387
3883rd July 2006  John Allison  (opengl-V08-01-00)
389- Elimination of redundant variable doublebuffer and implementation of
390  FinishView in all viewers.
391
39230th May 2006  Joseph Perl  (opengl-V08-00-08)
393- G4OpenGLImmediateWin32Viewer: Removed tests on doublebuffer since that
394  variable seems to have random behavior and should be assumed false for
395  this viewer.
396
39729th May 2006  Joseph Perl  (opengl-V08-00-07)
398- G4OpenGLWin32Viewer, G4OpenGLImmediateWin32Viewer, G4OpenGLStoredWin32Viewer:
399  Removed common FinishView and instead made separate FinishView for the two different
400  versions of this viewer since each wants a different buffer swapping behaviour.
401
40212th May 2006  John Allison  (opengl-V08-00-06)
403- G4OpenGLWin32Viewer: Fixed buffer swapping behaviour.
404
40528th April 2006  John Allison  (opengl-V08-00-05 - needs visman-V08-00-14)
406- G4OpenGLStoredX/Xm/Win32Viewer.cc: Fixed buffer swapping problem when
407  recomputing transients.
408
40924th April 2006  John Allison  (opengl-V08-00-04)
410- Fixed compilation problem on Windows.
411
41219th April 2006  John Allison  (opengl-V08-00-03)
413- G4OpenGLSceneHandler, G4OpenGLStoredSceneHandler and
414  G4OpenGLImmediateSceneHandler:
415  o Implemented Begin/EndPrimitives2D (needs visman-V08-00-12 and
416    greps-V08-00-02).
417  o Migrated to direct access to G4PhysicalVolumeModel.
418- G4OpenGLStoredX/Xm/Win32Viewer.cc: bug fix for conditional drawing
419  of display lists in DrawView.
420
42114th March 2006  John Allison  (opengl-V08-00-02)
422- Refined display list building and re-drawing algorithm.
423  o G4OpenGLStoredSceneHandler::EndModeling: Changed to GL_COMPILE_AND_EXECUTE.
424  o Avoided unnecessary re-execution in DrawView (X, Xm and Win32).
425- G4OpenGLStoredSceneHandler::RequestPrimitives: Refined display list
426  re-use algorithm.  In test19 with global culling off, numbers of
427  display lists used are:
428  o 191  No re-use:
429  o  73  Before this change: re-use except replicas (includes parameterised).
430  o  33  After this change: re-use except parameterised and replicas in radius.
431
43226th January 2006  John Allison  (opengl-V08-00-01)
433- Coworks with visman-V08-00-04 (removed fModified).
434- Removed references to fModified.
435- Tidying: Removed unnecessary ClearView.
436- G4OpenGLSceneHandler.cc: Added some (commented out) code for
437  possible future implementation of 2D drawing.
438- G4OpenGLXViewer.cc: Improved exception printing.
439
44011th January 2006  John Allison  (opengl-V08-00-00)
441- Improved efficiency: all DrawView's:
442  o Don't call ClearView.
443  o Set flag so SetView will not be called in ProcessView.
444  o Leave background colour to ClearView.
445- Used dynamic_cast<G4OpenGLViewer*>, no need for G4OpenGLViewerDataStore.
446- G4OpenGLXmViewerMessenger: Made a smart singleton; interrogates vis manager
447  for current viewer.
448
44924th November 2005  John Allison  (opengl-V07-01-09)
450- Protected G4OpenGLXmViewerMessenger with #ifdef G4VIS_BUILD_OPENGLXM_DRIVER.
451
45222nd November 2005  John Allison  (opengl-V07-01-08)
453- Added G4OpenGLXmViewerMessenger.
454- Corrected text position.
455- Made depth test for polyhedron GL_LEQUAL (slightly dominant).
456
45717th November 2005  Gabriele Cosmo
458- Fixed settings of background style for WIN32 viewers.
459
46013th November 2005  John Allison  (opengl-V07-01-07)
461- Implemented X-Window-style geometry hints in G4OpenGLXViewer.
462
46313th October 2005  John Allison  (opengl-V07-01-06)
464- Allowed any colour background.
465- Implemented non-uniform scaling.
466- Migration to <sstream>.
467
46829th September 2005  John Allison  (opengl-V07-01-05)
469- Added G4OpenGLViewerDataStore to facilitate access of viewer data by
470  scene handler.
471- Re-implemented transparency button in OpenGLXm.
472
47313th September 2005  John Allison  (opengl-V07-01-04 - needs visman-V07-01-02)
474- Implemented white background for all OGL viewers.
475- G4OpenGLSceneHandler.cc:
476  o Fixed hidden line removal (bug introduced in opengl-V07-01-02).
477  o Fixed treatment of triangular polygons for drawing of auxiliary/soft lines.
478  o Corrected GetTextColour(text).
479  o Corrected GetColour(polyhedron).
480
4815th September 2005  John Allison  (opengl-V07-01-03)
482- Bug fix: stored transparent objects were being lost.
483
4842nd September 2005  John Allison  (opengl-V07-01-02 - needs visman-V07-01-01)
485- Bug fix: edgeflags problem introduced with smooth shading in
486  opengl-V07-01-00.
487- Implementation of a "better algorithm" for the rendering of
488  transparent polyhedron objects.  It renders all opaque objects
489  first, then renders the transparent objects with the depth buffer in
490  read-only mode (see OpenGL Programming Guide).  It uses the new
491  facility in G4VSceneHandler::ProcessScene for an optional second pass
492  of the run-duration models in the scene.  Note this algorithm is
493  still only an approximation.  It will still give the wrong blended
494  colour if two transparent objects are rendered front first.  For
495  nested transparent objects, this is unfortunate, because
496  G4PhysicalVolumeModel traverses Geant4's mother-daughter hierarchy
497  in such a way that mothers come first.  Also, there is no guaranteed
498  relationship between the order of rendering and the depth of two
499  transparent objects if they are at the same level or in different
500  branches of the hierarchy.  Still, the only error will be an
501  incorrect colour - the objects will still give the appearance of
502  transparency, so it's a pretty good algorithm.  (An even better
503  algorithm would be to attempt to render the facets in depth order,
504  deepest first.  But how do you calculate the depth - centre of area,
505  deepest corner?  One can still imagine pathalogical cases that would
506  sometimes give the wrong colour.  Also, for stored mode, the order
507  is fixed in a display list so when the user rotates the view, one
508  would lose the depth ordering.  I think we have to accept that
509  blending in OpenGL is only ever an approximation.  For accurate
510  blending, use RayTracer.)
511
51228th August 2005  John Allison  (opengl-V07-01-01)
513- Half-way implementation of rendering of transparent polyhedron
514  objects.  In this implementation, no account is taken of the order
515  of rendering.  Transparent objects are rendered with depth testing
516  off so that objects behind can still be seen.  But this means that
517  opaque objects in front do not obscure them - and they jolly well
518  should!  A better algorithm is to render all opaque objects first,
519  then render the transparent objects with the depth buffer in
520  read-only mode (see OpenGL Programming Guide).  This is going to
521  take a little more thought - see opengl-V07-01-02.
522
52320th July 2005  John Allison  (opengl-V07-01-00)
524- Introduced smooth shading, taking advantage of hitherto un-noticed
525  feature of HepPolyhedron::GetNextFacet that calculates the normals
526  at each vertex so that curved surfaces are rendered more
527  realistically (Gouraud shading).
528- G4OpenGLImmediateSceneHandler.cc: Removed unnecessary #include's.
529- G4OpenGLXmViewer.cc: Fixed to use window size hints.  This changes
530  the default window size.  It used to be 400x400, hardcoded in
531  G4OpenGLXmViewer.cc, but now it picks up the
532  G4ViewParameters::GetWindowSizeHintX/Y, which defaults to 600x600.
533  The user may change it on the command line, e.g:
534    /vis/open OGLSXm 500
535  or
536    /vis/viewer/create ! ! 500
537
53830th May 2005  John Allison  (opengl-V07-00-03)
539- Fixed compilation problem in OpenGL on SUN.  (Replaced multimap by
540  map of vectors in G4OpenGLFontBaseStore.)
541
5424th May 2005  John Allison  (opengl-V07-00-02)
543- Restored sequence Set/Clear/DrawView in ClearTransientStore.  (It
544  was taken out to prevent recursive calling, but that seems to be OK,
545  and it is needed to implement refresh at end of event/run.)
546
54722nd April 2005  John Allison  (opengl-V07-00-01)
548- Rationalised work of opengl-V07-00-00.  Functionality unchanged.
549  o G4OpenGLViewer.hh: Created virtual void CreateFontLists(){}.
550  o In all concrete viewers, added call to CreateFontLists().
551  o Moved font code for X to G4OpenGLXViewer::CreateFontLists().
552  o There is no longer a need to implement in the XmViewer, since it
553    now inherits.  Thus the font code now only appears once for X.
554  o Awaiting implementation for WIN32.
555
55617th April 2005  John Allison  (opengl-V07-00-00)
557- Based on vis-V07-00-13.
558- Implemented text for X-Windows viewers.  Uses glXUseXFont, which
559  creates display lists for nominated fonts.  Simple-minded scheme in
560  which each viewer creates its own font display lists for a variety
561  of sizes, which are accessed by the scene handler through a new
562  class, G4OpenGLFontBaseStore.  Affected methods:
563    G4OpenGLXViewer::CreateMainWindow()
564    G4OpenGLXmViewer::CreateMainWindow()
565    G4OpenGLSceneHandler::AddPrimitive (const G4Text& text)
566
56718th November 2004  John Allison  (opengl-V06-02-07)
568- Removed redundant fLastVP from G4OpenGLStoredSceneHandler.
569
57015th November 2004  Guy Barrand
571- G4OpenGLWin32Viewer::ShowView : glFlush was not sufficient
572  to see trajectories (for example with N03). Correct so that
573  ShowView do a FinishView that does : glFlush, wglSwapBuffer
574  and empty the Windows message queue.
575
57622nd September 2004  John Allison  (opengl-V06-02-06)
577- doxygen output to tmp area.
578- Trap non-regular polyhedrons.
579
58013th September 2004  Gabriele Cosmo  (opengl-V06-02-05)
581- G4OpenGLTransform3D.cc: simplified implementation for GetMatrix()
582  to allow for porting on CLHEP-1.9.X series.
583
58423rd July 2004  John Allison
585- Draws auxiliary edges if required.
586- Added auxiliary edge button.
587
58816th July 2004  John Allison  (opengl-V06-02-04)
589- Refinements to hidden line, hidden surface removal.
590
59114th July 2004  John Allison  (opengl-V06-02-03)
592- Removed superfluous #include "G4VisManager.hh" from G4OpenGLXmViewer.cc.
593
59413th July 2004  John Allison  (opengl-V06-02-02)
595- Hidden line *and* hidden surface removal now works.
596
5979th July 2004  John Allison  (opengl-V06-02-01)
598- Fixed long-standing problem with hidden line removal.
599- Improved messages on failure to get visual.
600- Added GLX_STENCIL_SIZE explicit request to visual attributes - most
601  systems provided by default anyway, so no effect.
602
6031st July 2004  John Allison  (opengl-V06-02-00)
604- Rationalised G4OpenGLSceneHandler ready for hidden line removal.
605- Bug fix in G4OpenGLXmPanningCallbacks.cc for dolly control.
606
60718th June 2004  Gunter Folger (geant4-06-02)
6089th June 2004  Gabriele Cosmo  (vis-V06-01-03)
6097th June 2004  Gabriele Cosmo  (vis-V06-01-02)
610- GNUmakefile and disclaimer changes - see visualization/History.
611
6129th April 2004  John Allison  (vis-V06-01-01 + interfaces-V06-01-00)
613- Tagged OpenGL as below.  Joint with interfaces-V06-01-00.
614
6157th April 2004  Guy Barrand
616- visualization/OpenGL/* : use the G4OpenGL.hh file.
617- Added : visualization/OpenGL/include/G4OpenGL.hh to encapsulate
618  the include of gl/gl.h and gl/glu.h that may be platform dependant.
619  It permits to rm some #ifdef WIN32 spread in the code. It opens also
620  the way to the usage of the Apple OpenGL on a Mac.
621
62217th February 2004  John Allison  (opengl-V06-00-00)
623- Fixed bug #581: wrong order of statements in
624  G4OpenGLXViewer::~G4OpenGLXViewer (see bug report).
625
6264th October 2003  Gabriele Cosmo  (vis-V05-02-01)
627- GNUmakefile:
628  o replaced "digits+hits" with "digits_hits".
629- Coworks with "geometry-V05-02-00" and "digits_hits-V05-02-00".
630
63122nd September 2003  John Allison  (vis-V05-02-00, greps-V05-02-00)
632- Cosmetic change to regularise names:
633  o changed _Feedback3Dcolo to G4OpenGLXViewerFeedback3Dcolor.
634  o changed _DepthIndex to G4OpenGLXViewerDepthIndex.
635
63623rd June 2003  Guy Barrand  (opengl-V05-01-02)
637- Commit a first implementation of G4OpenGLWin32Viewer.
638
63910th June 2003  Gabriele Cosmo  (opengl-V05-01-01)
640- More fixes for warnings in viewers classes.
641- Added inclusion of <windows.h> for WIN32 platforms when GL headers
642  are included.
643
64405th June 2003  Gabriele Cosmo  (opengl-V05-01-00)
645- Fixes for porting compilation on WIN32:
646  o G4OpenGLWin32Viewer[.hh.cc]: removed inclusion of <GL/glx.h>.
647  o G4OpenGLViewer.cc: replaced local variables near/far with pnear/pfar
648    since declared 'obsolete' in WIN32 platforms.
649
65027th November 2002  John Allison  (vis-V04-01-08)
651- Improved algorithm of CompareForKernelVisit.
652
65311th November 2002  John Allison  (opengl-V04-01-02)
654- Corrected inclusion of G4OpenGLXViewer #ifdef X_DRIVER.
655- Added G4OpenGLSceneHandler::AddThis for trajectories and hits - simply
656  call default but there as a marker and encourager.
657- Added tracking and digits+hits/hits to GNUmakefile.
658
65916th October 2002  John Allison  (opengl-V04-01-01)
660- Fix for WIN32.  Now compiles but viewer not implemented.
661
66224th June 2002  John Allison  (opengl-V04-01-00)
663- Further cosmetic changes in G4OpenGLXViewer.cc for DEC compiler.
664
66510th June 2002  John Allison  (opengl-V04-00-03)
666- Cosmetic changes for SUN-CC in G4OpenGLXmConvenienceRoutines.cc.
667
6686th June 2002  John Allison  (opengl-V04-00-02)
669- Cosmetic changes for GNU compiler in G4OpenGLXViewer.cc.
670
67123rd February 2002  John Allison  (opengl-V04-00-01)
672- Changes to encourage compilation on Windows in preparation for
673  implementation of G4OpenGLWin32Viewer.  Removed spurious includes of
674  glx.h, unistd.h and assert.h.
675
67624th August 2001  John Allison  (vis-V03-02-13)
677- Limited the printing of warnings in
678  G4OpenGLSceneHandler::AddPrimitive (const G4Text& text).
679
68014th August 2001  John Allison  (vis-V03-02-11)
681- Improved KernelVisitDecision.
682- Fixed a few small bugs in multiple "stored" viewers, but see next item.
683- There's an outstanding bug in OpenGL Stored.  If there is more than
684  one viewer controlled by a scene handler, after a ClearStore on the
685  scene handler, e.g., with /vis/scene/notifyHandlers, the first
686  viewer to get refreshed should trigger the display list rebuild, but
687  the second need not.  However, when the second viewer's turn comes,
688  the display lists are there, and are called, e.g.,
689  G4OpenGLStoredXViewer::DrawView calls
690  G4OpenGLStoredViewer::DrawDisplayLists that calls glCallList, but
691  nothing appears on the screen.  To overcome this there is some
692  temporary code in G4VViewer::NeedKernelVisit which marks *all*
693  viewers to force a rebuild.  To see the symptoms, comment out that
694  temporary code and issue these commands:
695    /vis/verbose c
696    /control/verbose 2
697    /vis/scene/create
698    /vis/scene/add/volume
699    /vis/sceneHandler/create OGLSX
700    /vis/viewer/create ! ! 1
701    /run/beamOn
702    /vis/viewer/create ! ! 1
703    /vis/viewer/select viewer-0
704    /vis/viewer/viewpointThetaPhi 20 20
705    /vis/viewer/select viewer-1
706    /vis/viewer/viewpointThetaPhi 40 40
707    /vis/viewer/set/style surface
708    /vis/viewer/refresh
709    /vis/viewer/select viewer-0
710    /vis/viewer/refresh
711    /vis/viewer/select viewer-1
712    /vis/viewer/set/style wireframe
713    /vis/scene/notifyHandlers
714  You may have to do this too:
715    /vis/viewer/select viewer-0
716    /vis/scene/notifyHandlers
717  One of the viewers is empty.  Curious!!
718
7199th August 2001  John Allison  (vis-V03-02-10-00)
720- Implemented G4OpenGLStoredSceneHandler::ClearTransientStore()
721- Removed G4OpenGLSceneHandler::AddPrimitive (const G4Polymarker&) (it only
722  invoked G4VSceneHandler::AddPrimitive (const G4Polymarker&) which is
723  picked up by inheritance anyway.
724- Removed lots of unnecessary header files from G4OpenGLStoredSceneHandler.cc.
725- Corrected order of calling base class functions in
726  G4OpenGLStoredSceneHandler::Begin/EndModeling.
727
72824th July 2001  John Allison  (vis-V03-02-06)
729- G4OpenGLSceneHandler::AddPrimitive (const G4Text&) handles transformation.
730
73114th July 2001  John Allison (opengl-V03-02-00)
732- Fixed crash in optimised mode: added Initialise() to viewers so
733  that windows are opened after viewers are fully constructed.
734
7352nd April 2001  John Allison (opengl-V03-00-01 wrt vis-V03-00-09)
736- Tidied G4OpenGLXmViewer callback code.  Removed superfluous header files.
737
7387th March 2001  John Allison
739- Changed char* to const char* in many places and that gave problems in
740  calls to Xt and Xm.  Hope all's OK.  Differences:
741    cvs diff -r vis-V03-00-06 vis-V03-00-07
742
74325th January 2001  John Allison  (opengl-V03-00-00)
744- Implemented running re-calculation of up-vector in the case of "object
745  rotation" (lights move with camera) to prevent "flipping" of view when
746  camera passes through up-vector.  Note that the default is "camera
747  rotation" (lights do not move with camera, i.e., remain fixed relative
748  to object) so the default is that this "flipping" can happen.  To set
749  "object rotation" (lights move with camera) use
750  /vis/lights/move_with_camera true (soon to be
751  /vis/viewer/set/lights move-with-camera) or click "Object" radio button
752  on Rotation Panel in OpenGLXm mode.
753- Changed some objects to references for efficiency.  E.g.:
754  const G4Vector3D& vp = pView->fVP.GetViewpointDirection ().unit ();
755
75622nd May 2000  John Allison  (opengl-V01-01-00)
757- Fixed slow response of 2nd window of OpenGLXm.  Worked around Mesa bug
758  by sharing static visuals in G4OpenGLXViewer (Guy Barrand):
759    static XVisualInfo* vi_single_buffer;
760    static XVisualInfo* vi_double_buffer;
761- Removed ChooseVisual from G4OpenGLXmViewer.cc - done in base class
762  G4OpenGLXViewer.
763- Protected double deletion of window in destructors of G4OpenGLXmViewer
764  and G4OpenGLXViewer (Guy Barrand).
765- Changed requested bits per colour to r,g,b = 1,1,1 in G4OpenGLViewer.cc.
766- Corrected order of CreateMainWindow() and InitializeGLView() in X*Viewer
767  constructors.
Note: See TracBrowser for help on using the repository browser.