OpenSceneGraph/examples
Robert Osfield 22eae68e48 From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction
set.

The optimization is based on the observation that matrix matrix multiplication
with a dense matrix 4x4 is 4^3 Operations whereas multiplication with a
transform, or scale matrix is only 4^2 operations. Which is a gain of a
*FACTOR*4* for these special cases.
The change implements these special cases, provides a unit test for these
implementation and converts uses of the expensiver dense matrix matrix
routine with the specialized versions.

Depending on the transform nodes in the scenegraph this change gives a
noticable improovement.
For example the osgforest code using the MatrixTransform is about 20% slower
than the same codepath using the PositionAttitudeTransform instead of the
MatrixTransform with this patch applied.

If I remember right, the sse type optimizations did *not* provide a factor 4
improovement. Also these changes are totally independent of any cpu or
instruction set architecture. So I would prefer to have this current kind of
change instead of some hand coded and cpu dependent assembly stuff. If we
need that hand tuned stuff, these can go on top of this changes which must
provide than hand optimized additional variants for the specialized versions
to give a even better result in the end.

An other change included here is a change to rotation matrix from quaterion
code. There is a sqrt call which couold be optimized away. Since we divide in
effect by sqrt(length)*sqrt(length) which is just length ...
"
2008-09-17 16:14:28 +00:00
..
osganimate
osgautotransform To osg::AutoTransform added support for MinimumScale, MaximumScale and AutoScaleTransitionWidth parameters 2008-03-18 15:37:38 +00:00
osgbillboard
osgblendequation
osgcallback
osgcamera
osgcatch From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgcegui
osgclip
osgcluster
osgcompositeviewer Updated to reflect new CompositeViewer threading models 2007-10-02 21:24:23 +00:00
osgcopy
osgcubemap
osgdelaunay From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgdepthpartition From Tim Moore, compile fix for gcc 4.3 2008-04-15 11:50:34 +00:00
osgdepthpeeling From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction 2008-09-17 16:14:28 +00:00
osgdistortion Added support for --sky-light and headlight with local position at 0,0,0 2007-07-11 14:16:02 +00:00
osgfadetext From Mathias Froehlich, "n examples/osgfadetext/CMakeLists.txt osgSim as dependency is missing." 2007-12-06 17:07:04 +00:00
osgfont From Jeremy Moles,"Here's a small example I us to test text rendering in osgWidget; I 2008-05-07 13:46:24 +00:00
osgforest From Alberto Luaces, "Here I send minor corrections to the text output by the osgforest example when 2008-03-13 13:43:22 +00:00
osgfxbrowser From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osggeodemo
osggeometry From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osggeometryshaders From Mike Weiblen, support for geometry shaders, and osgeometryshaders example to demonstrate them. 2008-01-08 14:29:44 +00:00
osghangglide From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction 2008-09-17 16:14:28 +00:00
osghud Fixed naming 2008-03-01 12:29:49 +00:00
osgimagesequence Added support for reading source image file names from the command line. 2008-09-11 09:05:16 +00:00
osgimpostor From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgintersection
osgintrospection Introduced a OSG_PLUGIN_PREFIX variable into CMake build system with it set to 2007-10-02 21:26:22 +00:00
osgkdtree Cleaned up osgkdtree example 2008-07-12 11:19:25 +00:00
osgkeyboard From Melchior Franz, "The GUIEventAdapter header file had KeySymbols for the super and 2008-04-11 11:10:12 +00:00
osgkeyboardmouse From Peter Hrenka, "Due to popular demand I would like to submit this 2007-12-08 16:37:05 +00:00
osglauncher From Jan Ciger, warning fixes 2007-08-26 10:27:31 +00:00
osglight
osglightpoint
osglogicop
osglogo From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction 2008-09-17 16:14:28 +00:00
osgmanipulator From Adrain Egli, "i added a default scene with 7 different draggers attached. it's more easy to test the draggers." 2008-07-11 19:52:25 +00:00
osgmotionblur
osgmovie Change the GLSL textureRec and texture2D parameters to use .st to make sure they only use 2D coords. 2008-09-16 09:31:29 +00:00
osgmultiplerendertargets Added reference to osgstereomatch example to osgmultiplerendertargets. 2008-04-11 13:04:21 +00:00
osgmultitexture
osgmultitexturecontrol Introduced osgTerrain::WhiteListTileLoadedCallback for the management of options terrain layers 2008-09-11 13:21:58 +00:00
osgoccluder
osgocclusionquery From Paul Martz, fixed get/set methods API 2008-02-27 11:43:58 +00:00
osgpagedlod From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgparametric
osgparticle
osgparticleeffects Fixed moving model bug where the moving model code was looking for a transform with DataVariance set to DYNAMIC, but the scene graph set up code was leaving the setting to default to STATIC. Fix involved setting DataVariance on moving transoforms to DYNAMIC. 2008-03-17 12:23:06 +00:00
osgphotoalbum From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgpick Added range of camera manipulators and a center of screen test intersection that 2008-07-09 19:28:00 +00:00
osgplanets From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgpoints From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgpointsprite
osgprecipitation
osgprerender Added --fbo-samples value and --color-samples value command line paramters for enabling fbo multisampling 2008-06-18 14:21:22 +00:00
osgprerendercubemap From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgreflect From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgscalarbar
osgscreencapture From Jean-Sebastien Guay, "The new osgscreencapture example was being installed to bin instead of to share/OpenSceneGraph/bin, this is because the CMakeLists.txt used SETUP_APPLICATION instead of SETUP_EXAMPLE. Corrected CMakeLists.txt attached. 2008-06-06 16:45:07 +00:00
osgscribe
osgsequence
osgshaders
osgshaderterrain Changed across to using a GraphicsOperation as the base class for the RealizeOperation. 2007-09-27 13:49:56 +00:00
osgshadow From Adrian Egli, improvements to ParallelSplitShadowMap implementation 2008-05-28 14:11:22 +00:00
osgshape
osgsharedarray From Mike Garrity, "There was an on again/off again thread on OSG users about 2007-12-11 15:55:02 +00:00
osgsimplifier
osgsimulation From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction 2008-09-17 16:14:28 +00:00
osgslice From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgspacewarp
osgspheresegment From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgspotlight
osgstaticviewer From Rudolf Wiedemann, "I need to link OpenSceneGraph statically to my application, so I 2007-07-06 13:54:26 +00:00
osgstereoimage From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgstereomatch Added reference to osgstereomatch example to osgmultiplerendertargets. 2008-04-11 13:04:21 +00:00
osgteapot Added include/osg/GLObjects + .cpp which provide osg::flush*DeletedGLObjects() methods. 2007-07-06 13:08:51 +00:00
osgterrain Renamed Terrain to TerrainTile 2008-03-27 10:55:39 +00:00
osgtessellate
osgtext Reverted back to previous version of osgtext 2008-02-25 13:07:37 +00:00
osgtext3D From David Callu, added support of 3D text to osgText and associated plugins. 2007-12-10 15:15:56 +00:00
osgtexture1D From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
osgtexture2D
osgtexture3D
osgtexturerectangle
osgthirdpersonview From Paul Martz, a third person view CompositeViewer example 2008-03-04 13:30:41 +00:00
osgunittests From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction 2008-09-17 16:14:28 +00:00
osgvertexprogram From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction 2008-09-17 16:14:28 +00:00
osgviewerCocoa From Eric Sokolowski, Cmake support for osgviewerCocoa 2008-06-26 13:08:24 +00:00
osgviewerFLTK
osgviewerFOX Ran conversion of tabs to four spaces 2007-09-14 11:00:32 +00:00
osgviewerGLUT
osgviewerGTK Removed std:: from in front of strcmp and added a string.h 2008-09-01 10:19:06 +00:00
osgviewerMFC From Almalric Alexandre, "I've noticed that all osgViewerMFC example from osg 2.x.x are flickering when resizing 3D view, to avoid this only add OnEraseBkgnd callback in CMFC_OSG_MDIView class and do nothing in it. Just like the WxWidget example. 2007-09-03 10:04:34 +00:00
osgviewerQT From John Shue, build fix for QT 3.x 2008-04-17 11:12:21 +00:00
osgviewerSDL From Jeremy Moles, "This extra call to SDL_VideoSetMode() prevents my viewport from getting 2007-12-08 15:04:47 +00:00
osgviewerWX From Paul Melis, "Here is a reworked version of the osgviewerWX example. It changes the GraphicsWindowWX to only inherit from osgViewer::GraphicsWindow and adds a standalone widget, called OSGCanvas, that derives from wxGLCanvas. This solves a problem with the GraphicsWindowWX instance being destructed twice (see "Crash in osgviewerWX" of June 12th on osg-users). At program exit, the main frame deletes all of its children widgets and therefore calls GraphicsWindowWX's destructor, bypassing OSG's reference counting. The GraphicsWindowWX instance is then later destructed a second time when the reference held by osg::Camera goes to zero. This bug isn't exposed by the example directly, but if people are going to use the example as a basis (like the poster in the mentioned thread) they very likely will run into this problem. 2008-06-19 13:49:36 +00:00
osgvolume Introduced beginings of osgVolume NodeKit. 2008-09-16 15:32:23 +00:00
osgwidgetaddremove From Jeremy Moles, Updated file references to reflect new data in OpenSceneGraph-Data 2008-07-15 22:30:51 +00:00
osgwidgetbox From Jean-Sebastian Guay, "Here are the CMakeLists.txt files for the osgWidget examples, changed to use SETUP_EXAMPLE like the other examples." 2008-07-15 18:53:16 +00:00
osgwidgetcanvas Renamed enums in osgWidget from ALLCAPITALS to normal OSG conventional of AllCapital 2008-07-25 20:50:42 +00:00
osgwidgetframe From Jeremy Moles, Updated file references to reflect new data in OpenSceneGraph-Data 2008-07-15 22:30:51 +00:00
osgwidgetinput From Jeremy Moles, Updated file references to reflect new data in OpenSceneGraph-Data 2008-07-15 22:30:51 +00:00
osgwidgetlabel Updated osgwidget examples to use the new osg::clone() methods 2008-09-17 14:23:25 +00:00
osgwidgetmenu From Jeremy Moles, Updated file references to reflect new data in OpenSceneGraph-Data 2008-07-15 22:30:51 +00:00
osgwidgetnotebook From Jeremy Moles, Updated file references to reflect new data in OpenSceneGraph-Data 2008-07-15 22:30:51 +00:00
osgwidgetscrolled From Jeremy Moles, Updated file references to reflect new data in OpenSceneGraph-Data 2008-07-15 22:30:51 +00:00
osgwidgetshader Renamed enums in osgWidget from ALLCAPITALS to normal OSG conventional of AllCapital 2008-07-25 20:50:42 +00:00
osgwidgetstyled From Jean-Sebastian Guay, "Here are the CMakeLists.txt files for the osgWidget examples, changed to use SETUP_EXAMPLE like the other examples." 2008-07-15 18:53:16 +00:00
osgwidgettable From Jean-Sebastian Guay, "Here are the CMakeLists.txt files for the osgWidget examples, changed to use SETUP_EXAMPLE like the other examples." 2008-07-15 18:53:16 +00:00
osgwidgetwindow Updated osgwidget examples to use the new osg::clone() methods 2008-09-17 14:23:25 +00:00
osgwindows
CMakeLists.txt Initial cut of osgimagesequence example 2008-07-21 10:57:06 +00:00