Commit Graph

591 Commits

Author SHA1 Message Date
Robert Osfield
00ee3b0a20 Cleaned up interface 2009-03-23 15:38:30 +00:00
Robert Osfield
1fd5eefbcf From Maciej Krol, "As promised to Roland I assembled simple shader generator. ShaderGenVisitor converts accumulated fixed function pipeline state sets to ones with shader programs. Generated state sets are attached to geometries and stored in ShaderGenCache for reuse.
Very simple cases of state configuration are supported (all the ones I really need):
- single per pixel not attenuated non spot light source ON/OFF
- exp2 fog ON/OFF
- diffuse texture in rgb + optional specular gloss in alpha (Texture unit 0) ON/OFF
- normal map texture (Texture unit 1 and Tangent in VertexAttribArray 6) ON/OFF
- blending and alpha testing (not in shader pipeline)

To view fixed function pipeline files and paged databases simply run >osgshadergen myfile.osg"
2009-03-23 11:53:06 +00:00
Robert Osfield
e60db47c1b Inroduced simple PrintVisitor class for helping debug scene graph structures 2009-03-19 11:11:51 +00:00
Robert Osfield
7b5f3ec92a Moved IncrementalCompileOperation out of include-src/osgUtil/GLObjectVisitor into their own files.
Added support to IncrementCompileOperation for controlling how much time is alloted to compilation and flush
2009-03-12 15:21:04 +00:00
Robert Osfield
0669107287 From Roland Smeenk, "While working on the Collada plugin I noticed that all geometry created by the dae reader result in slow path geometry.
Because there already exists the option to convert slow path geometry to the fast path by computing an internal fast path alternative, I added a new optimizer option that automatically does this. To check the results I also made some changes to the statistics gathering and rendering.

Somewhat unrelated, but also part of the optimizer I disabled removal of CameraView nodes during RemoveRedundantNodes optimization.
As discussed on the ML, CameraViews were removed from the scenegraph. This solves that issue.

Summary:
-Geometry::areFastPathsUsed now also looks at internalOptimizedGeometry
-Added Optimize option to make all slow path geometry compute their internal fast path alternative
-Added fast geometry counter to the statistics
-Disabled removel of CameraViews in optimizer
"
2009-03-10 14:15:59 +00:00
Robert Osfield
99477fa422 Tweaked API to get wrappers to build 2009-03-09 16:53:57 +00:00
Robert Osfield
173357252b Further work on IncrementalCompileOperation 2009-03-09 14:56:20 +00:00
Robert Osfield
7473b06275 Preliminary work on general purpose incremental compile support in osgViewer. 2009-03-08 12:00:36 +00:00
Robert Osfield
f8636d8006 Fixes for doxgen warnings 2009-02-11 10:41:55 +00:00
Robert Osfield
d2d89498ad Fixed the handling of setLightingMode and inheritCullSettings so that it properly manages the GL_LIGHTING mode 2009-01-28 09:23:26 +00:00
Robert Osfield
48f683ec3f Ported onscreen camera stats across to using thread safe stats collection 2009-01-26 21:23:09 +00:00
Robert Osfield
4c6511fd50 Updated wrappers 2008-12-19 10:20:23 +00:00
Robert Osfield
8a6e04b84d Introduce NodeVisitor::className and libraryName() 2008-12-17 12:13:15 +00:00
Robert Osfield
017b4315bc From Joakim Simmonsson, fix for handling of billboards in FLATTEN_STATIC_TRANSFORMS_DUPLICATING_SHARED_SUBGRAPHS 2008-11-25 14:31:19 +00:00
Robert Osfield
9c8e44659f From Erik van Dekker,
"I made several modifications:

 

    * The cause of my errors was that my OSG source directory path contains spaces. To fix this issue I wrapped all paths with quotes, as stated in doxygen documentation.

 

    * I also received some warning messages about deprecated doxygen settings, which I fixed by updating the doxygen file, i.e. running \u2018doxygen \u2013u doxygen.cmake\u2018. By running this command deprecated doxygen options are removed, some option comments have changed and quite some options have been added (I kept their default settings unless mentioned).

 

    * I was surprised to find that the doxygen OUTPUT_DIRECTORY was set to \u201c${OpenSceneGraph_SOURCE_DIR}/doc\u201d, which does not seem appropriate for out of source builds; I changed this to \u201c${OpenSceneGraph_BINARY_DIR}/doc\u201d. (On the other hand, maybe a cmake selectable option should be given to the user?)

 

    * Fixed two warnings I received about unexpected end-of-list-markers in \u2018osg\AnimationPath and \u2018osgUtil\CullVisitor due to excess trailing points in comments.

 

    * Fixed a warning in osgWidget\StyleInterface due to an #include directive (strangely) placed inside a namespace.

 

    * Fixed a warning in osg\Camera due to the META_Object macro that confused doxygen. Adding a semi-colon fixed this.

 

    * Removed auto_Mainpage from the INCLUDE option, because I am positive that this file does not belong there; It never generated useful documentation anyway.

 

    * I added the OSG version number environment variable to the PROJECT_NUMBER option so that the version number is now shown on the main page of generated documentation (e.g. index.html).

 

    * Changed option FULL_PATH_NAMES to YES, but made sure STRIP_FROM_PATH stripped the absolute path until the include dir. This fixed an issue that created mangled names for identical filenames in different directories. E.g. osg/Export and osgDB/Export are now correctly named.

 

    * Changed option SHOW_DIRECTORIES to yes, which is a case of preference I guess.

 "
2008-08-18 11:00:40 +00:00
Robert Osfield
bcbd50af39 Implemented a reference eye point and associated methods in support of intersecting billboards 2008-08-14 14:22:39 +00:00
Robert Osfield
f81ff952a2 merged 2.6 branch changes back into trunk using : svn merge -r 8699:8706 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.6 . 2008-08-03 16:57:09 +00:00
Robert Osfield
2cf44741d7 Added getCurrentCamera/getCurrentRenderStage methods 2008-07-24 12:47:55 +00:00
Robert Osfield
e8344a614d Removed the reducent non const get methods 2008-07-21 22:38:11 +00:00
Robert Osfield
5e80c3856f From Ruth Lang, "using osg version 2.5.5 and compiling my program under OpenSUSE 11.0
with  gcc (version 4.3.1) I got the following error message in
include/osgUtil/TriStripVisitor and Tessellator

error: type qualifiers ignored on function return type

The errors belong all to a INLINE function definition. Find attached my
modified version."
2008-07-21 21:20:21 +00:00
Robert Osfield
c41ca3d6a0 Introduced code for doing dummy test traversals - used for benchmarking KdTree code. 2008-07-09 19:40:10 +00:00
Robert Osfield
ee9b23f670 Fixed set method 2008-07-08 18:02:09 +00:00
Robert Osfield
2851429333 Added optional control of whether to use KdTrees for intersections 2008-07-08 17:35:10 +00:00
Robert Osfield
5e0169f664 Changed the Optimizer::StateVisitor so that it can individually decide whether
to optimize away duplicate state with dynamic, static and unspecified DataVarience.  By default
the code now optimizes away duplicate state with either static and unspecied state, previously 
it was just handling static state.
2008-06-29 12:22:50 +00:00
Robert Osfield
9a80c331a2 From Andre Normann, "with version 8504, I am not able to compile osgwrappers under Windows, because there are some DLL export macros missing. I fixed it and put the files in the attached zip file.
"
2008-06-27 10:17:38 +00:00
Robert Osfield
be185cb3af From Terry Welsh, new flatten static transforms visitor that duplicates subgraphs that are shared beneath differnt static transforms
From Robert Osfield, made a range of changes to Terry's visitor integrating it into osgUtil::Optimizer and 
changing the code to use a style more like the rest of the OSG.
2008-06-20 13:16:35 +00:00
Robert Osfield
dd13893861 From Farshid Lashkari, "I noticed some problems when setting up CameraNodes that inherit
viewport settings in stereo mode. It seems that the SceneView::cull()
method will pass the full size viewport to the left/right
cullvisitors, instead of the modified stereo viewport. I made quite a
few changes to SceneView to fix the issue. The SceneView::cullStage()
method will now receive the viewport as an argument, instead of using
the global viewport. The SceneView::cull() method will pass the
modifed viewport to cullStage when rendering in stereo.

There are 2 new private methods computeLeftEyeViewport() and
computeRightEyeViewport() that will compute the stereo viewports. I
also modified the draw() function so it applies the correct viewport
to the prerender stages. These changes are only necessary for
horizontal/vertical split stereo."
2008-06-19 14:29:38 +00:00
Robert Osfield
a94cfccdce From Michael Platings, fixed typo error in renderbin assignment 2008-06-19 12:02:20 +00:00
Robert Osfield
174f9bbfe0 From Michael Platings and Robert Osfield, added support for controlling,
via StateSet::setNestedRenderBin(bool) whether the new RenderBin should be nested
with the existing RenderBin, or be nested with the enclosing RenderStage.
2008-06-19 11:09:20 +00:00
Robert Osfield
90ea0bd95f From Michael Platings and Paul Palumbo, multi-sample FBO support 2008-06-18 14:09:11 +00:00
Robert Osfield
6fb62b9604 Renamed _rendergraph to _stateGraph to better reflect its function 2008-06-06 13:21:57 +00:00
Robert Osfield
38133f8772 Updated the doxygen docs to explain the deprecated status of SceneView 2008-05-08 09:16:24 +00:00
Robert Osfield
7c94ff2b6d From Terry Welsh, fixed typo of getEnd() 2008-05-07 13:49:32 +00:00
Robert Osfield
9724303f38 From Art Trevs, moved multile render targets support from RenderStage into FrameBufferObject.
From Robert Osfield, refactored the FrameBufferObejcts::_drawBuffers set up so that its done
within the setAttachment  method to avoid potential threading/execution order issues.
2008-04-15 19:36:40 +00:00
Robert Osfield
6691824244 Added subdivision of Goedes 2008-04-13 19:31:09 +00:00
Robert Osfield
db8cb2a644 From Jose Delport, added support for MRT via glDrawBuffers 2008-04-02 17:08:40 +00:00
Robert Osfield
64f8631d9d Added Camera::s/getClearAccum, s/getClearStencil and s/getClearDepth. 2008-03-31 11:44:31 +00:00
Robert Osfield
f858d30c68 Fixed doc comment 2008-03-13 19:48:16 +00:00
Robert Osfield
292be66ecc Removed gl and glu prefixes from SceneGraphBuilder methods to avoid problems under Solaris 2008-03-13 19:44:10 +00:00
Robert Osfield
3a11483ba8 Added support for assigning state to created drawables, implemented gluDisk. 2008-03-13 13:44:34 +00:00
Robert Osfield
db256b962c Added proper implementations of OpenGL 1.0 calls to OSG object representation methods in SceneGraphBuilder. 2008-03-12 20:15:28 +00:00
Robert Osfield
a26bdd9446 Added default implementations of new SceneGraphBuilder class 2008-03-11 13:29:12 +00:00
Robert Osfield
98365fa82a From Jean-Sebastien Guay, added OSGUTIL_EXPORT for Windows build 2008-01-10 11:08:11 +00:00
Robert Osfield
6ca573dfd3 From Jean-Sebastien Guay, Warning fixes 2008-01-08 17:18:11 +00:00
Robert Osfield
9f412d684c Added OSGUTIL_EXPORTs 2008-01-07 09:47:36 +00:00
Robert Osfield
2caf460300 Added missing #include <osgUtil/Export> 2008-01-06 17:53:21 +00:00
Robert Osfield
57475ed8fe Added exports for Windows build 2008-01-06 10:52:23 +00:00
Robert Osfield
2aca19a4e6 From David Callu, further work in support of shapefile support in VirtualPlanetBuilder 2007-12-26 21:39:29 +00:00
Robert Osfield
5a79032599 Added copyright notice and tweaked genwrapper 2007-12-21 17:33:00 +00:00
Robert Osfield
095288bb47 Removed inappropriate inline 2007-12-21 15:46:50 +00:00
Robert Osfield
4889342c4a From Paul Martz, Introduced osg::OcclusionQueryNode with support for OpenGL occlusion query extension 2007-12-21 14:45:16 +00:00
Robert Osfield
cf1a30841a From David Callu, various classes in support of VirtualPlanetBuilder 2007-12-21 13:07:54 +00:00
Robert Osfield
2c0842c7b7 Added an optional use of doubles for computing error metrics to help investigate precision issues seen in VPB when working with small segments of geographic data. 2007-12-20 15:50:07 +00:00
Robert Osfield
c5704586f9 From Richard Schmidt, "attached you will find a set of small fixes and features.
CullVisitor/SceneView:

*Feature: This version supports multiple clearnodes in the graph, one per renderstage.

 

Text:

*Feature: Performance Enhancement when calling SetBackdropColor

 

Material:

*Fix: OpenGL calls are now made according to the OpenGL Standard

"
2007-12-10 20:30:05 +00:00
Robert Osfield
f4afa427a7 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
Robert Osfield
65bef96a6e From Peter Hrenka, "Due to popular demand I would like to submit this
enhanced version of PolytopeIntersector.


New features of PolytopeIntersector :

* Dimension mask: The user may specify the dimensions of the
   primitives to be tested. Checking polytope-triangle and
   polytope-quad intersections is rather slow so this can
   be turned off.
* Reference plane: The resulting intersections are sorted
   by the distance to this plane.

New memebers of PolytopeIntersector::Intersection :

* distance: Distance of localIntersectionPoint to the reference plane
* maxDistance: Maximum distance of all intersectionPoints to the
   reference plane.
* intersectionPoints: The points intersecting the planes of the polytope
   or points completely inside the polytope.
* localIntersectionPoint: arithmetic mean of all intersection points
* primitiveIndex: Index of the primitive that intersected


I added some more output to the example osgkeyboardmouse."
2007-12-08 16:37:05 +00:00
Robert Osfield
1b1c5bbdd1 Added support for new double Vec*Array classes in various functors. 2007-12-04 14:46:46 +00:00
Robert Osfield
8e7e6529be From David Callu, warning fixes 2007-09-07 15:03:56 +00:00
Robert Osfield
b20d542317 From David Callu, improved consistency of Version strings and add version support
for osgIntrospection and osgManipulator.
2007-09-05 17:12:24 +00:00
Robert Osfield
efc7ff6b02 Rearrange _stateset member variable to avoid compile warning 2007-09-04 09:00:38 +00:00
Robert Osfield
4ba3f3c1a1 Changed RenderLeaf and StateGraph so that they use ref_ptr<> by default for Drawable and StateSet. 2007-08-31 16:05:24 +00:00
Robert Osfield
ac6140a33d Fixed zfar setting 2007-08-17 16:10:45 +00:00
Robert Osfield
c2930e5ec1 Added getStart()/getEnd() 2007-08-12 13:18:50 +00:00
Robert Osfield
113805c78a From Jean-Sebastien Guay, "adds osgUtil::LineSegmentIntersector::setStart(osg::Vec3d) and
setEnd(osg::Vec3d)."
2007-08-12 13:17:37 +00:00
Robert Osfield
9b04594126 Compile fix 2007-08-09 08:19:58 +00:00
Robert Osfield
e3b7b2f617 Added new statc prototype() and create() methods to CullVisitor and DatabasePager to allow overriding of the default implementations 2007-08-08 08:10:38 +00:00
Robert Osfield
8fa79e8c7e Ported across Viewer's to use osgUtil::GLObjectOperation, added second option
in GLObjectOperation to handle cases when no subgraph is registered, in these
case the code now compile all Camera subgraphs.
2007-07-30 10:52:37 +00:00
Robert Osfield
6dec61842d Introduce Camera::s/getRenderer(). 2007-07-28 10:28:40 +00:00
Robert Osfield
da95b907f1 Added missing export symbol. 2007-07-18 09:05:11 +00:00
Robert Osfield
1f0edca631 Added support into osg::RenderInfo for a stack of Cameras that allow querries
of which camera is currently active to be querried from within the draw traversal.
2007-07-14 17:07:59 +00:00
Robert Osfield
a28588a84c Introduce GraphicsOperation subclass from osg::Operation, and osgUtil::GLObjectOperation
for compiling subgraphs.
2007-07-13 17:25:35 +00:00
Robert Osfield
691a49d0fa From Paul Melis, fixes to spelling mistakes/typos. 2007-07-11 15:51:17 +00:00
Robert Osfield
e7d7c1dcc2 Changed the way that computeNearFar is computed to avoid inconsistencies when in stereo mode 2007-07-02 13:17:47 +00:00
Robert Osfield
9c3ae6f3c2 Addded missing namespace 2007-06-15 08:36:35 +00:00
Robert Osfield
191e12c4b1 Added const get*Matrix() methods 2007-06-08 09:17:42 +00:00
Robert Osfield
005268e982 Fixes to help C# binding dev. 2007-05-26 15:49:35 +00:00
Robert Osfield
1e0af35900 Added code to better compute the view frustum that is appropriate for a traversed
subgraph.
2007-05-15 17:04:57 +00:00
Robert Osfield
963cd837e3 Added s/getLightingMode and s/getLight to osg::View to allow control of the viewers
global light source.
2007-05-07 22:07:23 +00:00
Robert Osfield
5325653f30 Cleaned up numToTop method 2007-04-25 10:32:28 +00:00
Robert Osfield
9db23e0b22 Fixed bug associated with complex RenderBin setup. 2007-04-16 12:18:56 +00:00
Robert Osfield
9b5bbe862d From Mike Wittman, C# build fixes 2007-04-04 08:05:23 +00:00
Robert Osfield
eb4ad4229f Moved osgProducer and osgproducerviewer out into their own repository.
Clean up the source for remaining references to osgProducer/Producer.
2007-02-27 13:16:18 +00:00
Robert Osfield
47622e6134 Fixed the FlattenStaticTransform visitor so that it excludes subgraphs that
contain PagedLOD nodes
2007-02-08 15:47:05 +00:00
Robert Osfield
424bc9b997 Clean up getDrawable() method 2007-02-06 14:20:04 +00:00
Robert Osfield
6d9641a78b Added a concrete osg::DeleteHandler implementation which provides support for
retain objects for several frames before deleting them.  Also added RenderStageCache
into CullVistor.cpp that is used for handling RTT osg::Camera's that are being
used in double buffered SceneView usage.
2007-02-02 12:41:13 +00:00
Robert Osfield
8dfc5155f4 Further work on new threading model. 2007-01-31 22:24:20 +00:00
Robert Osfield
fd0ea388c2 Began work on providing support for threading camera cull traversals in parallel with
the previous frames draw traversal.  Changes range from osg::State, through osgUtil::RenderBin, through to osgViewer
2007-01-29 22:44:29 +00:00
Robert Osfield
60b5c68221 From Vlad Danciu, fixed leaf depth sort functor 2007-01-28 09:30:11 +00:00
Robert Osfield
27f6f7c790 Added access methods to PositionStateContainer 2007-01-27 14:27:54 +00:00
Robert Osfield
5bf2dfe3b1 Added _sorted flag into RenderBin to prevent a bin being sorted twice in one frame 2007-01-27 12:54:33 +00:00
Robert Osfield
0c5e9e5a2e Added Program pointer to help with uniform apply. 2007-01-26 16:08:52 +00:00
Robert Osfield
7232a831da Added osg::FrameStamp::set/getSimulationTime().
Added setting of osg_SimulationTime and osg_DeltaSimulationTime to the uniforms set by SceneView

Added frame(double simulationTime) and advance(double simulationTime) parameters to
osgViewer::SimpleViewer, Vewer and CompositeViewer.

Updated various examples and Nodes to use SimulationTime where appropriate.
2007-01-25 12:02:51 +00:00
Robert Osfield
c4279bd5f1 Ported following examples to osgViewer:
osgparticleeffects
osgphotoalbum
osgpick
osgpoints
osgpointsprite
osgprecipitation
osgprerender
osgprerendercubemap
osgreflect
osgscalarbar
osgscribe
osgsequence
osgplanets
2007-01-10 13:52:22 +00:00
Robert Osfield
c5082cb85c Added support for vertex ratios into LineSegmentIntersector. 2007-01-10 10:40:12 +00:00
Robert Osfield
4954262eb0 Added View::computeIntersection implementation for a node withing a scene graph. 2007-01-10 10:09:05 +00:00
Robert Osfield
462803fd57 From Paul Martz, speeling fixes for Tessellator/Tessellation. 2007-01-08 21:29:49 +00:00
Robert Osfield
a3726fba66 Added Tessellator 2007-01-08 14:12:57 +00:00
Robert Osfield
81449a7625 Fixed spelling of Tessellator in comment 2007-01-08 13:28:44 +00:00
Robert Osfield
fdc6e675aa Updated wrappers 2007-01-08 11:37:09 +00:00
Robert Osfield
574761d479 From André Garneau, added export to StatsVisitor 2007-01-07 17:29:34 +00:00
Robert Osfield
21869a79a9 From Paul Martz, added export to fix Windows build 2007-01-03 19:11:57 +00:00
Robert Osfield
7155f7d1b0 Various work on osgViewer library, including warp point and graphics window resize support 2007-01-01 18:20:10 +00:00
Robert Osfield
dcebe4daa0 Added initial GraphicsWindowX11 implementation, and fleshed out more of the
osgViewer and osg::GraphicsContext/osg::View infrastructure.
2006-12-19 16:00:51 +00:00
Robert Osfield
982a4db9e2 Added ViewPoint support into NodeVistor/CullStack/CullVisitor/LOD/PagedLOD etc to facilate
management of LOD settings for RTT cameras.
2006-12-15 17:27:18 +00:00
Robert Osfield
afa96fff0e Added more accurate computation of local height above sea level in the plane intersections routines 2006-12-05 12:58:29 +00:00
Robert Osfield
56b7268c72 Added copying of plane to surface intersections in the osgUtil::PlaneIntersector class, and update wrappers. 2006-12-03 11:44:12 +00:00
Robert Osfield
ab7d1ecc42 Further work on PlaneIntersector 2006-11-29 14:21:59 +00:00
Robert Osfield
a2e79f6a38 Moved osgUtil::PolytopeIntersector, osgUtil::PlaneIntersector and osgUtil::LineSegmentIntersector out from include/osgUtil/IntersecionVisitor into their own seperate files. 2006-11-28 16:30:38 +00:00
Robert Osfield
05bffbe9c4 Added beginnings of osgUtil::PlaneIntersector and osgSim::ElevationSlice 2006-11-27 20:25:36 +00:00
Robert Osfield
fd2ffeb310 Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.
Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files.
2006-11-27 14:52:07 +00:00
Robert Osfield
b82e521444 From Mauricio Hofmam, added support for reading images from all osg::CameraNode attachments in RenderStage. 2006-11-27 11:25:40 +00:00
Robert Osfield
426fd9eaf7 Missed check of changes to the RemoveRedundentNodesVisitor 2006-11-26 14:17:22 +00:00
Robert Osfield
d0cc014f1b Further migration to using RenderInfo 2006-11-14 12:51:31 +00:00
Robert Osfield
06cca16a2a Added convinience constructors to help support picking with the new osgUtil::Intersector classes. 2006-11-02 17:05:46 +00:00
Robert Osfield
f9fb99dc43 Added prelimnary work on PolytopeIntersector. 2006-11-02 12:17:06 +00:00
Robert Osfield
15f7abe100 Improved handling of projected coords in new intersection classes 2006-11-01 17:18:45 +00:00
Robert Osfield
75169ad16f Added support for osgUtil::Intersectors being in WINDOW, PROJECTION, VIEW or MODEL coordinates 2006-11-01 14:41:32 +00:00
Robert Osfield
16c238fc60 Added osgSim::LineOfSight and osgSim::HeightAboveTerrain classes 2006-10-30 20:29:06 +00:00
Robert Osfield
358b96e953 Added osgUtil::IntersectorGroup to handle groups of osgUtil::Intersectors 2006-10-27 15:11:17 +00:00
Robert Osfield
ce3929fd5f Added beginings of new osgUtil::IntersectionVisitor and osgintersection class 2006-10-26 16:03:17 +00:00
Robert Osfield
44a77dda7c Tweaked doxygen docs. 2006-10-24 16:24:24 +00:00
Robert Osfield
def74d3471 Introduced new osg::View, and osg::RenderInfo classes into the core OSG to help
handle scenes with multiple views with elements that need coordinating on a per view basis.

Added beginings of new osgText::FadeText class (not functionality yet).
2006-09-18 20:54:48 +00:00
Robert Osfield
625c0173b2 Missing part of Farshid Laskari's submission relating to CameraNode RenderOrder. 2006-09-04 13:35:26 +00:00
Robert Osfield
6b186a122f Added support for logging StateSet usage in StatsVisitor. 2006-08-28 19:06:33 +00:00
Robert Osfield
70470bc84a From Roger James, "I have been going through my modified osg files and came across this fix to the Tesselator. From memory it handles a problem with per primitive normal binding. I must have forgotten to submit it." 2006-08-28 19:01:03 +00:00
Robert Osfield
19f3d975dd Futher work on TextureAtlasBuilder/Visitor, now functioning enough to deploy on real models. 2006-08-28 15:46:02 +00:00
Robert Osfield
ee7f3fa375 Further work on TextureAlasBuilder and TextureAtlasVisitor. 2006-08-28 10:46:39 +00:00
Robert Osfield
f86c824275 Further work on new TextureAtlasBuilder. 2006-08-25 16:30:23 +00:00
Robert Osfield
1f8c4874f6 Checking in first cut of new osgUtil::Optimizer::TextureAtlasBuilder class
for building texture atlas for sets of images or textures.
2006-08-25 15:53:16 +00:00
Robert Osfield
0220448af3 Fixed value of FLATTEN_BILLBOARDS enum. 2006-08-11 16:03:04 +00:00
Robert Osfield
91e9679362 Addd a setNodeMaskOverride(0xffffffff) to cope with models that are hiding
subgraphs that still need to be accounted for when optimizer.
2006-08-10 06:43:09 +00:00
Robert Osfield
b1994cc60d Fixed multi-threaded/multi-pipe crash when primitive stats where output in osgProducer::Viewer's stats. 2006-07-29 16:47:28 +00:00
Don BURNS
f6efd393b5 Fixed HEIGHEST misspelling to HIGHEST 2006-07-19 17:39:45 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
6b2d32baae From Farshid Lashakari, fixed popStateSet. 2006-07-18 13:05:26 +00:00
Robert Osfield
a74801a0ee Added Optimizer::FlattenBillboardsVisitor. 2006-07-18 11:03:46 +00:00
Robert Osfield
ff00f888db Fixed popStateSet 2006-07-14 11:34:13 +00:00
Robert Osfield
dd32e6425e Added StatsVisitor to include/osg/Statistics, and usage of it in osgUtil::Optimizer.
Added --optimize <string> option to osgconv
2006-07-13 15:25:22 +00:00
Robert Osfield
93b13c0854 Fixed Statistics::reset() method to include a reset of all member variables 2006-07-13 11:46:55 +00:00
Robert Osfield
dd6a33da49 Removed StateSet::ENCLOSE_RENDERBIN_DETAILS since it is rendendent, and
implemented the OVERRIDE_RENDERBIN_DETAILS.
2006-07-11 21:53:57 +00:00
Robert Osfield
30265ac0b3 Added support for RenderBin's have a local top level StateSet. This is now
used by default in the depth sorted bin.
2006-06-29 15:57:24 +00:00
Robert Osfield
240fc9ebee Replaced ref_ptr<>:take with ref_ptr<>:release, and added handling of removeal
of ref_ptr<> operator >.
2006-06-26 20:45:51 +00:00
Robert Osfield
a8c52a90f0 Added selective support for thread safe ref/unref such that the rendering
backend now doesn't use thread safe ref counting where multi-buffering exists.
This reduces the overhead of multi-threading.
2006-05-02 15:52:46 +00:00
Robert Osfield
761a3b43ac From Brede Johansen, added MergeGeode visitor to osgUtil::Optimizer. 2006-04-06 14:06:22 +00:00
Robert Osfield
4291dd8d60 From Sohey Yamamoto, fixed eroneous CHECK_BLACK_LISTED_MODES enum value, changing 0xA0 to 0x100 2006-03-17 11:28:35 +00:00
Robert Osfield
32b929a493 Added support for OpenGL mode black listing to provide better support
for extension checking and invalidation of OpenGL modes associated with
extensions.
2006-02-22 14:31:13 +00:00
Robert Osfield
7d5c81bf5e From Ulrich Hertlein, spelling corrections and a few Doxgen comments. 2006-02-20 21:05:23 +00:00
Don BURNS
8f7d349f7e Added a filter to the Delaunay Triangulator to insure that incoming points
are unique in the X and Y components.
2006-02-08 23:41:32 +00:00
Robert Osfield
608a183753 Added s/getDoTriStrip and s/getSmoothing method. 2006-02-06 20:36:09 +00:00
Robert Osfield
6624f3aa62 Improved default settings, re-enambled smoothing and tri stripping of sampled data. 2006-02-06 19:16:04 +00:00
Robert Osfield
3936bcde9e Added support for up sampling by dividing longest edges. 2006-02-06 17:12:35 +00:00
Robert Osfield
378dc18f1c Seperated out the view and model matrices in IntersectVisitor to allow
handling of world coordinates better when using PickVisitor.
2005-12-22 14:06:33 +00:00
Robert Osfield
7b31c2e6ac Added debugging info for future reference (currently commented out.) 2005-12-19 13:57:04 +00:00
Robert Osfield
13e45c98fb Fixed handling of absolute transforms in IntersectVisitor. 2005-12-16 16:27:17 +00:00
Robert Osfield
2815622c35 Improved stats handling, and fixed a couple of stats bugs. 2005-12-15 17:14:40 +00:00
Robert Osfield
9cce605cb2 From Yefei He, fix to QUAD_STRIP stats. 2005-12-15 15:25:02 +00:00
Robert Osfield
99be2cdb7f Moved PickVistor into osgUtil 2005-12-07 10:25:50 +00:00
Robert Osfield
4d658ae1ea Improved the PickVisitor to make it more flexible and robust. 2005-12-06 21:59:43 +00:00
Robert Osfield
f78a37be9c Simplified the TangentSpaceGenerator so that is automatically converts any models
with indices to one without indices and then runs the tangent space generation code on the result.
2005-11-22 21:14:26 +00:00
Robert Osfield
9c93332c03 From Rodger James, changed the Win32 static library compilation support to use
OSG_LIBRARY_STATIC to avoid problems with building libs when not required.
2005-11-18 09:52:24 +00:00
Robert Osfield
47fcfa4cc5 From Eric Wing, compile fixes. 2005-11-15 21:47:24 +00:00
Robert Osfield
0ec0327b96 Added scene stats support to osgProducer::ViewerEventHandler. 2005-11-11 17:00:36 +00:00
Robert Osfield
20d9c3c3c4 Compile fixes for VS7.1 2005-11-10 09:42:34 +00:00
Robert Osfield
83d492162e Added the support in AnimationPathCallback for taking a pivot, axis and rotation rate
paramters in its constructor to allow it to be used to create rotations around a point.
This provides the same interface and functionality as osgUtil::TransformCallback but
has the advantage and AnimationPathCallback is fully supported by the .osg and .ive file formats.
2005-11-09 15:11:22 +00:00
Robert Osfield
258425d649 Bumped the version numbers up to 1.0 in preparation for 1.0-rc1. 2005-11-09 10:49:56 +00:00
Robert Osfield
857b3e03c3 Added sorting and clearing of pre and post RenderStages stored in RenderStage,
and added some debugging comments which are currently commented out from compilation -
these are left in just in case future debug work requires them.
2005-11-08 11:46:52 +00:00
Robert Osfield
3402a5087c Fixed setCameraRequiresSetUp so it properly uses the bool passed to it. 2005-11-02 11:55:02 +00:00
Robert Osfield
ab1bd48511 Moved SceneView across to use an osg::CameraNode to store the projection and view matrices,
the viewport, the clear colour and the subgraph needing rendered.  This is done
transparently so all existing functionality will behave as before.  What it does
add is the ability to set a SceneView directly by a single osg::CameraNode when required.
2005-10-28 13:11:56 +00:00
Robert Osfield
af1b539132 Added documentation line about 32 being the maximum permitted number of line segmenets 2005-10-27 11:15:25 +00:00
Robert Osfield
05703a9273 Added friend declarations of nested classes to prevent compile problems under VS6.0 2005-10-26 20:22:59 +00:00
Robert Osfield
f46044084a From Farshid Lashkari & Robert Osfield: Added support for VERTICAL_INTERLACE and HORIZONTAL_INTERLACE
stereo modes use the stencil buffer.
2005-10-25 15:43:04 +00:00
Robert Osfield
598dda59f5 From Geoff Michel, added support for constrain delaunay triangultion, and osgdelaunay example. 2005-10-25 13:28:48 +00:00
Robert Osfield
285418d6f8 From Brede Johansen, changed osg_InverseViewMatrix to osg_ViewMatrixInverse to bring
into line with OpenGL shader languague conventions.

From Robert Osfield, changed the SceneView::ActiveUnforms enum to from INVERSE_VIEW_MATRIX_UNIFORM
VIEW_MATRIX_INVERSE_UNIFORM to be convistent with the above change.
2005-10-25 09:23:21 +00:00
Robert Osfield
e31c114011 From Brede Johansen, fixed INVERSE_VIEW_MATRIX_UNIFORM enum value. 2005-10-14 21:38:44 +00:00
Robert Osfield
fb524952b6 Renamed osgUtil::RenderGraph to osgUtil::StateGraph 2005-10-13 12:51:00 +00:00
Robert Osfield
a380a49509 Improved the fallback mechanism from FBO, down to PBuffer_RTT down to PBuffer down to frame buffer. 2005-10-06 11:26:07 +00:00
Robert Osfield
5cb66efc86 Moved the testing and setting up of FBO/Pbuffer extension from CullVisitor to
support into RenderStage to allow better fallback implementations.
2005-10-05 16:21:51 +00:00
Robert Osfield
400b0ab809 Fixed typo of Primitive 2005-09-29 10:25:44 +00:00
Robert Osfield
b38f491c12 From Volker Walkiewicz (with tweaks from Robert Osfield):
Fix to the update of the error metrics on the edges in the simplification mesh that are affected by an edge collapse.

Addition of 'n' and 'p' keyboard control in osgsimplifier example to allow users to control the sample ratio manually.
2005-09-28 16:05:35 +00:00
Robert Osfield
f26c3da074 From Chris Hanson, "The following files are drop-in replacements for the include/*/Export files to permit
building statically linked osg libraries under Win32."
2005-09-28 14:05:05 +00:00
Robert Osfield
52dea86a3e From A. Botorabi, "slightly modified osgUtil's TangentSpaceGenerator class to allow the
option for using or not using geom's indices for tangent space vectors
generation. now, Ruben's code is also used (it was disabled before). in
order to keep backward compatibility, the compute method behaves as before
in default case."
2005-09-28 13:53:54 +00:00
Robert Osfield
b8ce046f88 Moved copyLeavesFromRenderGraphListToRenderLeafList into public. 2005-09-15 09:03:14 +00:00
Robert Osfield
21cabaf5f6 Renamed osgUtil::RenderStageLighting osgUtil::PositionalStateContainer 2005-09-02 10:35:38 +00:00
Robert Osfield
3ac94784fc From Geoff Michel, added normal definition for tesselation 2005-08-22 15:13:04 +00:00
Robert Osfield
c0d6126313 From Domenico Mangieri, addded some missing const qualifiers in osgUtil::SceneView. 2005-08-22 13:58:23 +00:00
Robert Osfield
ac07e07705 Further work on GraphicsContext/GraphicsThread 2005-08-20 08:59:03 +00:00
Robert Osfield
84618ffcb3 Merged RenderToTextureStage functionality into RenderStage 2005-08-17 10:12:49 +00:00
Robert Osfield
ee8f7bb756 Added post draw callback to osg::CameraNode/osgUtil::RenderToTextureStage.
Added support for Texture1D, 2D, 3D and TextureRectangle into osgUtil::RenderToTextureStage.
2005-07-24 20:31:21 +00:00
Robert Osfield
302c58fc93 Implemented the beginings of the osgProducer::GraphicsContexImplementation.
Added options into osgprerender for controlling how to do the pre rendering i.e.
--fbo, --pbuffer, --fb --window, and also added the option for controlling the
window size with --width and --height.
2005-07-21 19:27:19 +00:00
Robert Osfield
8dd013171c Ported all the render to texture examples across to using the new osg::CameraNode.
Added support for texture cube maps in FBO + CameraNode.
2005-07-19 16:30:55 +00:00
Robert Osfield
c5cad6982e Further FBO support work. 2005-06-16 14:01:38 +00:00
Robert Osfield
71122ff38f Work on the RenderToTexture usage of the new osg::CameraNode. Both osghud
and osgprerender now ported across to osg::CameraNode.
2005-06-14 20:51:35 +00:00
Robert Osfield
cf06b40891 Added pragma to remove warnings under VS.8.0 2005-05-24 18:57:13 +00:00
Robert Osfield
e229a8cb67 Updates to clean up wrapper generation, and to update wrappers 2005-05-24 15:34:23 +00:00
Robert Osfield
56f415f7a8 From Martin Aumueller, fixed copy and paste error on getActiveUniforms(). 2005-05-19 21:42:38 +00:00
Robert Osfield
276dfbd0ad Added support for setting the default render bin sort mode via the
env OSG_DEFAULT_BIN_SORT_MODE variable or via or RenderBin::setDefaultRenderBinSortMode()
method.
2005-05-19 15:17:53 +00:00
Robert Osfield
b9d0f59002 Changed the getHitList and getNumHits methods to take const osg::LineSegment* as a parameter. 2005-05-16 14:27:03 +00:00
Robert Osfield
3b4636311b Moved BaseOptimizerVisitor out of Optimizer into osgUtil namespace to try and
get round MipsPro compile problems.
2005-05-13 13:29:45 +00:00
Robert Osfield
44c363dd3f Added code to prevent ProxyNode's from been "flattened" by
osgUtil::Optimizer::FlattenStaticTransforms.
2005-05-09 15:29:18 +00:00
Robert Osfield
538ced579e Removed deprecated API in preparation for 0.9.9 release. 2005-05-09 13:09:07 +00:00