Commit Graph

305 Commits

Author SHA1 Message Date
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
Robert Osfield
cdab058b32 Added osg_DeltaFrameTime uniform to default set. 2005-05-06 10:32:31 +00:00
Robert Osfield
2798d58a41 Added support for osg_FrameNumber, osg_FrameTime, osg_ViewMatrix, osg_InverseViewMatrix
into SceneView, controlled via a setActiveUniforms(.) method.
2005-05-05 12:30:54 +00:00
Robert Osfield
03232ec667 Moved osg::Impostor to osgSim::Impostor, as Impostor isn't a core feature. 2005-05-01 19:48:49 +00:00
Robert Osfield
adba6fa559 Added RemoveLoadedProxyNodes pass to Optimizer, set on by default at present. 2005-04-30 15:16:05 +00:00
Robert Osfield
bc83e63bb4 Futher work on adding event and update callbacks to StateSet, Uniform and StateAttributes 2005-04-25 11:05:02 +00:00
Robert Osfield
0d9887462a Added MergeGeometryVisitor::setTargetMaximumNumberOfVertices(uint); 2005-04-23 16:09:20 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
22e446dbc9 Improved ParticleEffects 2005-04-04 07:54:52 +00:00
Robert Osfield
1c34cceb3a Fixed indenting. 2005-03-23 20:35:19 +00:00
Robert Osfield
fb4157ae75 From Mike Weiblen: "Fix for VS7.1 warning C4715: not all control paths return a value" 2005-03-23 20:34:02 +00:00
Robert Osfield
dde703e3b0 Commented out the if (!node->getName().empty()) return false; in isOperationPermissibleImplementation() 2005-03-23 08:30:15 +00:00
Robert Osfield
d52f4ea23a Added support for a new IsOperationPermissibleForObjectCallback in osgUtil::Optimizer. 2005-03-18 02:44:08 +00:00
Robert Osfield
99f80a78f1 From Ruben, added handling of vertex indices.
Note from Robert.  New codes produces errors when running
osgfxbrowser cow.osg so I have elected to keep the original
implementation of compute_basis_vectors around and as the default
compile to keep the CVS version working.  Ruben's new version
of compute_basis_vectors has to be explicitly compiled in by
toggling an #if 1 block to #if 0.
2005-03-07 17:25:30 +00:00
Robert Osfield
7282adef2b Removed redundent _nodePath entry. 2005-02-10 21:30:03 +00:00
Robert Osfield
7fb8dfe5ed From Chris Xennon, add support for billboard intersections + fix to addLineSegments.
Small addition from Robert Osfield of setLODSelectionMode(..) to control
the LOD selection behavior.
2005-02-10 21:18:04 +00:00
Robert Osfield
117c791a3b Added osg::BufferObject and a made a number associated to accomodate this
new class. osg::BufferObject wraps up OpenGL pixel and array buffer objects.
Currently implementation is work in progress.
2005-02-09 10:39:45 +00:00
Robert Osfield
3cfcec1198 From Tree, add get methods 2005-01-21 19:30:35 +00:00
Robert Osfield
728b8c9301 Added setImageReadFormat and setImageReadDataType methods to RenderToTextureStage to
allow customization of what format/data type to read such as reading from the depth buffer etc.
2005-01-09 19:30:56 +00:00
Robert Osfield
c3fd271dc4 Addd high level introductory docs for all the libs 2004-11-26 16:01:04 +00:00
Robert Osfield
a9e19fde9c From Geoff Michel, speeling and typo fixes in osgUtil 2004-10-24 14:42:40 +00:00
Robert Osfield
48a1fff041 From Alan Purvis, with enum name tweaks from Robert Osfield. Addition of
support for turing on/off the usage of vertex buffer objects.
2004-10-19 09:29:13 +00:00
Robert Osfield
5747773096 From Tree, changes to better support Java binding generation 2004-09-28 09:14:04 +00:00
Robert Osfield
37c8b3a6fb From Geoff Michel, typos and spelling fixes. 2004-09-26 18:39:34 +00:00
Robert Osfield
10247ef983 Fixed typo. 2004-09-23 20:07:37 +00:00
Robert Osfield
b9e4235d85 Added releaseAllGLObjects() convinience method. 2004-09-23 20:01:40 +00:00
Robert Osfield
54b45ce3bc Updated to DatabasePager support 2004-09-21 21:33:52 +00:00
Robert Osfield
b50f0db0a9 Added handling of DrawArrayLengths PrimitiveSet. 2004-08-27 08:01:17 +00:00
Robert Osfield
6ff7195964 From David Fries, added getBinNum() method 2004-08-17 18:57:02 +00:00
Robert Osfield
7eb3f2646e From Norman Vine (with small tweaks by Robert Osfield), build fixes for Cygwin 2004-08-04 08:27:43 +00:00
Robert Osfield
79bc32ad7c Removed warings 2004-08-02 14:42:20 +00:00
Robert Osfield
9b33dee6ac Made the member variables in RenderStage and RenderBin protected 2004-08-02 12:19:50 +00:00
Robert Osfield
f206abcd43 From Geoff Michel, new osgtesselate example, and new features in osgUtil::Tesselator. 2004-08-01 10:36:02 +00:00
Robert Osfield
9b9cb9cdb0 Added detection and disabling of flattening of static transforms which a
LightPointNode exists in the scene graph.
2004-07-29 10:13:02 +00:00
Robert Osfield
8837d667f0 Made the handling of types more consistent 2004-07-26 19:40:02 +00:00
Robert Osfield
215e65a42d Made doc comments more relevant. 2004-07-23 04:03:57 +00:00
Robert Osfield
0d4fe1eba4 Changed _valueAnisotropy from bool to float. 2004-07-22 07:41:17 +00:00
Robert Osfield
3bca9ec9cf Added SceneView::Options for SceneView::setDefaults(options) and
OsgCameraGroup::setRealizeSceneViewOptions(options) to allow better control
of what functionality is compiled in by default.
2004-07-20 10:17:22 +00:00
Robert Osfield
aa833acfd3 Added support for releasing GLObjects, and renamed DisplayListVisitor the
GLObjectVisitor to better fit its function, and added support for releasing
objects as well as compiling them.
2004-07-20 05:37:59 +00:00
Robert Osfield
6fd4677868 Added OPTIMIZER_TEXTURE_SETTINGS pass to Optimizer, which enables
unref image data after apply, client storage hint.
2004-07-12 13:20:18 +00:00
Robert Osfield
8a44435e4d Made the local storage of a StateAttribute* be a ref_ptr<> 2004-07-08 22:11:42 +00:00
Robert Osfield
06aa06d686 Added support for setting texture units in the new TexGenNode. 2004-06-17 14:02:15 +00:00
Robert Osfield
78d075eb24 Added new TexGenNode class for positioning tex gens. 2004-06-14 19:11:04 +00:00
Robert Osfield
bfd1286b25 Add clamping to 0..1 bounds for each of the r,g,b,a components in
the CubeMapGenerator::set_pixel() method.
2004-06-04 11:35:13 +00:00
Robert Osfield
2cf45b50c9 From Terry Welsh, added checks to incoming Geometry for existance of normals,
and if they are present use these to compute the tanget and binormals
vectors perpendicular to existing normals.
2004-06-04 08:24:13 +00:00
Robert Osfield
8edafc3b22 Updated clampProjectionMatrix methods 2004-05-25 20:35:14 +00:00
Robert Osfield
6223c11570 Made the generation of QUADS for strip with the length of 4 an option. 2004-05-02 15:43:55 +00:00
Robert Osfield
5836d60fbd Added osg::CullSettings class as a way of collecting all the various
settings related to the cull traversal in one place, so we can keep APIs
for settings these values more consistent.
2004-04-30 15:35:31 +00:00
Robert Osfield
5d79eb1c9d Added support for fine grained computation of the near plane, by taking
into account individual primitives culled against the view frustum.

Added better support for computing the near far for billboards.
2004-04-29 22:21:06 +00:00
Robert Osfield
678c456fc8 Made s/getBackgroundColor() deprecated, and add in new s/getClearColor() to
replace it.
2004-04-27 19:09:58 +00:00
Robert Osfield
91516305d9 Added support for protecting points from being simplified.
Added back in support for generation of skirts in osgTerrain::DataSet.
2004-04-22 13:36:30 +00:00
Robert Osfield
061244056d Added support for using the error metric to guide the simplficiation process 2004-04-19 23:08:30 +00:00
Robert Osfield
a1caa14a61 Added osgsimplifier example. 2004-04-18 16:15:49 +00:00
Robert Osfield
c80de01fd7 Further work on the new osgUtil::Simplifier. 2004-04-12 21:29:31 +00:00
Robert Osfield
51c8655630 Added beginning of new osgUtil::Simplifier 2004-04-08 11:27:01 +00:00
Robert Osfield
b73d3c3e7f Fixed typo in inline docs on the default value of the clear stencil value 2004-02-19 10:10:25 +00:00
Robert Osfield
5fa64ba416 Made getViewport(...) const. 2004-02-10 12:36:17 +00:00
Robert Osfield
b4774099d6 Fixed the clampProjectionMatrix method so it doesn't modify the input
znar and zfar, by avoid the use of float/double&.
2004-01-29 20:14:20 +00:00
Robert Osfield
39d7afaed2 Added support for CullVisitor::clampProjectionMatrixCallback 2004-01-28 10:49:23 +00:00
Robert Osfield
d4cfaae406 Fixed typo's of ImpostorSprite 2004-01-13 09:47:50 +00:00
Robert Osfield
f230f5a132 Added support into osgProducer::Viewer for flushing and compiling GL objects
via a Producer post swap callback.
2004-01-05 13:40:36 +00:00
Robert Osfield
401c3ec45d From Geof Michel, addition of TESSELATE_GEOMETRY pass. 2003-12-27 22:17:25 +00:00
Robert Osfield
fdd5a72115 Added extra clampProjectionMatrix methods to handle both Matrixd and Matrixf
pathways.
2003-12-21 13:11:36 +00:00
Robert Osfield
1158e4605d Added support for updating the SceneView projection matrix from the values
of near and far computed during the cull traversal.
2003-12-15 23:23:45 +00:00
Robert Osfield
7e012ccfc4 Renamed PermissableOptions to setPermissableOptimizations. 2003-12-11 23:33:27 +00:00
Robert Osfield
1881610a35 Added support for controlling what optimization operations can be applied
to specific nodes in the scene graph.  Typical use would be tagging a
node so that it can't be optimized away in say a flatten static transform
pass.  Added methods to Optimizer are:

        inline void setPermissableOptionsForObject(const osg::Object* object, unsigned int options)
        {
            _permissableOptionsMap[object] = options;
        }

        inline unsigned int getPermissableOptionsForObject(const osg::Object* object) const
        {
            PermissableOptionsMap::const_iterator itr = _permissableOptionsMap.find(object);
            if (itr!=_permissableOptionsMap.end()) return itr->second;
            else return 0xffffffff;
        }

        inline bool isOperationPermissableForObject(const osg::Object* object,unsigned int option) const
        {
            return (option & getPermissableOptionsForObject(object))!=0;
        }
2003-12-11 23:26:22 +00:00
Robert Osfield
5295d68fd3 Added _maximumNumberOfActiveOccluders variable to CollectOccludersVisitor(), to
limit the maximum number of occluders used in the cull traversal, default is
now 10.

Added set/getCollectOccluderVisitor() method into SceneView to allow control
of the the settings of the CollectOccluderVisitor.
2003-12-11 16:46:45 +00:00
Robert Osfield
83bf813e58 Moved the responsibility for finding file to load on to the ReaderWriter plugins,
instead of osgDB::Registry where it original lay.  This has been done to allow
fileName strings to be encode data rather than just file names, such as one
requires when using PagedLOD along with plugins for doing dynamic tesselation.
2003-12-08 11:24:43 +00:00
Robert Osfield
75174c1be1 Changed the minium tri strip length to 2 rather than 0. 2003-12-05 22:42:02 +00:00
Robert Osfield
3f14b9a653 Added code for combining adjacent static MatrixTransforms 2003-12-05 14:39:32 +00:00
Robert Osfield
db66abd6d6 Implemented duplicate removal code into TriStripVisitor and added an
extra pass to doing tri stripping in the osgUtil::Optimzer.

Added validity checks into osg::TexEnvCombine to catch eronous enumarant values.

Improved the efficient of CullingSet's handling of new transforms.

Added a copy shared subgraphs and subdivision code into osgUtil::Optimizer.
2003-12-03 21:45:32 +00:00
Robert Osfield
3c9d1e0603 Added a spatializer into osgUtil to create a balanced quad/oct tree. 2003-12-01 10:28:23 +00:00
Robert Osfield
091151e4ce Warning fix from Romano 2003-11-26 16:43:28 +00:00
Robert Osfield
845adb8745 Reorganised posstion of getViewMatrix*() methods. 2003-11-25 10:55:37 +00:00
Robert Osfield
bddd49c86a Changed the credit from NVidia's NvTriStrip to Tanguy Faure's traingulation code. 2003-11-14 09:25:17 +00:00
Robert Osfield
bc7622149d Updated to slideshow3D to support animation + pausing of animation.
Updated associated osg/osgUtil classes that provide animation pausing.
2003-11-03 23:13:31 +00:00
Robert Osfield
594f25b5d1 Added SceneView::s/getDrawBufferValue(GLenum) to allow customization of what
glDrawBuffer() value is set on each frame.
2003-10-17 10:25:59 +00:00
Robert Osfield
4700b8902c Introduced new DisplaySettings::set/getDisplayType() and environemtal variables
to and command line arguments to set it.

Added support for using the DisplaySettings::getDisplayType() to detect use
of a Head Mounted Display when doing stereo so that the asymtric frustum can
be switched off.
2003-10-01 15:56:52 +00:00
Robert Osfield
7d69f8e193 Added getPerspective() method to Matrix* and SceneView 2003-09-29 13:14:34 +00:00
Robert Osfield
243b288d87 Made the calling of drawable update callbacks always happen when a geode
is traversed in the update traversal.
2003-09-24 18:53:47 +00:00
Robert Osfield
2812c50329 Improved the Geometry::verifyBinding() and computeCorrectBindingsAndArraySizes()
methods to check all atributes and to report warnigns when errors are detected.

Added a CheckGeomtryVisitor to osgUtil::Optimizer to detect eroneous Geometry
before rendering.
2003-09-24 15:54:22 +00:00
Robert Osfield
c342b29a04 Warning fixes for Win32. 2003-09-16 19:56:19 +00:00
Robert Osfield
bd44cfcfd8 Added a Matrix::value_type typedef'd trait into osg::Matrix, defaulting its
value to float, and converted the internal code across to use value_type.  This
allows Matrix to be converted to use double's simply by change the definition
of value_type.  Added Matrix::glLoadlMatrix and Matrix::glMultMatrix() to
help encapsulate the changes between float and double matrix usage.

Updated code that uses Matrix so it doesn't assume float or double matrices.
2003-09-03 10:47:25 +00:00
Robert Osfield
e530912744 Made Matrix a typedef to Matrixf, and converted the old Matrix to Matrixf, as
part of prep for supporting both Matrixf (float) and Matrixd (double).

Added osg::Matrixf::glLoadMatrix() and osg::Matrixf::glMultiMatrix() methods
and changed corresponding usage of glLoad/MultMatrixf() calls across to use these
methods. Again prep for support Matrixd.

Fixes for VisualStudio 6.0 compile.
2003-09-02 17:19:18 +00:00
Robert Osfield
da6f7ebeef Fixes for IRIX build + to_unix on txp plugin files. 2003-09-02 10:27:57 +00:00
Robert Osfield
5c3a2bc683 Added s/getCullVistorLeft/Right(), s/getRenderStageLeft/Right(),
s/getRenderGraphLeft/Right() methods.
2003-08-29 23:04:42 +00:00
Robert Osfield
77c862d305 From Marco Jez, tangent space generator. 2003-08-27 14:13:12 +00:00