Robert Osfield
da2adaec06
From Eric Sokolosky, add setting of _cameraRequiresSetUp in constructor to
...
avoid uninitialized variable.
2005-12-09 09:38:46 +00:00
Robert Osfield
60f7607618
Added support for pre and post relative transforms on cameranode.
2005-12-08 11:01:38 +00:00
Robert Osfield
53ee0ce3ec
Added CameraNode::releaseGLObejcts() to help in clean up, and changed the
...
ordering in SceneView::flushDeleteGLObjects() so that fbo's are deleted
before any texture objects they use are deleted.
2005-12-08 10:06:57 +00:00
Robert Osfield
3f3c7b1df8
Added Camera::isRenderToTextureCamera() method, and improved support in PickVisitor
...
and IntersectVisitor for CameraNode, including the ignoring of render to texture cameras,
such that HUD's etc are still intersected against.
2005-12-07 11:36:56 +00:00
Robert Osfield
99be2cdb7f
Moved PickVistor into osgUtil
2005-12-07 10:25:50 +00:00
Robert Osfield
8d8229cc05
From Marco Jez, hack/fix for VS compile/link problems related to STL containers.
2005-12-02 00:25:40 +00:00
Robert Osfield
066760738b
From Ali Botorabi, fixed the setDefault() fallback to properly handle the case
...
when no scene view light is requested.
2005-12-01 14:37:15 +00:00
Robert Osfield
65f63428e5
From Geoff Michel, fixed the handling of zfar values of 0.0.
2005-12-01 13:19:16 +00:00
Robert Osfield
2ce7718a66
From Eric Wing, fixes for "warning: converting of negative value '-0x00000000000000001' to 'unsigned int'"
2005-11-29 11:39:07 +00:00
Robert Osfield
736a8433ca
Added FBO deletion support, and better FBO querry and fallback mechansim in RenderStage.
2005-11-24 15:18:12 +00:00
Robert Osfield
e1dd759dd8
Changed CameraNode::getDataChangeMutex() to be a pointer rather than a reference to
...
get around osgIntrospeciton build problem with the OpenThreads::Mutex copy constructor being private.
2005-11-23 16:32:55 +00:00
Robert Osfield
74830f9ce1
Added multi-buffering of the CameraNode::_renderingCache to help cope with multiple graphis context usages.
2005-11-23 13:44:27 +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
0e16b64665
Coverted tabs to space in core libraries.
2005-11-17 13:35:53 +00:00
Robert Osfield
76f7f77883
Added catch of erase of the last element of heap.
2005-11-15 14:25:03 +00:00
Robert Osfield
0ec0327b96
Added scene stats support to osgProducer::ViewerEventHandler.
2005-11-11 17:00:36 +00:00
Robert Osfield
e9c25115fb
Added checks against the values returned from dynamic_cast<>'s.
2005-11-10 10:29:56 +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
d3b1ee6b57
Changed the occluder traversal so that checks the children of the SceneView's Cameara
...
rather than starting at the camera itself.
2005-11-08 09:36:42 +00:00
Robert Osfield
9bfc6ead94
Added extra debugging checks on FBO's
2005-11-04 19:00:49 +00:00
Robert Osfield
4915259878
Improved support for texture subload/render to texture in various Texture classes
...
and RenderStage.
2005-11-04 12:08:16 +00:00
Robert Osfield
2584d43393
Removed the double call to the camera post draw callback.
2005-11-01 19:31:30 +00:00
Robert Osfield
e23176c3b6
Set the draw and read buffer to GL_NONE when using FBO's, thereby avoid
...
invalid enumrates being generated.
2005-11-01 15:39:26 +00:00
Robert Osfield
4509232792
Improved handling of osg::Image copying.
2005-11-01 15:23:03 +00:00
Robert Osfield
a742cb682e
Added RenderTargetFallback option into osg::CameraNode.
2005-11-01 10:42:54 +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
96a88f968a
Added error message to report when too many line segments are added to an IntersectVisitor.
2005-10-27 11:11:02 +00:00
Robert Osfield
be07f48884
From Geoff Michel, compile fixes for VS6.0
2005-10-26 09:22:13 +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
5374ddaccb
From Mike Weiblen, "some fixes for OSG_OPTIMIZER envar parsing and help display"
2005-10-24 11:46:51 +00:00
Robert Osfield
fb524952b6
Renamed osgUtil::RenderGraph to osgUtil::StateGraph
2005-10-13 12:51:00 +00:00
Robert Osfield
449333b5d3
Changed the fallback code to use the result form the realize() call, removed
...
the code path from running a PBuffer as a seperate graphics context (this
was found to be slower than running single threaded so its not worth the
extra complexity).
2005-10-06 15:41:47 +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
cf2974329f
Added code paths for PBuffer RTT support.
2005-10-04 18:50:00 +00:00
Robert Osfield
d82d598115
Fixed typo of CameraNode::setRenderTargetImplementation(..)
2005-09-29 09:36:51 +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
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
765db1998c
Added support for cullable state, that uses a polytope to define the extents
...
of objects that will be influenced by it.
2005-09-07 16:18:43 +00:00
Robert Osfield
21cabaf5f6
Renamed osgUtil::RenderStageLighting osgUtil::PositionalStateContainer
2005-09-02 10:35:38 +00:00
Robert Osfield
994192657a
Compile fix.
2005-08-30 19:20:19 +00:00
Robert Osfield
aba3b4fa67
Clean up and fixes to GraphicThread class, and osgcamera example.
2005-08-30 14:41:08 +00:00
Robert Osfield
b316dc30e8
Disabled the pbuffer graphics thread.
2005-08-28 19:07:09 +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
51faa7e43a
Various updates to support the new GraphicsThread class.
2005-08-18 20:17:51 +00:00
Robert Osfield
84618ffcb3
Merged RenderToTextureStage functionality into RenderStage
2005-08-17 10:12:49 +00:00
Robert Osfield
e8fc5248fa
Added realize() and isRealized() methods to osg::GraphicsContext.
...
Added osgcamera example that uses osg::GraphicsContext to create the required
window for rendering too, will eventually use osg::CameraNode to replace usage
of osgUtil::SceneView.
2005-08-16 13:29:07 +00:00
Robert Osfield
64fbb477fe
Set the double buffer off when setting up pbuffers.
2005-08-06 19:16:53 +00:00
Robert Osfield
098fafc198
From Pavel Moloshtan, setting of the cull traversal mask which visiting camera
...
subgraphs. (with small tweak from Robert Osfield to remove compile warnings.)
2005-07-27 13:38:15 +00:00
Robert Osfield
4e69d46289
Further work on trying to get glGenerateMipMapEXT working in conjunction with
...
frame buffer objects. Still don't work under Linux yet through :-|
2005-07-27 11:27:44 +00:00
Robert Osfield
bddaefd569
Perliminary support for glGenerateMinMapEXT.
2005-07-25 16:12:24 +00:00
Robert Osfield
384830d37e
Added handling of automatic setting up of the contextID.
2005-07-25 14:28:22 +00:00
Robert Osfield
3c23a42f17
Added support for TextureCubeMap into osgUtil::RenderToTextureStage.
2005-07-25 13:05:57 +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
7b23cf930e
Added support for multiple colour buffers into osg::CameraNode/osgUtil::CullVisitor
2005-07-19 20:01:00 +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
d35ea68f3e
Renamed Byte2,3,4 and Short2,3,4 and UByte4 to use the Vec*b, Vec*s and Vec4ub form
2005-07-15 14:41:19 +00:00
Robert Osfield
cfac4c74bc
Added reference frame to TexGenNode
2005-07-15 08:32:36 +00:00
Robert Osfield
0956674292
Added back in the call to drawPreRenderStages() as this shouldn't interfere
...
with the stereo code in SceneView as RenderStage should automatically only
allow themselves to be draw on per frame.
2005-07-14 13:21:11 +00:00
Robert Osfield
99279fbf61
From Marco Jez, added missing method implementations to CameraNode and
...
added check to ensure FBO extension is support to RenderToTextureStage.
2005-07-08 14:46:13 +00:00
Robert Osfield
facb0e2638
From Pavel Moloshtan, Byte2,3,4 and Short2,3,4 classes and their Array counterparts.
...
With a few build tweaks and bug fixes by Robert Osfield.
2005-07-05 15:57:53 +00:00
Robert Osfield
042ca70866
From David Spilling, fixed the incircle test so it handles colinear points.
2005-06-24 20:19:12 +00:00
Robert Osfield
c5cad6982e
Further FBO support work.
2005-06-16 14:01:38 +00:00
Robert Osfield
dfaed083ea
Added osgmultiplecameras example and support for pre/post multiplaction.
2005-06-15 10:59:10 +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
e229a8cb67
Updates to clean up wrapper generation, and to update wrappers
2005-05-24 15:34:23 +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
955cc1ec2a
Added s/getClearMask() support to osg::ClearNode, osgUtil::SceneView and the
...
.osg plugin.
2005-05-18 19:55:14 +00:00
Robert Osfield
5947b97cde
Improved the handling of data attached to proxy nodes
2005-05-17 14:25:11 +00:00
Robert Osfield
1dd553ed0e
Bumped version numbers to 0.9.9 in rediness for 0.9.9 release.
2005-05-16 17:17:53 +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
fb34b22e34
Cleaned up API of BindAttributeLocation, added deletion of shader objects.
2005-05-11 11:41:44 +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
a6e8378a72
Removed debug info
2005-05-08 19:21:43 +00:00
Robert Osfield
d1a1b1d95c
Added more comprehensive releaseGLObjects(State*=0) throughout Nodes,
...
Drawables,StateSet, and osgDB::Registry.
Added cleanup_frame() from to osgProducer::OsgCamerGroup to help with proper
clean of OpenGL objects before exit, and modified osgviewer, osghangglider,
osgwindows examples to do the extra frame call to cleanup_frame() before exit.
2005-05-07 20:47:09 +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
f8c855a576
Fix for Tiger build
2005-05-04 11:38:34 +00:00
Robert Osfield
a1f23bbccd
Fixed bug where the Optimizer::StateVisitor was trying to optimize
...
non existant StateSet's.
2005-05-04 09:11:32 +00:00
Robert Osfield
b85d4d4e7e
Added support for optimization of Uniforms
2005-05-02 10:18:37 +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
81f60233a9
From Geoff Michel :
...
ac3d loader - better sharing of states between objects and Roger James' bug fix for missing normals.
Tesselator.cpp - faster processing of polygon tesselation for single triangles (which dont need to be tesselated)
osgtesselate.cpp - added wrap for texture so that appearance is as originally. Default texture behaviour has changed to clamp."
2005-04-30 13:54:21 +00:00
Robert Osfield
67baa30218
Combine LOD fixed properly this time :)
2005-04-30 07:25:15 +00:00
Robert Osfield
bf03f094c2
fixed combined LOD bug
2005-04-30 07:22:56 +00:00
Robert Osfield
7117ff4bd3
Added support for controlling the frequency of checking for OpenGL errors
...
via:
enum CheckForGLErrors
{
/** NEVER_CHECK_GL_ERRORS hints that OpenGL need not be checked for, this
is the fastest option since checking for errors does incurr a small overhead.*/
NEVER_CHECK_GL_ERRORS,
/** ONCE_PER_FRAME means that OpenGl errors will be checked for once per
frame, the overhead is still small, but at least OpenGL errors that are occurring
will be caught, the reporting isn't fine grained enough for debugging purposes.*/
ONCE_PER_FRAME,
/** ONCE_PER_ATTRIBUTE means that OpenGL errors will be checked for after
every attribute is applied, allow errors to be directly associated with
particular operations which makes debugging much easier.*/
ONCE_PER_ATTRIBUTE
};
/** Set whether and how often OpenGL errors should be checked for.*/
void setCheckForGLErrors(CheckForGLErrors check) { _checkGLErrors = check; }
/** Get whether and how often OpenGL errors should be checked for.*/
CheckForGLErrors getCheckForGLErrors() const { return _checkGLErrors; }
2005-04-29 20:56:20 +00:00
Robert Osfield
30d20fcf55
From Farshid Lashkari, removed redundent fusion distance calculations from computeRightEyeProjectionImplementation and
...
computeLeftEyeProjectionImplementation methods.
2005-04-28 05:21:27 +00:00
Robert Osfield
0d9887462a
Added MergeGeometryVisitor::setTargetMaximumNumberOfVertices(uint);
2005-04-23 16:09:20 +00:00
Robert Osfield
06dc3ebb34
From Reinhard Sainitzer, bug fix, added missing break;
2005-04-19 07:37:59 +00:00
Robert Osfield
08f593a54b
From Joran Jessurun, Added setting of original node mask to flatten transforms
2005-04-15 20:11:50 +00:00
Robert Osfield
678b22ce83
Updated Copyright notices to 1998-2005.
2005-04-14 21:41:28 +00:00
Robert Osfield
d52e02aaeb
From James French, a tweak with fix a compile problem related to STLport.
2005-04-08 14:44:44 +00:00
Robert Osfield
7d24d9fdd5
Added #include <algorithm>
2005-04-08 12:22:03 +00:00
Robert Osfield
a2974de978
Moved the istream and ostream support from Vec* and Matrix* into a seperate io_utils file.
2005-04-08 09:01:23 +00:00
Robert Osfield
22e446dbc9
Improved ParticleEffects
2005-04-04 07:54:52 +00:00
Robert Osfield
d52f4ea23a
Added support for a new IsOperationPermissibleForObjectCallback in osgUtil::Optimizer.
2005-03-18 02:44:08 +00:00
Robert Osfield
6904696573
Added check against node.getName() into isNodeEmpty(Node&) method so that nodes
...
with names arn't assumed to be empty.
2005-03-17 10:24:22 +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
4fa830315d
Added event callback to Optizimer isNodeEmpty function
2005-02-25 23:01:07 +00:00
Robert Osfield
a9c61ad992
Remerged Tugkan's fix to flatten static transforms.
2005-02-12 19:47:38 +00:00
Robert Osfield
8ff060b840
Put spaitalize groups to end.
2005-02-12 16:49:28 +00:00
Robert Osfield
336612359b
From Tugkan Calapoglu, bug fix to FLATTEN_STATIC_TRANSFORMS.
...
Small tweak of the code to make the comparison against Identity matrix clearer.
2005-02-12 16:24:28 +00:00
Robert Osfield
d5409942ee
Fixed spatial groups.
2005-02-11 17:22:55 +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
8cc0cdb25c
Fixed tabbing.
2005-01-27 11:16:03 +00:00
Robert Osfield
c99903497a
From Yuzhong Shen, removed repeated statements in Hit operator =.
2005-01-21 21:00:33 +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
814300f896
Fixed crash in osgUtl::Simplifier which was due to an dereference of an empty array.
2005-01-07 14:31:33 +00:00
Robert Osfield
a0ba625cb0
Property API clean to smooth the task of generating wrappers.
2004-12-17 01:06:33 +00:00
Robert Osfield
6690da4272
Changed RELATIVE_RF to ABSOLUTE_RF to fix bug introduced when naming was changed
...
from RELATIVE_TO_ABSOLUTE to new convention
2004-12-12 22:27:20 +00:00
Don BURNS
1771cdbcc7
Update version numbers in files
2004-12-04 23:38:24 +00:00
Robert Osfield
595dda6fe4
From Vivek Rajan, fixes to Solaris build.
2004-11-18 10:08:29 +00:00
Robert Osfield
6f22082c0b
Removed the _initVisitor traversal for update() to prevent OpenGL being called at the wrong time.
2004-10-26 18:11:26 +00:00
Robert Osfield
b70ff91eaf
Changed ABSOLUTE and RELATIVE to ABSOLUTE_RF and RELATIVE_RF to avoid stooppid Win32 #define
2004-10-24 20:04:00 +00:00
Robert Osfield
6821a80e14
Changed the ReferenceFrame enums to be RELEATIVE and ABSOLUTE, and
...
deprecated the RELATIVE_TO_ABSOLUTE and RELATIVE_TO_PARENTS.
2004-10-22 19:26:45 +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
4192ef796b
Added CullingSettngs::s/getInheritanceMask() and inheritCullSettings(,) method.
2004-10-12 09:54:03 +00:00
Robert Osfield
e4167d9baa
Added missing _texAttrListMap.clear(); into reset()
2004-10-03 08:36:27 +00:00
Robert Osfield
3363d35ee6
Removed debugging messages
2004-09-30 14:54:42 +00:00
Robert Osfield
7e5c87de6a
Changed the version strings to use OpenSceneGaph rather than "Open Scene Graph"
2004-09-27 12:07:34 +00:00
Robert Osfield
37c8b3a6fb
From Geoff Michel, typos and spelling fixes.
2004-09-26 18:39:34 +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
daf8887bb0
Changed usage of assert() to throw.
2004-09-07 14:34:04 +00:00
Robert Osfield
94f1f6025c
Added a size check on heap_array<T, CmpT>::Adjust(size_t i) to
...
prevent access errors.
2004-09-07 10:45:22 +00:00
Robert Osfield
b50f0db0a9
Added handling of DrawArrayLengths PrimitiveSet.
2004-08-27 08:01:17 +00:00
Robert Osfield
14d9013699
Removed redundent include/ReadFile call
2004-08-13 13:27:29 +00:00
Robert Osfield
821b0991d9
From Ben Discoe, build fix for float version of Matrix.
2004-08-11 08:25:14 +00:00
Robert Osfield
857d8e2435
Added the ability to set the global stateset, as use this RenderStageLighting
2004-08-07 09:42:19 +00:00
Robert Osfield
4d2c08b39a
From Marco Jez, commented out info debugging messages
2004-08-05 15:02:51 +00:00
Robert Osfield
66397b3962
Changed the popProjectionMatrix so that it didn't allow modification on the near
...
and far values when clamping the projection matrix.
2004-08-05 12:47:55 +00:00
Robert Osfield
ddb7423e46
Set version numbers for 0.9.7 release
2004-08-05 08:02:48 +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
364d40061d
Added glReadBuffer after each instance of glDrawBuffer to ensure that
...
the any reads are done to the appropriate buffer.
2004-08-02 09:30:13 +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
4d9bd4d825
Build fixes for gcc 3.4.1 support
2004-08-01 08:26:44 +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
90ee9fa7cd
Commented out debugging messages
2004-07-28 10:26:44 +00:00
Robert Osfield
1ec5b48148
Fixed the flatten static transform visitor so that it checks to see
...
if a drawable can be flattened or not.
2004-07-28 10:26:14 +00:00
Robert Osfield
8837d667f0
Made the handling of types more consistent
2004-07-26 19:40:02 +00:00
Robert Osfield
6f605d031f
Added support for OSG_OPTIMIZER="OFF"
2004-07-22 18:34:38 +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
47910f2c2e
Removed enabling of use client stage storage hint.
2004-07-12 17:30:36 +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
e81d3ea000
Made the constructor's default value for _lightingMode be NO_SCENEVIEW_LIGHT
2004-07-08 22:10:44 +00:00
Robert Osfield
787792077c
From Vasily Radostev, fixed Billboard compute near/far bug due to typo of bbCornerFar.
2004-07-07 13:19:07 +00:00
Robert Osfield
2598b02243
Changed the generation of primtive set to use DrawElementsUShort for even
...
index sets that can be represented by UBytes, thisis to try to keep to
fast paths more likely to be supported by graphics drivers.
2004-07-01 14:27:22 +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
2d35b3cc27
Changed Billboard::g/setPos(..) to g/setPosition(..).
2004-06-14 19:34:43 +00:00
Robert Osfield
78d075eb24
Added new TexGenNode class for positioning tex gens.
2004-06-14 19:11:04 +00:00
Robert Osfield
dbba29e35c
From Boris Bralo, reimplementation of dereference_less functor to use
...
two input types, to attempt to avoid VC compile problems and redundent
copies of ref_ptr<>.
2004-06-08 09:29:56 +00:00
Robert Osfield
4bb147aed4
Added haveAppliedAttribute to allow draw callbacks to get access to the
...
current active lights.
2004-06-04 12:27: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
6303b87e9a
Added better handling of clamping of projection matrix
2004-05-25 07:40:18 +00:00
Robert Osfield
5eafee1b83
From Frank Lindeman, compile fix for VS to get round limitation is VS when
...
handling templated methods.
2004-05-12 14:22:01 +00:00
Robert Osfield
7742794eec
From Bruce Clay, modify template copy method to avoid VS6.0 compile errors.
2004-05-10 20:01:13 +00:00
Robert Osfield
4ab330de96
Removed eroneous return statement.
2004-05-10 13:56:05 +00:00
Robert Osfield
47dd0ece28
Added new TerrainManipulator to osgGA, and new callback for getting the
...
CoordinateFrame for a given X,Y,Z location.
2004-05-06 11:01:16 +00:00
Robert Osfield
fe0fd07f36
Moved isCulled check inside the CullVisitor::apply(Projection&) to just
...
before traverse rather than at the begining of the method.
2004-05-05 19:56:18 +00:00
Robert Osfield
55162d0c7c
Changed notify level on several debugging messages from WARN to INFO.
2004-05-04 13:58:07 +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
df0d0b0fe7
Added missing billboard drawable dirtyBound()
2004-04-29 22:15:04 +00:00
Robert Osfield
be1a124b32
Fix for VS7.0 build from Mike Weiblen
2004-04-29 22:13:23 +00:00
Robert Osfield
0af4365d11
Fixed an iterator invalidation bug. (thanks to Per Månsson for tracking down the
...
bug)
2004-04-29 21:38:16 +00:00
Robert Osfield
ba5b90d43e
Added missing dirtyBound() to billboard section of flatten static transforms
2004-04-29 15:57:03 +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
8a923e60a8
Changed the edge collapse to accept edges with more than two connected
...
triangles.
2004-04-21 10:40:12 +00:00
Robert Osfield
cc1314049c
Changed the debugging info to output to osg::notify() rather than cout.
...
Add a clear of all the internal EdgeCollapse structures to avoid memory
leaks
2004-04-20 09:36:46 +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
45179b8868
Changed the scoping for for variables to fix VS6.0 compile.
2004-04-19 20:44:14 +00:00
Robert Osfield
f72e9befc1
Added support for detecting edge collapses which will overturn the local
...
triangles.
2004-04-19 20:06:26 +00:00
Robert Osfield
a1caa14a61
Added osgsimplifier example.
2004-04-18 16:15:49 +00:00
Robert Osfield
cf8c4c6a97
Further work on Simplifer support for compute error metric
2004-04-17 22:50:39 +00:00
Robert Osfield
8f819d7756
Changed TriangleSet::iterator to const_iterator to fix build under VS.NET.
2004-04-17 20:27:31 +00:00
Robert Osfield
117fa92462
Further work on simplifier edge collapse code
2004-04-17 16:02:38 +00:00
Robert Osfield
3b4e0a419a
Added tests for the consistency of points, edges and triangles.
2004-04-15 09:37:10 +00:00
Robert Osfield
025cc6b819
Added support for removing triangles and associated edge and points from
...
the EdgeCollapse object.
2004-04-13 15:59:30 +00:00
Robert Osfield
073e49c3d8
Added support for copy all per vertex attributes to and from the edge collapse
...
object.
2004-04-13 14:39:43 +00:00
Robert Osfield
c80de01fd7
Further work on the new osgUtil::Simplifier.
2004-04-12 21:29:31 +00:00
Robert Osfield
ae7ceae631
From Paul Martz, added support for OpenFlight15.8 LightPointSystems
2004-04-10 11:30:16 +00:00
Robert Osfield
5c01b5118e
Renamed MyTriangleOperator to CollectTriangleOperator.
2004-04-09 08:20:15 +00:00
Robert Osfield
51c8655630
Added beginning of new osgUtil::Simplifier
2004-04-08 11:27:01 +00:00
Robert Osfield
9e4b23a1ef
Added extra check against a null vertex array to prevent a crash when
...
tri stripping an empty geometry.
2004-03-29 12:28:06 +00:00
Robert Osfield
aa52005b87
Added empty() method to Geometry to facilitate tests for removing empty
...
geometry from the scene graph.
Added removal of empty geometry leaves from within the RemoveEmptyNodeVisitor
2004-03-29 10:24:16 +00:00
Robert Osfield
8f226faae8
From Tom Jolly, addition a isCullingActive check to the culling test done
...
on drawables. This solves a osgParticle bug relating to bounding boxes being
initially at 0,0,0.
2004-03-09 21:33:44 +00:00
Robert Osfield
4aa7afedf3
Removed include <iostream> where possible, replacing with istream or ostream and changing
...
std::cout/cerr to osg::notify().
2004-03-03 13:27:21 +00:00
Robert Osfield
2af70e3c4c
From Ronny Krueger:
...
In RenderStage.cpp removed erroneous else statement.
In ShapeDrawable.cpp's PrimitiveShapeVisitor::apply(const Box& box) fixed
order of the last face.
2004-02-09 22:56:39 +00:00
Robert Osfield
33201a8f25
Added new TriangleIndexFunctor.
2004-02-09 10:14:06 +00:00
Robert Osfield
e4dac2e6f6
Fixed warning in Tesselation w.r.t unhandled cases in switch statement
2004-02-05 10:15:38 +00:00
Robert Osfield
519496754c
Added dynamic_cast<DisplayListiVisitor> into SceneView::init() method to
...
properly check for class type before doing setState().
2004-02-03 19:07:32 +00:00
Robert Osfield
e266385769
Moved the InitVisitor::setState() into the SceneView::init() method to make
...
sure that it always has the correct State object at the of the init.
2004-02-02 16:55:29 +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
7a94ab3903
Added double's as parameters to _clampProjectionMatrix() template function to
...
cure compile problems
2004-01-29 10:44:08 +00:00
Robert Osfield
39d7afaed2
Added support for CullVisitor::clampProjectionMatrixCallback
2004-01-28 10:49:23 +00:00
Robert Osfield
2b9707cdfe
Added rotation of billboard normal into flattern transform Optimizer pass.
2004-01-23 16:29:54 +00:00
Robert Osfield
4390114670
From Romano Magacho, add group->setName() to flattening of static transforms
2004-01-09 14:07:26 +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
884e046abb
From Geoff Michel, added tesselate pass to Optimizer and added handling of per
...
primitve color to osgUtil::Tesselator.
2003-12-27 13:46:33 +00:00
Robert Osfield
5c199e01c0
Build fixes for VS6.0
2003-12-24 00:14:12 +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
caaed0d8b8
Added test against MultiSwitch in Optimizer to prevent switch children
...
being removed.
2003-12-15 08:54:38 +00:00
Robert Osfield
9f0dc42efe
Fixed flatten static transform
2003-12-12 17:23:03 +00:00
Robert Osfield
4bf9347fae
Made progress reports use osg::notify(osg::INFO) instread of std::cout
2003-12-12 13:53:04 +00:00
Robert Osfield
995af47ab9
Fixed merging of geometry code.
2003-12-12 13:24:23 +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
eb57ab5cda
Added support for using DrawArrays when indices are in ascending order, and
...
increment 1 at a time.
2003-12-10 10:49:16 +00:00
Robert Osfield
a25e14b42f
Improvements to the TriStripVisitor such that it now groups 4 point tri strips
...
together as quads.
2003-12-09 22:29:56 +00:00
Robert Osfield
9780a7cbd6
Removed osg::Transform::ComputeTransformCallback from osg::Transform.
...
Updated various dependant files to reimplemt callbacks as Transform subclasses.
2003-12-09 14:07:44 +00:00
Robert Osfield
0034d026d2
Added commented out lines for setting orange blue anaglyphic stereo. The
...
analgyphic block really needs to have the color mask set up optionally, this
is something to configure in the future.
2003-12-08 19:25:08 +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
3f14b9a653
Added code for combining adjacent static MatrixTransforms
2003-12-05 14:39:32 +00:00
Robert Osfield
9c2f01fd61
Added support for expanding index'd attributes from within
...
osgUtil:TriStripVisitor.
2003-12-04 17:14:06 +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
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
27dbfa9810
Added copying of reference to the main CullVisitor's DatabaseRequestHandler over
...
to the left/right eye CullVisitor to ensure that the database works in stereo.
2003-10-29 19:22:19 +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
00d8ce7a48
Changed std::vector<>::at(i) array access usage to straight [i] to keep things compiling on gcc 2.x serious
2003-09-26 20:14:30 +00:00
Robert Osfield
7fb9f6be4b
Added the beginnings of a new osgforest example.
...
Added support into osg::TriangleFunctor for specifying whether the vertices
being generates are temporary or not.
2003-09-25 21:54:33 +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
c91a2d3d3e
Updated version numbers and ChangeLog for the release.
2003-09-16 21:25:25 +00:00
Robert Osfield
96388cee67
Added a check for the maximum index values of primitives, and then use this
...
to select whether to use UByte,UShort or UInt versions of osg::DrawElements.
2003-09-16 19:56:00 +00:00
Robert Osfield
69c4e87bb7
Added osg::State::popAllStateSets() method to pop all remain StateSet's off
...
the state stack, thus readying the state object to recieve a new frame.
Removed the state.reset() call in osgUtil::SceneView::cull() as this was
causing problems with stats producing inheritance of state when toggling
stats on.
2003-09-10 21:22:47 +00:00
Robert Osfield
b165fc9b4d
Cleaned up handling of vertex arrays in osg::Geometry.
...
Added support for vertex attribute arrays in .osg and .ive.
2003-09-09 22:18:35 +00:00
Robert Osfield
131ebabaf5
Added call to handle_cull_callbacks_and_traverse(node) to
...
CullVisitor::apply(Geode&) to enable cull callbacks to function on geode's.
2003-09-08 08:44:05 +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
763ee70f2f
Commented out calc near/far debugging messages.
2003-09-02 20:06:20 +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
7575f45800
Support for BumpMapping added by Marco Jez.
2003-09-01 21:53:53 +00:00
Robert Osfield
77c862d305
From Marco Jez, tangent space generator.
2003-08-27 14:13:12 +00:00