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
Robert Osfield
b5674a7dde
Fixed CullVisitor::popProjectionMatrix() handling of othorgraphic near
...
and far values.
2003-08-27 00:39:44 +00:00
Robert Osfield
7b9de3ad91
From Marco Jez, improvement to the handling of coordinates frame in CubeMapGenerator.
2003-08-21 09:51:25 +00:00
Robert Osfield
1c3b2b2554
Standardised the culling flags between CullingSet and CullStack, and
...
made ENABLE_ALL_CULLING enable all culling including the near and far plane.
DEFAULT_CULLING is now used for the default as uses the same original
values as ENABLE_ALL_CULLING once did - view frustum culling with near and
far culling. SceneView now uses DEFAULT_CULLING.
2003-08-20 12:50:54 +00:00
Robert Osfield
8c65920c1f
Fixes for Java build.
2003-08-18 09:24:17 +00:00
Robert Osfield
8a737dd2ca
Added support for clampping the near and far values in othrographic projection.
...
Fixed the handling of anaglyphic/stereo state in SceneView::draw().
2003-08-08 00:36:51 +00:00
Robert Osfield
2ce08d8088
Warning fixes from Gideon May.
2003-07-23 11:45:37 +00:00
Robert Osfield
cc529aebe0
Bumped up version numbers in preperation for the 0.9.5 release.
2003-07-23 08:54:29 +00:00
Robert Osfield
ee30f2e30c
Added support for osg::State::s/getInitialViewMatrix();
...
Added slideshow3D examples to the runexamples.bat.
Fixed DatabasePager to work with the latest OpenThreads.
2003-07-22 21:03:59 +00:00
Robert Osfield
23fc1900ce
From Romano Jose Magacho da Silva, added osg:FragmentProgram.
...
From Robert, add .osg support for FragmentProgram.
2003-07-17 06:43:15 +00:00
Robert Osfield
2a142c096a
Added setProjectionMatrix*(), setViewMatrix*() and get*() methods to osgUtil::SceneView.
2003-07-16 22:15:28 +00:00
Robert Osfield
82008d5ecd
Updates to the flush rendering objects function calls to allow for
...
managment of amount of time available to do gl delete's. This control is
required for constant frame rate applications.
2003-07-15 21:19:03 +00:00
Robert Osfield
1998bdef86
Moved osg::Statistics to osgUtil::Statistics and merged addition to it
...
fro Pavel Moloshtan.
2003-07-15 13:46:19 +00:00
Robert Osfield
deb26621c9
Changed the SceneView::setModelViewMatrix() methods across to being setViewMatrix().
...
The old RefMatrix methods for setModelViewMatrix() and setProjectMatrix() have
been removed to keep the API as minimal as possible.
2003-07-15 11:49:56 +00:00
Robert Osfield
1b9d7d458a
Added support for texture object manager, which provides an automatic mechansim
...
for reusing deleted textures.
2003-07-14 14:42:10 +00:00
Robert Osfield
b5442ac835
Added support for the ARB_vertex_buffer_object into osg::Geometry.
2003-06-29 21:41:57 +00:00
Robert Osfield
3f23a430fb
Fixed from Pavel for the stats in RenderBin.cpp
2003-06-25 10:39:11 +00:00
Robert Osfield
277b6cf24a
Spotted by Norman Vine - fixed typo in intersect visitor.
2003-06-25 08:50:57 +00:00
Robert Osfield
d70ab592ed
Additions since the CVS back up was made.
2003-06-24 21:57:13 +00:00
Don BURNS
15f88f35b2
*** empty log message ***
2003-06-24 15:40:09 +00:00
Robert Osfield
b444cc1ab3
Added support for scaling the projection in vertical and horizontal split stereo
...
modes.
2003-05-27 11:03:49 +00:00
Robert Osfield
b17d2abc87
Adjustments to the horizontal and vertical split stereo code for better
...
handling of aspect ratio.
2003-05-26 15:00:38 +00:00
Robert Osfield
efa16a34c5
Fixes to the Optimizer's handling of merging of osg::Geometry
2003-05-22 15:29:20 +00:00
Robert Osfield
4a6bdad3e1
Removed osg::GeoSet for core osg lib and osgPlugin.
...
Commented out OpenDX plugin as its still based on GeoSet.
Added support for loading and converting GeoSet into the osgconv example.
2003-05-21 12:15:45 +00:00
Robert Osfield
00e94b86d8
Removed all KeySwitchCameraManipulator class, replacing it
...
with the KeySwitchMatrixManipulator
2003-05-19 20:18:37 +00:00
Robert Osfield
940ce67133
Removed remaining dependancies on osg::Camera.
2003-05-19 15:15:17 +00:00
Robert Osfield
876e40802e
Memory leak fixes from Joseph Steel.
2003-05-08 14:02:50 +00:00
Robert Osfield
aa0d5fc52e
Changed the CullVisitor::popProjection() so that it doesn't adjust orthorgraphic
...
projection matrices.
2003-05-07 09:35:43 +00:00
Robert Osfield
d2d9b97953
Added set/getNearFarRatio() to CullVisitor.
2003-05-01 19:56:02 +00:00
Don BURNS
e1468428e3
set glDrawBuffer( GL_BACK ) in SceneView::draw() when not drawing in
...
stereo mode. Without this, we end up drawing to the wrong buffer when
toggling stereo off.
2003-04-29 00:55:12 +00:00
Robert Osfield
89b1365b2b
Added support for gather information on which vertices have been intersected with.
2003-04-25 13:47:33 +00:00
Robert Osfield
67f5cc46c1
Changed the maxx initializiation to use (*points)[last_valid_index].x();
2003-04-17 13:36:41 +00:00
Robert Osfield
cad160fbe6
From Marco Jez, added DelaunayTriangulator class.
2003-04-16 19:21:27 +00:00
Robert Osfield
3bd03476f4
Moved the PickVisitor from osgUtil into the implementation of
...
osgProducer::Viewer. Removed methods in PickVisitor which wern't being
used by osgProducer::Viewer. This has been done because the PickVisitor
interface and implementation weren't ready for general usage.
2003-04-16 15:14:25 +00:00
Robert Osfield
904aceec22
Added convinence methods to osgProducer::Viewer:
...
/** compute, from normalized mouse coords, for sepecified Camera, the pixel coords relative to that Camera's RenderSurface.*/
bool computePixelCoords(float x,float y,unsigned int cameraNum,float& pixel_x,float& pixel_y);
/** compute, from normalized mouse coords, for sepecified Camera, the near and far points in worlds coords.*/
bool computeNearFar(float x,float y,unsigned int cameraNum,osg::Vec3& near, osg::Vec3& far);
/** compute, from normalized mouse coords, for sepecified Camera, intersections with the scene.*/
bool computeIntersections(float x,float y,unsigned int cameraNum,osgUtil::IntersectVisitor::HitList& hits);
/** compute, from normalized mouse coords, for all Cameras, intersections with the scene.*/
bool computeIntersections(float x,float y,osgUtil::IntersectVisitor::HitList& hits);
2003-04-16 14:17:49 +00:00
Robert Osfield
63628ce099
From Romano, extra methods/variables for controlling tesselation.
2003-04-15 09:33:11 +00:00
Robert Osfield
5df7118d6d
Updates to the osgpick code.
...
Updates to osgGA::CameraManipulors.
2003-04-14 15:44:30 +00:00
Robert Osfield
026dc2cbb7
Added Geoff Michel's osgpick and osgUtil::PickVisitor code.
2003-04-13 13:26:41 +00:00
Robert Osfield
c2a9234cc5
Updated the version numbers to 0.9.4
2003-04-11 10:04:53 +00:00
Robert Osfield
50d1fcfea2
From Romano, added support in osg::VertexProgram for deleting the flushed
...
vertex programs.
2003-04-11 09:54:27 +00:00
Robert Osfield
22546b8085
Added support for multiple graphics context to osg::VertexProgram and osg::Impostor
2003-04-10 12:11:40 +00:00
Robert Osfield
2166f9b701
Fixes to the Impostor implementation.
2003-04-09 21:53:09 +00:00
Robert Osfield
e377424752
Added fallback in RenderBin::createRenderBin(const std::string& binName) which
...
return a new RenderBin when the no prototype is found with className of binName.
2003-04-09 10:10:57 +00:00
Robert Osfield
a47a6f0310
Fixes to the multipipe initialization.
2003-04-03 14:12:09 +00:00
Robert Osfield
6dbc770347
Made the osgGA::GUIEventHandler sublassed from osg::Object as a virtual
...
inheritence to allow handler to also be used as node callbacks.
Fix to UpdateVisitor to make the visitation of Drawable more consistent
with the way that nodes are traversed.
2003-03-24 08:42:35 +00:00
Robert Osfield
d01d155ff9
Fixes for new beta release of VS.NET
2003-03-16 22:00:42 +00:00
Don BURNS
fa33244f92
1) Replaced all Makefile* with GNUmakefile*.
...
2) Changed Makedepend system to make individual dependency files, which
should save time rebuilding dependencies by limiting the regeneration
of dependency file for only modified source files.
2003-03-12 10:39:43 +00:00
Robert Osfield
e51c7f1587
Added support for AbortRendering flag pointer in osg::State which is used
...
by osgUtil::RenderLeaf to test if any abort state has been set, if so it
doesn't do any further drawing.
The osgProducer::Viewer has been set up to set the osg::State's it manages
with their AbortRendering flag pointers set to the osgProducer::Viewer::_done
memeber varaible. Now when escape is pressed the rendering is aborted early.
2003-03-11 15:25:49 +00:00
Robert Osfield
5c4bcd4aac
Moved the RenderLeaf implementatation across to always applying matrices
...
before state, which fixes problem that can occur with state that needs
the current model view or projection matrices.
Changes osgreflect so that it uses ClipNode rather than clip plane, thereby
fixing the problems which occur when the above is applied.
Create a new osgProducer version of the original GLUT based version.
2003-03-10 11:59:41 +00:00
Robert Osfield
efea365412
Moved the remain inline osg::Font methods into Font.cpp to avoid problems with the
...
impossibly stupid visual studio compilers.
2003-03-10 09:15:59 +00:00
Robert Osfield
b32c8c65f3
Added osg::Image::AllocationMode enum and associated set/get methods.
...
osg::Image::setImage has also been modified to require the AllocationMode
mode to be passed to it so that it knows how to delete the data once the
image goes out of scope.
Port the image plugins across to specify the new AllocationMode, and converted
them across to using new/delete in place of malloc/free.
2003-02-25 11:56:18 +00:00
Robert Osfield
8f1ba9d21b
Removed include/osg/Types header defining osg::ubyte, osg::ushort etc. Changed
...
any reference to these in the distribution across to using unsigned char,
unsigned short etc. This has been done to keep the OSG code more opaque
to what types are.
2003-02-12 19:20:47 +00:00
Robert Osfield
07f96583f5
Removed the osg::notify() calls from the RenderBin prototype construction to
...
avoid problems under OSX with construction/deletion of std::cout/cerr.
2003-02-10 16:48:53 +00:00
Robert Osfield
c2b4a05825
Minor fixes to ReaderWriter and Paragraph to help work with use of Doxygen.
...
Fix to CullVisior to handle the new no referenced counted cull and draw traversal.
2003-02-10 13:58:39 +00:00
Don BURNS
d4f7da7bb8
Right, em.... fixed eh.. problem with destruction of RenderBin prototype list
2003-02-05 23:13:27 +00:00
Robert Osfield
6439a719aa
Fixed CullVisitor::getDistanceFromEyePoint so that withLODScale is handled
...
correctly.
2003-01-29 17:24:54 +00:00
Robert Osfield
6c4f2f5207
Fixes for multipipe support.
...
Addition of FrameStatsHandler to osgproducer demo to add frame stats.
2003-01-29 17:16:26 +00:00
Robert Osfield
6d02ccfc58
Removed the inline declarations of several method implementations.
2003-01-24 16:57:28 +00:00
Robert Osfield
63303787fc
Changes to try and placate the Sun Forte compiler.
2003-01-24 12:39:18 +00:00
Robert Osfield
20ba1a4033
Fix for impostors bug where image insert were visible, this was down to a double
...
call to RenderStage::drawPreRenderStage(). The call to it in RenderStage inside
the draw() method has been removed, leaving on the call in SceneView.
2003-01-24 09:11:05 +00:00
Robert Osfield
f74f50161c
Changed the template insert(,,) method for a std::copy() implemention as it
...
seems that the Sun Forte compiler can't handle member templates!
2003-01-23 22:12:04 +00:00
Robert Osfield
f43d02f496
Added extra checks in the removal of rendundent nodes code so that description
...
fields etc are checked.
2003-01-23 15:12:58 +00:00
Robert Osfield
79eaabd961
Fixed typo of APPLY_MATICES_BEFORE_STATE.
2003-01-23 08:39:48 +00:00
Robert Osfield
6afedcc6d1
Updated version numbers to 0.9.3
2003-01-22 19:17:39 +00:00
Robert Osfield
329a8a1656
Fixed an Optimizer crash where if the top most node of a model was
...
a static transform it would crash when this root was deleted. Have fixed
by recognising this node as one not to remove and set it to identity instead.
2003-01-22 12:06:22 +00:00
Robert Osfield
48bda9cc79
Added new Copyright/License notice to header and source files.
2003-01-21 16:45:36 +00:00
Robert Osfield
0f69a4c3ae
Made the drawable::compile(State&) method const and the DisplayListVisitor to
...
compile even when dislay list is off. This has been done to allow subclasses
of Drawable handle their own compile implementation, such as used by text.
2003-01-20 20:40:06 +00:00
Robert Osfield
0bc11fcbf1
From Eric Sokolowsky, Fix for IRIX build, adding typename into the graph_array
...
to allow the compiler to leave instation of typedefs until required.
2003-01-18 09:44:12 +00:00
Robert Osfield
c406d2476f
Removed the osg::Referenced::createCount() and deleteCount() methods and
...
associated variables which were only compiled in on debug build. These optional
methods/static vars were causingproblems when mixing debug and release builds.
2003-01-17 14:11:34 +00:00
Robert Osfield
4dd273de70
Added support for ReferenceFrame into osg::LightSource, modified the .osg
...
plugin and cull visitor to account for this change.
2003-01-16 16:37:24 +00:00
Robert Osfield
0e6b3b68bd
Added #include <osg/Export> simply to include the #pragma's for disabling the
...
daft VisualStudio warnings.
2003-01-15 20:53:27 +00:00
Robert Osfield
7bf60026f7
Removed the -> methods from the arc class to prevent stupid warnings under
...
VisualStudio6.0.
2003-01-15 15:44:49 +00:00
Robert Osfield
ac718b6abb
Attempts to fix more of the *stupid* errors in the VisualStudio6.0 compiler.
2003-01-15 13:17:52 +00:00
Robert Osfield
d542a2165d
Removed the template versions of the PrimitiveSet constructors as this was
...
causing problem under VisualStudio6.0.
2003-01-15 11:29:30 +00:00
Robert Osfield
64efc8ecbb
Fix for win32.
2003-01-14 19:12:22 +00:00
Robert Osfield
a03fff8c57
Added an compile in option of applying the matrices before state in the RenderLeaf
...
apply method. This order is intended to help support of vertex programming, but
unfortunately breaks the osgreflect demo so the original ordering is kept by default.
2003-01-14 14:21:06 +00:00
Robert Osfield
edd04fd5a0
Fixed typo.
2003-01-14 12:36:14 +00:00
Robert Osfield
36857d6b2f
Replaced the NVTriStrip code with tri_stripper written by Tanguy Fautré.
2003-01-14 10:54:01 +00:00
Robert Osfield
f36bc69c58
Made the more of the OSG's referenced object desctructors protected to ensure
...
that they arn't created on the stack inappropriately.
Split the implemention of Matrix up so that it is a simple no referenced counted
class and can be safefly created on the stack. To support referenced counting a
seperate subclass now exists, this is RefMatrix which inherits from both Matrix and
Object.
2003-01-10 09:25:42 +00:00
Robert Osfield
e6b64a5550
Added support for sharing arrays in the .osg format for osg::Geometry.
...
Fixed the osgUtil::Optimizater so it takes into account sharing of arrays when
deciding whether an geometry can be merged or not.
2003-01-07 16:29:07 +00:00
Robert Osfield
adf5c91808
Renamed all instance of AppCallback/AppVisitor to UpdateCallback/UpdateVisitor
...
inline with the decision to rename the "app phase" the "update phase".
2002-12-19 15:55:40 +00:00
Robert Osfield
8f81cf2ac6
Moved TriangleFunctor from Drawable into its own header file.
2002-12-16 17:00:05 +00:00
Robert Osfield
00cc3a1833
Converted the instance of osgNew and osgDelete back to new and delete as part
...
of depecating the include/osg/MemoryManager
2002-12-16 13:40:58 +00:00
Don BURNS
22ada7ee6b
Uncommented fix for returning to non-stereo from stereo to get color mask
...
back to normal.
2002-12-16 00:33:48 +00:00
Don BURNS
b63827c5d9
Cleanin' up after Robert's spelling ...er ... challenges.
2002-12-07 06:59:08 +00:00
Robert Osfield
8b58a1df83
Added checking of parents against switch and sequence into the
...
RemoveRendundentNodeVisitor to prevent breaking of the orinal order of the nodes.
2002-12-06 11:16:45 +00:00
Robert Osfield
8e84722f90
Added LEFT_EYE and RIGHT_EYE stereo to osg::DisplaySettings/osgUtil::SceneView
...
Renamed LODBias to LODScale.
2002-11-12 10:22:38 +00:00
Robert Osfield
1f50138ec4
Added a getBound() to the SceneView::app() to make sure the bounding volume is
...
updated well before the cull traversal which can be multithreaded.
2002-11-11 09:01:54 +00:00
Robert Osfield
f42205a3ef
Updates version numbers to 0.9.2
2002-11-08 12:58:34 +00:00
Robert Osfield
9816a51bc7
Added GL_LIBS to the osgText/Makefile for OSX build.
...
Fixed typo in IntersectVisitor.
Fixed warnings in osgimpsotor demo.
2002-11-08 11:00:16 +00:00
Robert Osfield
1dad443898
Michael Gronage fix for aspect ratio in split stereo.
2002-11-01 14:16:58 +00:00
Robert Osfield
432654bde8
Added handled of invlid drawable bounding boxes.
2002-11-01 12:11:23 +00:00
Robert Osfield
75fb39adbd
Added a dirtyBound & diryDisplayList to the geometry merge operation in the
...
Optimizer to fix a bug where the bouding volumes where being invildated.
2002-10-31 15:24:17 +00:00
Robert Osfield
3be6ffd9c3
Changed the nameing of iterators to prevent clashes with VisualStudio's dumb
...
compiler.
2002-10-21 15:09:03 +00:00
Robert Osfield
e1b084749e
Renamed the RenderBin::sort_local to sortImplementation(),
...
draw_local to drawImplementation() and added a new RenderBin::DrawCallback().
Added osgcubemap to the Make/ test scripts.
2002-10-17 13:48:46 +00:00
Robert Osfield
ee8ded2a90
Fixed memory allocation.
2002-10-17 11:59:01 +00:00
Don BURNS
68427b98ae
Changed std::malloc to new in src/osgUtil/CubeMapGenerator.cpp
2002-10-15 19:10:05 +00:00
Don BURNS
90d2c3054f
Fixed cstdlib to stdlib.h for IRIX in src/osgUtil/CubeMapGeneragortor.cpp
2002-10-14 21:10:44 +00:00
Robert Osfield
bfd614f907
Fixed the names of the ControlPoint parameters so they weren't capitals, to avoid
...
the clash with the parameter type itself.
Addd a PER_PRIMTIIVE_SET handling to the existing PER_PRIMTIIVE code, this code
is still flacky though and needs a rewrite as it doens't handle all attributes or
the full consequences of per primitive and per primitive set bindings.
2002-10-10 14:58:44 +00:00
Robert Osfield
50652f389b
Added Macro's new cube map generation classes and osgcubemap demo.
2002-10-10 12:44:38 +00:00
Robert Osfield
16291da3b0
Fixes to smoothing visitor and tesselator to handle indexed Geometry.
2002-10-09 15:43:56 +00:00
Robert Osfield
c59fc9a2b7
Fixed a bug in the Optimizer where BIND_PER_PRIMITIVE_SET primitives where being eroneously merged.
...
Added missing support for reading geometry indices from the .osg format.
Added handling of geometry indices into the primitive functor in osg::Geometry.
Moved the method implementions of AnimationPathManipulator into src/osgGA and added extra convinience
methods for setting the manipulator with an hand built AnimationPath.
FCVS: VisualStudio/osgPlugins/iv/iv.dsp
2002-10-08 14:10:55 +00:00
Robert Osfield
b7372fb4cb
Added new osganimate demo which demonstrate the osg::AnimationPath in action.
...
Added extra parameters to the AnimationPath callbacks to allow finer control.
2002-10-07 19:51:11 +00:00
Robert Osfield
70861ef70e
Converted osg::LOD from used n+1 successive ranges to n min/max ranges,
...
one min/max pair per child. Converted the rest of the OSG to use the new
osg::LOD node.
2002-10-06 20:33:13 +00:00
Robert Osfield
0a5ed26940
Moved the new osg::IndexedGeometry class over the top of the the existing
...
osg::Geometry class, and removed the temporary IndexedGeometry. Port the rest
of the OSG across to account for the change in method calls -
osg::Geometry::addPrimitive(..) becomes osg::addPrimitiveSet(..)
2002-10-02 13:12:16 +00:00
Robert Osfield
5fd86440b3
Added support for per primitive bindings in osg::IndexedGeometry. Added a
...
convertToIndexedGeometry() method to GeoSet to allow datasets with per primitive
bindings to be be mapped to across to osg::IndexedGeometry for testing purposes.
2002-09-30 13:30:46 +00:00
Robert Osfield
55215651d7
Renamed osg::Primitive to osg::PrimitiveSet which better reflect what it
...
encapsulates.
Added new osg::IndexGeometry implemention, *not* complete yet.
Changed the rest of the OSG to handle the renaming og Primitive to PrimitiveSet.
2002-09-20 14:51:59 +00:00
Robert Osfield
68384e984b
Made the calls to the drawing of the pre rendering stages exclit, using
...
a seperate method in RenderStage and associated calls in sceneView.cpp.
This fixes problems when doing stereo and prerender at the same time.
2002-09-19 09:52:50 +00:00
Robert Osfield
f6cb09c601
Fixed copy constructor so that the _stage member variable was set to this
...
correctly.
2002-09-19 09:05:50 +00:00
Robert Osfield
f11410928f
Simplified the depth calculation code in CullVisitor so that it always computes
...
the depth of all drawables, so that it is always safe for RenderBin sort routines can use
these values directly.
Add an example of a RenderBin::SortCallback to sgv.cpp.
2002-09-18 14:57:01 +00:00
Robert Osfield
ed43d97ed3
Improved the sort callback support in osgUtil::RenderBin, and removed the
...
now rendundent DepthSortedBin class.
2002-09-17 15:47:23 +00:00
Robert Osfield
f006d081e5
Commented out the call to combine LOD's in the optimizer as it was causing
...
problems in some flt datasets.
2002-09-16 10:55:09 +00:00
Robert Osfield
bb0022175b
Added new buffered_value template class which encapsulates a std::vector but
...
initializes the array to the number of graphics contexts, and automatically
expands the array when indices outside the current size are required.
Added new osg::Texture::Extensions nested class to handle extensions on a per
context basis.
2002-09-05 11:42:55 +00:00
Robert Osfield
f574d0dd68
Added support for setting the fusion distance directly in SceneView, defaults
...
to the original behavior of using the values from the Camera if attached.
2002-09-04 10:49:17 +00:00
Don BURNS
d5f87e919d
Added setting colormask to SceneView on every frame to allow toggling
...
between stereo on and off in Anaglyphic mode.
2002-09-04 01:15:07 +00:00
Robert Osfield
1ad924d0ca
Fixes to the LWO to better handle 3 and 4 vertex polygons.
...
Added an extra pass into the Optimizer's merging of geometry primitives so
it convertex 3 and 4 vertex polygons into triangles and quads respectively.
2002-09-03 20:12:29 +00:00
Robert Osfield
5c1787535c
Removed the temporary commenting out of the Optimizer, which was done for
...
debugging purposes.
2002-09-03 14:42:19 +00:00
Robert Osfield
0cb75d42e0
Fixed LWO2 ReaderWriter problem which was down to an the compiler reodering
...
the evaluation of a Vec3 paramter.
2002-09-03 13:04:53 +00:00
Robert Osfield
12226e4371
Converted the instances of const built in types being returned from methods
...
and passed as paramters into straight forward non const built in types,
i.e. const bool foogbar(const int) becomes bool foobar(int).
2002-09-02 12:31:35 +00:00
Robert Osfield
c6965357e6
Renamed osg::Statistics::addOpaque to addDrawable to better reflect its current
...
function.
2002-08-30 19:45:56 +00:00
Robert Osfield
a68d95d2f6
Updates to windows build docs.
...
Merge fixes for OSX from bob.
Added checking for impostor sprites into stats.
2002-08-30 16:17:41 +00:00
Robert Osfield
b1f69a9b11
Fixed the flatten static transform visitor.
2002-08-30 15:07:10 +00:00
Don BURNS
2b10b4c3df
Fixed 69 occurance of 'Seperate' misspelling (should be 'Separate')
2002-08-29 03:22:27 +00:00
Robert Osfield
df5c8f789a
Updated the version numbers to reflect the upcomming release 0.9.1.
2002-08-28 18:49:27 +00:00
Robert Osfield
8353fc0ed6
Removed deprecated code from the distribution.
...
Added .osg support for Texture1D and Texture3D.
2002-08-28 15:28:11 +00:00
Robert Osfield
4ddfd8668e
Removed #ifdef hacks to remove optimization with VS6.0's STL. VS6.0 STL is
...
now no longer supported!
2002-08-26 19:35:43 +00:00
Robert Osfield
8e75f531e3
Converted code dependant on osg::Texture across to its replacement osg::Texture2D.
2002-08-25 15:31:44 +00:00
Robert Osfield
239068f223
Added new osg::TextureBase, osg::Texture1D, osg::Texture2D, and osg::Texture3D
...
classes, and changed osg::Texture and osg::TextureCubeMap so that they now derive
from osg::TextureBase.
2002-08-24 19:39:39 +00:00
Robert Osfield
c45c3d3255
Added calling of the LightSource and ClipNode as Group by the NodeVisitor and
...
fixed the CullVisitor and Optimizer to take account of this.
2002-08-22 09:19:41 +00:00
Robert Osfield
b23a48a763
Renamed the osg::EarthSky to osg::ClearNode to make it more obvious what
...
role it has play and make it more relevant to non vis-sim applications.
2002-08-19 11:42:37 +00:00
Robert Osfield
7c049360ff
Made improvements to osg::AnimationPath, added
...
osg::PositionAttitudeTransform::AnimationPathCallback which us an app callback
which uses an AnimationPath to specify the new positions of the transform.
Added AnimationPath code to osglight to animate the positional light.
Added CullVisitor::setCullingMode() code into SceneView so that SceneView's
CullingMode is now properly passed onto CullVisitor. Note, this work
had been done before, but must has been lost in a merge. Umm...
2002-08-13 13:22:46 +00:00
Robert Osfield
983da4fb9c
Fixed uninitialized _sortMode.
2002-08-13 09:35:06 +00:00
Robert Osfield
7010c1c4f8
Removed dependency of the new osg::DOFTransform and osg::Sequence Node's
...
on osgUtil by implementing a NodeVisitor::VisitorType enum, and associated
g/setVisitorType. This allows callbacks to querry the visitor/traversal
type without doing down cast's to specific visitor subclasses such as
osgUtil::AppVisitor/CullVisitor.
2002-08-11 21:26:58 +00:00
Robert Osfield
19eaf17632
Temporarily commented out the flat staic transforms visitor since it
...
was causing problems with the new DOFTransform class.
2002-08-11 10:32:20 +00:00
Robert Osfield
b9b013e15b
Changed the support for anisotropic filtering in osg::Texture so that it
...
is now controlled via the setMaxAnisotropy(float) method, and is set up
independently for the mag filter mode, which it previously was done.
2002-08-07 15:52:24 +00:00
Robert Osfield
e01f9eb891
Added shells for DOFTransform and PositionAttitudeTransform to the .osg
...
loader, still need to fill in the saving and loading of paramters.
Went through the distribution remove old API usage.
2002-08-06 17:07:05 +00:00
Robert Osfield
1ba901cf64
Added support for a sort callback in RenderBin.
2002-08-03 16:49:42 +00:00
Robert Osfield
b89f3fa9b1
Added cout's of the view frustum to the aid debugging, these cout's are
...
now commented out, and are just left in so that they may be used to
double check things in future.
2002-08-03 16:37:13 +00:00
Robert Osfield
e1a6a18036
Added missing _nodePath.clear() and _segHitList.clear() to InteresectVisitor::reset().
2002-08-02 15:14:59 +00:00
Robert Osfield
0977e68727
Fixes to NodeCallback and RenderBin from Alberto Barbati.
2002-07-28 12:49:01 +00:00
Robert Osfield
95bdcfc3f6
Fixes to Doxygen files from Neil.
...
Removed unused set/getReportMode() methods and member variables from IntersectVisitor.
Added deep copy construction of Geometry objects.
2002-07-25 21:50:08 +00:00
Robert Osfield
7a4c43c06e
Changed > operator to < and swapped sides of expression, to enable compilation
...
across compilers.
2002-07-25 21:45:46 +00:00
Robert Osfield
cb1e1183c7
Fix to geometry combiner which wasn't check the overall color array values
...
in the lessGeometry functor.
2002-07-25 16:15:01 +00:00
Robert Osfield
b23aea5173
Futher work on ensuring that all datatypes are initilizaed in OSG objects.
2002-07-21 10:04:33 +00:00
Robert Osfield
389dd8adbb
Futher changes to remove unitialized variables/reordering of initialization to
...
prevent unitialized warnings.
2002-07-21 01:29:11 +00:00
Robert Osfield
48b3be40e9
Various fixes to constructors to ensure that all variables are initialized.
2002-07-20 23:54:55 +00:00
Robert Osfield
745478e193
Fixed the glTessCallback type to GLU_TESS_ERROR_DATA.
2002-07-20 15:00:47 +00:00
Robert Osfield
1264bd5869
Removed debugging cout's.
2002-07-19 15:03:23 +00:00
Robert Osfield
d8d0ac60a7
Added primitve merging into the osg::Geometry optimizer.
2002-07-19 13:49:54 +00:00
Robert Osfield
ff8b4c001d
Rewrote the osg::Drawable::AttributeFunctor and PrimtiveFunctor to make
...
them more consistent with each other. This does mean an API change, so
dependanct code in the OSG has been updated accordingly.
2002-07-18 15:36:14 +00:00
Robert Osfield
8036901ea1
Rewrote osg:Statistics so that it is PrimitiveFunctor as is now completely
...
decoupled from osg::Drawable. The Drawable::getStats() virtual method
no longer exists.
Updated the Viewer to use the osg::Statistics incarnation and reformated stats
to clean it up.
2002-07-18 14:20:01 +00:00
Robert Osfield
a7c365c396
Fixed warnings.
2002-07-18 10:06:21 +00:00
Robert Osfield
1a139efbbc
Added const to LessGeometry functor to fix Win32 build.
2002-07-18 09:17:50 +00:00
Robert Osfield
09bdb10af5
Various fixes to the flt loader, and knock on changes to the osgUtil::Optimizer
...
to better support removal of seperate osg::Geometry instances where they
share the same state and bindings.
2002-07-18 00:53:03 +00:00
Robert Osfield
8c0d510571
Several items of work related to adding a manual creation of occluders
...
option to the osgoccluder demo.
First the osgGA classes have been generalised a little to better support
new GUIEventHandler subclasses.
Second osgGLUT has a new option for registering a user defined event handler,
the allows the application to add externally extra options to the osgGLUT viewer.
Third, the osgoccluder demo now works in two modes. The original create
four occluder sides to wrap an loaded model, the second an interactive
mode which allows the users to add occluders to the model by pointing
to points and pressing 'a' to add a point, the 'e' to end the occluder
polygon, polygons must be convex, planer and be defined in an anitclockwise
order. To start the osgoccluder in this mode one simple runs it with the
'-c' option. Run osgoccluder with no parameter to get a list of options.
2002-07-17 10:00:50 +00:00
Robert Osfield
76d1775487
Bumped up the version numbers to 0.9.0 to reflect the upcomming release.
2002-07-16 15:43:20 +00:00
Robert Osfield
f3d74525fa
Rewrote the apply_imp template method so that it takes an initialization
...
paramater.
2002-07-16 15:28:25 +00:00
Robert Osfield
8a14aa29cd
Added support to osgUtil::Tesselator to insert extra vertices and other
...
attributes into an osg::Geometry node. Uses the new osg::ArrayVisitor.
Converted the osg plugin Geometry support to use the new UByte4 class.
2002-07-15 22:23:57 +00:00
Robert Osfield
9c56a57de3
Fixed the orientation of the osgreflect demo so that the reflection plane
...
is orientated towards the viewer.
Changed the lightmodel ambient level to 0.1,0.1,0.1 instead of 0.0, so that
a small amount of ambient lighting is available to render back surfaces.
The osgreflect and osgprerender suffered unexpected behaviors because of
no lighting on the backfaces.
2002-07-15 13:20:41 +00:00
Robert Osfield
f32245ba5b
Fixed computeNearFar bug in CullVisitor::apply(Billboard&).
2002-07-14 16:26:03 +00:00
Robert Osfield
4895b22da1
Fixed various warnings which were appearing under MacOSX.
2002-07-13 21:17:40 +00:00
Robert Osfield
6f392cdbfa
Ported distribution across to use the new osg::MatrixTransform and osg::BlendFunc
...
class instead of osg::Transform and osg::Transparancy respectively.
2002-07-12 18:12:01 +00:00
Robert Osfield
00470acb61
Fix, sent in by Macro Jez, to the set of the camera with the computed near and far plane, so that
...
it is only updated when _computeNearFar != CullVisitor::DO_NOT_COMPUTE_NEAR_FAR.
2002-07-12 13:00:09 +00:00
Robert Osfield
c4c97a0f64
Moved the code referencing osg::BoundingBox::isValid() and
...
osg::BoundingSphere::isValid() across to use the valid() methods, the later
being more consitent with other classes such as osg::ref_ptr<>.
2002-07-11 14:32:21 +00:00
Robert Osfield
c1fc3dcdb9
Ported all the demos and loaders across to use the new multitexturing API.
2002-07-10 11:22:24 +00:00
Robert Osfield
0c943945f7
Implemented most of the changes required for supporting multitexturing in
...
the osg::State/osg::StateSet/osg::StateAttribute and related classes.
2002-07-09 09:35:42 +00:00
Robert Osfield
0801b363f5
Work on supporting multitexturing in State/StateSet/StateAttribute/Geoemtry.
2002-07-07 14:40:41 +00:00
Robert Osfield
3700e7e2cd
Reimplemted the osgUtil::SceneView::setCalcNearFar() functionality to bring
...
it inline with the CullStack/CullVisitor implementation. Also added the
setSmallFeatureCullingPixelSize() method and wired them up inside
SceneView.cpp so they set the corresponding CullVisitor paramters.
Intergrated pfImage copying change in the Performer plugin, submission sent in by Ulrich Hertlein
2002-07-02 19:53:18 +00:00
Don BURNS
d2aa4270ce
Added support for CullVisitor to contain a osg::State. This used when
...
cull Callbacks require the contextID for doing operations on texture
objects, for example. Modified CullVisitor SceneView and Drawable
2002-07-02 06:22:28 +00:00
Robert Osfield
48e7679e78
Rewrote the osgUtil::Tesselator so that it is easier to use, and can also
...
easily retesselate osg::Primitive::POLYGONS found in Geometry objects.
Added calls to the tesselate to the lwo and flt loaders.
2002-06-28 22:42:02 +00:00
Robert Osfield
40fefcf335
Ported various demos and support classes over to use the new osg::Geometry class
...
thus removing dependancy on osg::Geoset from most of the OSG, only loaders
left to port now.
2002-06-26 10:28:17 +00:00
Robert Osfield
cbeeeefdab
Added osg::Drawable::PrimitiveFunctor and TriangleFunctor subclass for
...
querrying the primitive data inside Drawables. Moved various support
classes over from being osg::GeoSet based to osg::Geometry based.
2002-06-25 20:27:51 +00:00
Robert Osfield
cbb95d0445
Checked in .osg support for the new osg::Geometry class.
2002-06-24 21:37:34 +00:00
Robert Osfield
d174f60f8c
Added required std:: to front of endl to fix Win32 build.
2002-06-24 12:53:27 +00:00
Robert Osfield
f2e215bf44
Added conversion to osg::GeoSet::converToGeometry() utility to help the
...
migration to and testing of the new osg::Geometry class.
2002-06-23 21:43:46 +00:00
Robert Osfield
21beb236d2
Added support for occlusion of holes in occluders, and cleaned up the
...
interface to ShadowVolumeOccluders.
2002-06-19 10:19:10 +00:00
Robert Osfield
b3c26d5634
Changed the osg::LightSource so its Light attribute is now generalised to
...
be a StateAttribute. This allows alternative implementations of Lights
other than the standard osg::Light.
2002-06-19 08:34:19 +00:00
Robert Osfield
5e85cd59ab
Added support for occluders occluding other occluders, which helps reduce
...
the number of occluder that will be used in cull traversal to only the
ones that will be effective. Note. Holes in occluders arn't handled in
this occluder occlusion test, will implement this later.
2002-06-18 22:35:48 +00:00
Robert Osfield
27412c27c9
Fixes to the occluder culling code to properly disable occluders to prevent
...
self occlusion.
2002-06-17 09:10:26 +00:00
Robert Osfield
d7760fbbd4
Further updates to the occlusion culling code, also adding missing OccludeNode
...
file the .osg plugin.
2002-06-14 08:45:28 +00:00
Robert Osfield
61df1ed6b7
Further work on occlusion culling.
2002-06-13 23:46:02 +00:00
Robert Osfield
0ebe473eb5
Further work on Occlusion Culling. Most of work is complete, just debugging
...
required now.
2002-06-13 16:21:00 +00:00
Robert Osfield
fa13d948b5
A little more work on Occlusion culling.
2002-06-11 19:52:55 +00:00
Robert Osfield
247cb3ff7e
Checked in Macro Jez's additions to osgText to support .osg IO make it
...
a fully functioning NodeKit.
Also reimplement notify() to try an prevent a crash which has been caused by
to objects in notify.cpp being initiliazed twice, the second time the auto_ptr
holding the dev/null ofstream was being initilized to 0.
2002-06-11 18:41:57 +00:00
Robert Osfield
e1ba8a6292
Added osg::CollectOccludersVisitor which is a helper class for finding active
...
occluder in the view frustum, to be used as pre cull traversal.
2002-06-10 13:50:25 +00:00
Robert Osfield
348419219d
Created new helper class osg::CullStack to handle the accumulation of projection,
...
modelview and culling sets, to be used during travesal of the scene graph, such
as the cull traversal.
2002-06-10 11:21:21 +00:00
Robert Osfield
d91b848a63
Checked in migration from osgUtil based GUIAdapter code to Neil Salter's
...
osgGA (Gui Abstraction). This may break users code, but all it should
require to fix the builds should be a change from
osgUtil::CameraManipulator (etc) to osgGA::CameraManipulator and
include <osgUtil/CameraManipulator (etc) to osgGA/CameraManipulator and
the extra dependency of the link line.
2002-06-09 13:10:09 +00:00
Robert Osfield
0a8d0a255f
More more occlusion culling.
2002-06-08 19:58:05 +00:00
Robert Osfield
96a6b3c5c6
Added default IntersectVisitor::_hitReportingMode to be ONLY_NEAREST_HIT.
2002-06-07 13:57:20 +00:00
Robert Osfield
5feba17410
Added new osg::OccluderNode which subclasses from osg::Group, and will
...
provide hooks for adding ConvexPlanerOccluders to the scene.
2002-06-05 09:39:04 +00:00
Robert Osfield
4d2dbdafac
Futher refinement of the new CullingSet support.
2002-06-04 15:56:41 +00:00
Robert Osfield
f67be7c07f
Further work on moving culling functionality from CullVisitor into CullingSet,
...
in preperation for occlusion culling.
2002-06-04 15:21:24 +00:00
Robert Osfield
0732701e9d
Fix to CullVisitor::popCullingSet().
2002-06-03 18:38:40 +00:00
Robert Osfield
db78726acf
Updates to shadow occlusion culling code.
2002-06-03 17:49:28 +00:00
Robert Osfield
3f84849210
Additions for the support for ConvexPlaneOccluder. Work still underway.
2002-06-03 15:39:41 +00:00
Robert Osfield
165cc1bf42
Changed the method of expanding of the near and far planes in
...
CullVisitor::popProjectionMatrix so that it better handled models of zero
thickness orthogonal to the viewing direction.
2002-05-28 11:39:51 +00:00
Robert Osfield
02fc6ad5f8
Various updates to operations related to cull traversal.
2002-05-28 10:24:43 +00:00
Robert Osfield
09121a1583
Fixed a bug in the Optimizer::RemoveDuplicateNodesVisitor which was prevent
...
removal of node which could have been removed.
Added so extra convinience methods to ClippingVolume and utilized them in the
CullVisitor to push and pop only culling planes that are active.
2002-05-23 15:35:12 +00:00
Robert Osfield
553db68bc4
Added osgUtil::CullVisitor::getCurentRenderGraph() and getRootRenderGraph()
...
methods which replace getRenderGraph(). Small changing of order of push/pop
of StateSet's in SceneView to clean things up.
2002-05-22 12:01:12 +00:00
Robert Osfield
00f91631c2
Various API updates to suppor light points developments better, but should also
...
benifit other extensions to rendering.
2002-05-18 08:39:42 +00:00
Robert Osfield
e66372a137
Fixed problem with orhographic projections due to a bug in CullVisitor
...
where it automatically resets the near and far to the values calculated
during cull traversal. The maths for converting the computed far and near
into clip coordinates was wrong, fixed this and the problem goes away.
2002-05-15 19:58:04 +00:00
Robert Osfield
806efcd0d4
Exposed the CullVisitor::setComputeNearFarMode
2002-05-15 11:27:47 +00:00
Robert Osfield
d140decb44
Added pixelSize method to CullVisitor, and converted small feature
...
culling to use the pixelSize method instead of a ratio of radius to
distance from eye point. setSmallFeatureCullingPixelSize() method
has also been added to provide the user with finer control of small
featyre culling.
2002-05-09 18:59:19 +00:00
Robert Osfield
cf4a3500ec
Added new osgGA - GUI Adapter library submitted by Neil Salter. This will
...
replace the current GUI adapter code inside osgUtil.
2002-05-09 10:31:03 +00:00
Robert Osfield
ae8076f83b
dded osg::ClipNode class for managing OpenGL clipping planes, and osgclip demo.
2002-05-02 00:14:40 +00:00
Robert Osfield
06dc1a38df
Fix for CisualStudio6.0 build.
2002-04-26 12:06:19 +00:00
Robert Osfield
26d34ed6d6
Qarning fixes, and updated the date in NEWS to reflect todays release of 0.8.45
2002-04-26 08:16:14 +00:00
Robert Osfield
f0e7e8e48b
Removed CullViewState from the distribution, moved CullViewState::CullingMode
...
into CullVisitor, and then removed all references to CullViewState from other
parts of the scene graph.
2002-04-24 20:24:10 +00:00
Robert Osfield
56dc083330
Added support for compute the near and far planes and then applying to
...
the current projection matrix into CullVisitor itself. Similar code to
support this has been moved out of SceneView completely.
Added Matrix:: infront of the definition of the static
osg::Matrix::inverse(Matrix) method which was missing.
2002-04-22 14:54:39 +00:00
Robert Osfield
f515d67f4f
Cleaned up the handling of the Viewport with osg::SceneView/RenderStage
...
and CullVisitor so that the Viewport is now managed as part as the global
stateset so that it can be pushed and popped like the rest of state without
problems. This makes it easier to have multiple viewports within one
scene graph.
2002-04-22 09:37:17 +00:00
Robert Osfield
9574ce97d2
Updated TODO list.
...
Converted AnimationPath so it is now subclassed from osg::Transform::ComputeTransfromCallback()
so that it can be directly attached to the scene to move objects about.
Changed the osg::SateSet::setGlobalDefaults() so that is sets GL_DEPTH_TEST
to ON.
Added guards and creation of default helper classes in osgGLUT::Viewer and
osgUtil::SceneView so that sensible defaults are used when no settings
are used of osg::State/StateSet,osgUtil::RenderStage/RenderGraph/CullVisitor.
2002-04-21 22:05:26 +00:00
Robert Osfield
3d3534dda9
Updated Versions, and NEWS file to reflect impending release of 0.8.45.
2002-04-21 10:11:03 +00:00
Don BURNS
33b4a4cb5f
Fixed small typo in src/osgUtil/RenderStage.cpp
2002-04-19 15:02:34 +00:00
Don BURNS
c6254d5f87
Fixed small typo in SceneView::setDefaults().
2002-04-18 23:30:06 +00:00
Robert Osfield
7504312839
Added a gset->computeNumVertices() which was missing, this was causing models
...
to disappear after application of tri stripping.
2002-04-17 11:29:49 +00:00
Robert Osfield
e17261c45f
Changed the osg::Billboard comution so that it get passed in the current
...
modelview matrix rathan than an identity matrix, this matrix is then modified
locally.
Changed the osg::Matrix set methods so they are inline.
Added a few useful comments to MemoryManager.cpp to help people understand
the assert's better.
2002-04-17 09:48:19 +00:00
Robert Osfield
5deafbda24
Added clearing of seperation band between horizontal/vertical split stereo
...
areas.
2002-04-16 15:31:46 +00:00
Robert Osfield
f8340f9ef5
Removed the cached matrices from osg::Camera, so that
...
osg::Camrea::getModelViewMatrix() and osg::Camera::getProjectionMatrix() are
calculated on the fly. Removed various redudent methods, including the
project and unproject methods which are better supported within osgUtil::SceneView.
Added a computeWindowMatrix() method to Viewport, to make it easier to construct
a MV*P*W matrix for converting local coords into screen coords and visa versa.
Converted SceneView and CullVisitor to use this new method.
2002-04-16 11:41:32 +00:00
Robert Osfield
bbef7164db
Added CullCallbacks to osg::Node, and osgUtil::CullVisitor.
2002-04-15 13:15:48 +00:00
Robert Osfield
1c4de0e1d2
Fixed display problem with the HUD in osgtext which was caused by the
...
new mods to SceneView not honouring the z near/far calculation flag.
2002-04-15 08:09:02 +00:00
Robert Osfield
c43607c14d
Added support for specificing the eye mapping and seperation between the
...
horizontal and veritical split stereo modes.
Renamed osg::Image::ensureDimensionArePowerOfTwo() to osg::Image::ensureValidSizeForTexturing().
2002-04-14 22:21:59 +00:00
Robert Osfield
e71b92dbcc
Fix for crash in SceneView introduced when ungarded use of _dispalySettings
...
pointer was added, a if (valid) guard has been added to solve the problem.
2002-04-14 12:53:36 +00:00
Robert Osfield
341ffb2361
Further work on cleaning up SceneView and Camera, in particular moving strereo
...
support out of Camera and into SceneView. Also enabled the option to set the
projection and modelview matrices directly on SceneView thereby removing the
dependance on osg::Camrea to control the view of the scene.
2002-04-12 18:06:13 +00:00
Don BURNS
14b4b7f98c
Solaris PKG distribution now makes a shar (self-extracting shell archived)
...
changed makepgk to do this.
Changed another one of those pesky cout = std::cout in CullVisitor.cpp
2002-04-12 06:18:41 +00:00
Robert Osfield
6ed233d0d2
Added DataVariance enum and set/get fields to osg::Object to help identify
...
which objects have values that vary over the lifetime of the object (DYNAMIC)
and ones that do not vary (STATIC). Removed the equivalent code in
osg::Transform, StateSet and StateAttribute, as these are now encompassed
by the new DataVariance field.
Removed MatrixMode enum from Matrix, and associated fields/parameters from
osg::Transfrom and osg::NodeVisitor, since MatrixMode was not providing
any useful functionality, but made the interface more complex (MatrixMode
was an experimental API)
Added ReferenceFrame field to osg::Transform which allows users to specify
transforms that are relative to their parents (the default, and previous behavior)
or absolute reference frame, which can be used for HUD's, camera relative
light sources etc etc. Note, the view frustum culling for absolute Transform
are disabled, and all their parents up to the root are also automatically
have view frustum culling disabled. However, once passed an absolute Transform
node culling will return to its default state of on, so you can still cull
underneath an absolute transform, its only the culling above which is disabled.
2002-04-11 23:20:23 +00:00
Don BURNS
08522bd7db
Backed out bad addition of NewCUllVisitor
2002-04-11 16:05:38 +00:00
Don BURNS
ad95c4b9f6
Somehow, cvs forgot to check in a modified Makefile with NewCullVisitor added
...
to it... Hm.. anyway this fixes it.
2002-04-11 15:54:49 +00:00
Robert Osfield
e037c79917
Fixed refrences to NewCullVisitor which has now been mapped onto CullVisitor.
2002-04-11 08:24:55 +00:00
Robert Osfield
f2ffbdd469
Copied NewCullVisitor over top of CullVisitor and then removed NewCullVisitor.
...
Added some defines to Image in prep for writing code to determine how big a
pixel is.
2002-04-10 22:10:07 +00:00
Robert Osfield
360247225e
Added new osg::DrawPixels class with encapsulates glDrawPixels as and
...
osg::Drawable. Added osg::Image::readPixels to osg::Image.
Made osg::LightSource to default to cullActive set to false to that LightSource
nodes don't get culled by default.
2002-04-10 21:51:34 +00:00
Robert Osfield
6f65e86057
Further work on removing Camera references from NewCullVisitor and releted
...
classes, this work paves the way for making osg::Camera an optional
extra rather than a requirement for rendering.
2002-04-09 16:09:19 +00:00
Robert Osfield
1b73f9579e
Updates to Makefile to reflect recent .cpp additions such as TextureCubeMap,
...
MemoryManager etc.
2002-04-06 09:24:51 +00:00
Don BURNS
e0adca775b
Reinstated Norman Vine's TARGET_BASENAME variable in the makefiles and
...
added prefixes and suffixes to libs and plugins. ALl this to accomodate
cygwin...
Also added INST_SYS_PREFIX and INST_SHARE_PREFIX for installation, as well
as "standardizing" the install locations for the various platforms.
2002-04-03 17:42:12 +00:00
Don BURNS
3e6638320a
The new order for building OSG. All Makefiles are replaced and
...
the Make directory is left with four files only :
makedefs
makerules
makedirrules
instrules
These work for all platforms supported so far, which include :
Linux
Irix
Solaris
MacOSX
Cygwin
FreeBSD
2002-04-02 06:44:57 +00:00
Robert Osfield
3351306d80
Added new osg::Projection node, and osgUtil::NewCullVisitor which are work
...
in progress for the new support for controlling the projection matrix from
within the scene graph.
Also Added osg::State::getClippingVolume(), getProjectionMatrix() and
getModelViewMatrix() with allows drawables to access the current projection,
and model view matrices and the view frustum in local coords to the drawable.
2002-03-31 16:40:44 +00:00
Robert Osfield
56cee8c711
Move the applying of Projection and ModelView matrices into osg::State so that
...
it now maintains references to the last applied matrices, automatically doing
lazy state updating. This simplifies the various places in the OSG which
were previously doing the applying, add paves the way for managing the
projection matrix within the scene graph.
Remove MemoryAdapter and mem_ptr as they arn't being used, and can potentially
confuse users by their existance.
2002-03-29 17:26:40 +00:00
Robert Osfield
34c05db393
Fixes for IRIX build.
2002-03-28 23:06:20 +00:00
Robert Osfield
77ae5ddcb6
Updates to various files, replacing delete calls with osgDelete so that
...
greater debugging info can be gleaned.
2002-03-27 14:56:47 +00:00
Robert Osfield
7927335edf
Added support for VERTICAL_SPILT and HORIZONTAL_SPLIT stereo modes.
2002-03-27 10:52:40 +00:00
Robert Osfield
84d2d01163
Added support for osg::MemoryManager which is based upon Paul Nettle's
...
memory manager published at flipcode.com. This can be turned on
with the OSG_USE_MEMORY_MANGER option which then uses custom global
new and delete operators as well as provide osgNew and osgDelete macro's
which add ability to log line and file from which calls are made.
Updated osg,osgUtil,osgDB,osgText and osgPlugins/osg to use osgNew/osgDelete,
and fixed memory leaks highlighted by the new memory manager.
2002-03-26 23:52:52 +00:00
Robert Osfield
b53b3038eb
_cullMaskRight was not being initialized in the constructor which was
...
resulting in some sporadic problems when running stereo - occoasionally the
right eye view wouldn't appear!
2002-03-21 11:57:16 +00:00
Robert Osfield
8c9609b331
Added the fallback of intersecting with the a drawables bounding box, if the drawable
...
isn't a GeoSet and hence supported by the IntersectVisitor's GeoSet primitive
intersections code.
2002-03-20 11:22:06 +00:00
Robert Osfield
49e7be88a7
Fixed the MS version number check in Optiizer.cpp. Fixes to memory handling
...
in ReaderWriterDW.cpp. Submissions from Geoff Michel.
2002-03-18 22:03:28 +00:00
Robert Osfield
c49c62ee15
Integrated various changes worked on at the Glasgow Science Center. Changes
...
include change the CameraManipulators so they work with double for time
instead of float. Also added support for DataType to osg::StateAttribute
and StateSet so that they can be set to either STATIC or DYNAMIC, this
allows the optimizer to know whether that an attribute can be optimized
or not.
2002-03-14 17:34:08 +00:00
Robert Osfield
e80496d5db
Changed Texture so that is use lazy updating on texture paramters (Filter/Wrap)
...
mode by using a _texParamtersDirty flag in combination with an
applyTexParamters(State&) method which does the paramters setting in one
tidy bundle. This new implementations replaces the CompileFlags submitted
yesterday.
Simplified NodeCallback by remove osg::NodeCallback::Requirements as they
are no longer needed.
Fixed comments in Drawable.
Put guards around cosf definations so that they are only used under Win32/Mac.
Fixed warning in CullVisitor.
2002-03-14 16:01:21 +00:00
Don BURNS
d0ee300405
Fixed DrawCallback in Drawable and added CullCallback to Drawable
...
Cull Visitor now checks for a Drawable's CullCallback and calls it
if it exists. It then prunes based on the return value (bool) of the
cull callback.
2002-03-13 22:44:22 +00:00
Robert Osfield
a6aa57a255
Added support for seperate traversal masks for standard, left and right
...
cull traversals. This allows one to create seperate rendering for left
and right eyes when doing stereo.
2002-03-03 22:31:46 +00:00
Robert Osfield
b13f7fecf6
Added getInverse implementation to AnimationPath, and added #if guard
...
to Optimizer.cpp to all compilation on state optimizer when using VS7.
2002-03-01 09:29:56 +00:00
Robert Osfield
c726abd773
Integrated fixes to the detailed depth calculation in the CullVisitor from
...
Sasa, and fix to the IntersectVisitor's management of path from Sean.
2002-02-24 16:49:23 +00:00