Commit Graph

293 Commits

Author SHA1 Message Date
Robert Osfield
345810ef22 Added support for float or double osg::Plane, and the default osg::Plane to double.
Performance tests on big models did not indicate any performance penalty in using doubles over floats,
so the move to doubles should mainly impact precision improvements for whole earth databases.

Also made improvements to osgUtil::PlaneIntersector and osgSim::ElevationSlice classes
2006-11-28 16:00:52 +00:00
Robert Osfield
05bffbe9c4 Added beginnings of osgUtil::PlaneIntersector and osgSim::ElevationSlice 2006-11-27 20:25:36 +00:00
Robert Osfield
fd2ffeb310 Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.
Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files.
2006-11-27 14:52:07 +00:00
Robert Osfield
a253e17d3e Implemented HeightAboveTerrain and added usage into osgintersection 2006-10-31 12:59:51 +00:00
Robert Osfield
e9b501002c Added LineOfSight and HeightAboveTerrain classes 2006-10-31 08:41:24 +00:00
Robert Osfield
16c238fc60 Added osgSim::LineOfSight and osgSim::HeightAboveTerrain classes 2006-10-30 20:29:06 +00:00
Robert Osfield
baeb41a416 From Michael Henheffer, "There's a problem with OverlayNodes where the texture will not display
if continuous updating is set to false.

The problem was being caused by the camera update call never being made
if continuous updating was not set to true.  This fix adds a flag that
is set when dirtyOverlayTexture() is called and checked in the update
visitor section of the traversal to determine if the camera should be
updated.

I tested the fix by making some changes to the osgAnimate example
program so it has continuous updating off and calls dirtyOverlayTexture
for each frame.  The overlay texture now displays properly."
2006-10-30 12:19:41 +00:00
Robert Osfield
87a221445e Updated version numbers of the up comming 1.2 release 2006-08-31 20:54:28 +00:00
Robert Osfield
25a91d97f0 From Chuck Sembroski, fixes for IRIX 2006-08-13 07:37:55 +00:00
Robert Osfield
132f9ead45 Updated version number for 1.1.1 release 2006-08-12 08:29:16 +00:00
Robert Osfield
cdaca0ebdf Fixed crash due on multipipe systems due by moving the local camera update code from the cull into the update traversal. 2006-08-02 11:36:13 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
df2d0e1ceb Removed explict definition of osgUtil::Optimizer::StateVisitor to attempt
to get round VS 6.0 cruddiness.
2006-07-06 14:50:38 +00:00
Robert Osfield
88609a5eee Updated version numbers for 1.1 release 2006-07-06 10:28:12 +00:00
Robert Osfield
e8a3444b88 From Brede Johansen,
"The attached file corrects two small typos in MultiSwitch.cpp.  The
local "values" reference and the "_values" member attribute are of
different types but both are vectors so the size() operator happily
compiles.  A renaming of _values to _masks or similar may be a more
future proof solution but the submission only removes the underscore
in two places.

The switch_1701.flt model part of the Creator gallery revealed this bug."
2006-07-04 13:33:19 +00:00
Robert Osfield
2e2684c05a From Paul Martz, added support to textured light points into osgSim and OpenFlight loader, as part of the OpenFlight v16.0 spec. 2006-06-08 14:32:02 +00:00
Robert Osfield
732ca180d1 Added missing clip against maximum azimuth. 2006-06-05 16:25:29 +00:00
Robert Osfield
34cdf22794 Fixed popping of state frustum. 2006-05-02 09:18:36 +00:00
Robert Osfield
3246dde716 From Brede Johansen, new OpenFlight plugin!!!!!
By default the original flt plugin is still used, to select at runtime
the new plugin set the env OSG_OPEN_FLIGHT_PLUGIN=new
2006-03-08 21:38:37 +00:00
Robert Osfield
7d5c81bf5e From Ulrich Hertlein, spelling corrections and a few Doxgen comments. 2006-02-20 21:05:23 +00:00
Robert Osfield
22d5390784 From Louis Hamilton, fix to LightPoint's under 64 bit build, changing longs to ints in
colour conversion code.
2005-12-06 10:16:21 +00:00
Robert Osfield
e1454d22a7 Attempt at build fixes for IRIX. 2005-12-05 10:24:02 +00:00
Robert Osfield
0e16b64665 Coverted tabs to space in core libraries. 2005-11-17 13:35:53 +00:00
Robert Osfield
6268001c66 Warning fix. 2005-11-15 08:43:24 +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
a742cb682e Added RenderTargetFallback option into osg::CameraNode. 2005-11-01 10:42:54 +00:00
Robert Osfield
b61a8a6603 From Brede Johansen, "some tweaks to the osgSim lightpoints.
- The first change is to start fadeing a lightpoint just before the
maximum distance of a light is reached.
- The second change is to start fading a lightpoint when pixelSize is
less than _minPixelSize instead of 1.0."
2005-10-31 11:43:54 +00:00
Robert Osfield
89f6753492 From Farshid Lashkari, compile fix for VS 2002. 2005-10-14 21:40:03 +00:00
Robert Osfield
fb524952b6 Renamed osgUtil::RenderGraph to osgUtil::StateGraph 2005-10-13 12:51:00 +00:00
Robert Osfield
436521e205 Added a couple of (double) casts for VS7 build. 2005-10-03 19:24:12 +00:00
Robert Osfield
ef093bd5e5 Added closing of loops. 2005-10-03 19:18:53 +00:00
Robert Osfield
ba5c7cdc91 Added fusing of ends of lines 2005-10-03 16:13:26 +00:00
Robert Osfield
550bb4b74e Improved handling of convex azim ranges. 2005-10-03 13:19:03 +00:00
Robert Osfield
024b43b017 Adding handling of case of convex azimuth side ways of sphere segment. 2005-10-01 12:23:10 +00:00
Robert Osfield
06401ba129 Changed the line intersection algorithm to computer full line intersections then
trim down to size by intersecting with the sphere segmenet sufaces
2005-09-30 19:36:22 +00:00
Robert Osfield
913dccc14c Fix to intersection code. 2005-09-29 15:55:55 +00:00
Robert Osfield
7ac71b939f Added setOverlayClearColor and setTexEnvMode and automatic set up of TexEnv. 2005-09-29 10:22:06 +00:00
Robert Osfield
d82d598115 Fixed typo of CameraNode::setRenderTargetImplementation(..) 2005-09-29 09:36:51 +00:00
Robert Osfield
600349dce8 Various improvements to the sphere segment intersection code. 2005-09-27 12:15:40 +00:00
Robert Osfield
5731ea2352 Set the defaul clear colour to 0,0,0,0. 2005-09-26 11:24:37 +00:00
Robert Osfield
0fb2e7adc0 From Mike Weiblen, fixes from VS 7.1 build. 2005-09-25 20:41:56 +00:00
Robert Osfield
f1125f7b4d Improvements to the clipping of polygons at boundary edges. 2005-09-24 14:53:22 +00:00
Robert Osfield
e77ec7f96b Further work on intersection code. 2005-09-21 14:38:36 +00:00
Robert Osfield
d13306e885 Added multiple intersect triangle visualization for testing purposes. 2005-09-19 19:49:23 +00:00
Robert Osfield
ea1ea88a17 Added countMultipleIntersections to help with debugging. 2005-09-19 13:15:59 +00:00
Robert Osfield
3a1ce55de6 Improved the region classifaction of the intersection code. 2005-09-17 18:50:26 +00:00
Robert Osfield
68d22f8de7 Improved accuracy of spheresegment to mesh intersections uses mathematical
models of surface geometry.
2005-09-16 14:52:56 +00:00
Robert Osfield
a154348d9a Added Azimuth and Elevation intersector functors. 2005-09-16 09:28:22 +00:00
Robert Osfield
d2f98ef56e Added line connectivity code. 2005-09-15 20:03:37 +00:00
Robert Osfield
4a47a79c23 Added more intersection testing code. 2005-09-10 12:51:03 +00:00
Robert Osfield
745834c329 Added triangle index functor to src/osgUtil/SphereSegment.cpp for computing
the intersection between an indivual geometry and the sphere segment.

Converted the terrain in osgspheresegment to be an osg::Geometry based
drawable rather than a osg::ShapeDrawable/osg::HeightField one to make it
more practicle to use as a test for the new SphereSegment intersection code.
2005-09-09 11:13:40 +00:00
Robert Osfield
67e8e0b287 Added PolytopeVisitor to SphereSegment.cpp to help cull down to only drawables
that intersect with the frustum of the SphereSegment. PolytopeVisitor may
eventually be pulled out to be more generally used along the lines of osgUtil::IntersectVisitor.
2005-09-08 18:56:37 +00:00
Robert Osfield
559219f519 Added initial interface for computing intersections between sphere segments
and terrain.
2005-09-08 13:10:04 +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
4e6a8cfcd5 Added s/getContinousUpdate(bool) method to OverlayNode. 2005-09-06 19:54:29 +00:00
Robert Osfield
5283c11f8a Added osgSim::OverlayNode to osganimate and osgspheresegment examples, and
added support for setting texture size hint and coping with scene graphs
with CoordinateSystemNode in them.
2005-09-06 15:48:18 +00:00
Robert Osfield
ce3bfff46a Removed redundent code. 2005-09-01 19:55:41 +00:00
Robert Osfield
a420782199 Added osgSim::OverlayNode setup in osgsimulation, and added preliminary test
code to the osgSim::OverlayNode to test osgsimulation/the architecture.
2005-08-31 15:04:27 +00:00
Robert Osfield
f3be713d66 Added OveralyNode into VS project file, and fleshed out more code in the OveralyNode implementation. 2005-08-26 20:01:21 +00:00
Robert Osfield
42752347aa Added beginings of new OverlayNode, for managing a render to texture which is
then used to overaly other parts of the scene such as terrain.
2005-08-26 14:00:02 +00:00
Robert Osfield
ee4d2128da Added --num-components <num> option. 2005-08-26 13:26:02 +00:00
Robert Osfield
f07b24e56b From Joseph Winston, removed #include <osgUtil/RenderToTexture> 2005-08-20 08:20:26 +00:00
Robert Osfield
42e4488454 Port Impostor across to use the new osg::CameraNode. 2005-07-24 11:06:39 +00:00
Robert Osfield
06d3d869f3 Attached ImpostorSpriteManager to the CullVisitor. 2005-07-23 15:21:18 +00:00
Robert Osfield
69efae505b Renabled impostor support using old style RenderToTextureStage setup. 2005-07-22 16:25:38 +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
428608e781 Warning fixes for IRIX 2005-05-16 15:51:57 +00:00
Robert Osfield
4f71be21d4 Yet another using namespace osg to try and work out the spat betwen MipsPro and VS.6.0. 2005-05-13 21:39:34 +00:00
Robert Osfield
e82a63ca81 Cross platform build fixes. 2005-05-13 11:11:52 +00:00
Robert Osfield
bf4d63f6ea Added new Node/Drawable::s/getInitialBound and Node/Drawable::s/getComputeBoundCallback
methods and reimplement computeBound so that it passes back a bounding volume rather
than modifying the local one.
2005-05-12 14:03:22 +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
000e5f8d10 Changed the animation on default to false, so things only move if you ask them to. 2005-04-17 11:35:26 +00:00
Robert Osfield
066c829768 Added setValue and setSwitchSet methods 2005-04-15 20:05:30 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
7d24d9fdd5 Added #include <algorithm> 2005-04-08 12:22:03 +00:00
Don BURNS
1771cdbcc7 Update version numbers in files 2004-12-04 23:38:24 +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
7e5c87de6a Changed the version strings to use OpenSceneGaph rather than "Open Scene Graph" 2004-09-27 12:07:34 +00:00
Robert Osfield
4571238459 From Joakim Simonsson, add s/getHPROrder method 2004-09-06 14:59:11 +00:00
Robert Osfield
d64aa24449 Changed the length multiple to be 2x the bounding sphere radius 2004-08-16 08:32:16 +00:00
Robert Osfield
f62d0e4dd2 From Michael Gronager, fix to an orientation bug. 2004-08-16 07:29:07 +00:00
Robert Osfield
ddb7423e46 Set version numbers for 0.9.7 release 2004-08-05 08:02:48 +00:00
Robert Osfield
6524fe1293 From Norman Vine, fixes for Mingw 2004-08-02 09:11:31 +00:00
Robert Osfield
a92a9d0f22 Added handling of case when only one colour is used. 2004-06-03 10:16:19 +00:00
Robert Osfield
5d97f7ec92 Added support for a single color in a ColorRange 2004-06-03 10:10:41 +00:00
Robert Osfield
1526281793 Added room for tail of text. 2004-06-03 09:36:49 +00:00
Robert Osfield
7f94839e94 Added setPosition and setWidth methods into ScalarBar and changed the
implementation to use these values to position and set the size of the
scalar bar.  Also made the characterSize value a float rather than
the previous int.
2004-06-02 12:37:14 +00:00
Robert Osfield
3fc447af89 Changed &D to use define to keep things compiling under VS6.0 2004-05-10 16:17:46 +00:00
Robert Osfield
86d323752d From Corbin Holtz, "I have completed my mods to the OpenFlight loader (modified files are
attached):
   * Light point strings using the REPLICATE opcode should now be supported
(>=15.6?)

   * Directional lights should now work as in Performer using a viewing
frustrum defined by a direction vector, horizontal angular width, vertical
angular width, and roll angle about the direction vector.  The current
directional light implementation had some bad assumptions which caused
problems with direction vectors not on the XY plane.

   * IVE and OSG reader/writers were updated as appropriate"
2004-05-08 22:18:38 +00:00
Robert Osfield
bdeb391a00 From Mike Weiblen, added new rot, scale and trans pseudo loaders. 2004-05-07 15:18:59 +00:00
Robert Osfield
ae7ceae631 From Paul Martz, added support for OpenFlight15.8 LightPointSystems 2004-04-10 11:30:16 +00:00
Robert Osfield
316c646a8f From David Fries, add init() call to SphereSegment constructor, and
new get methods for draw mask and color.
2004-03-31 08:52:47 +00:00
Robert Osfield
20252db7ff From Brede Johansen, added support for incrementing animation of DOFTransform
w.r.t. time rather than frame number.
2004-03-02 16:53:21 +00:00
Robert Osfield
1f80e1e6c4 From Shane Arnott, added drawing of "split" 2004-02-12 01:42:00 +00:00
Robert Osfield
eca2fc2837 Improved osgSim::SphereSegmenet's handling of transparancy. 2004-02-12 01:15:37 +00:00
Robert Osfield
22b2e7343e From Tom Jolly, Fixes to osgSim::BlinkSequence to enable proper saving and
loading.
2004-02-05 10:50:29 +00:00
Robert Osfield
77840e62e7 Added virtual destructor to LightPointDrawable 2004-02-04 11:03:52 +00:00
Robert Osfield
dea75f5510 Attempts to fix compile problems under IRIX due to namespace problems. 2004-01-29 15:47:51 +00:00
Robert Osfield
b604d22982 Added _activeSwitchSet(sw._activeSwitchSet) into the copy constructor. 2004-01-21 20:38:03 +00:00
Robert Osfield
8794f1bb76 Fixes for Windows build. 2003-12-05 13:58:27 +00:00
Robert Osfield
2353d55697 From Michael Gronager, osgSim::VisibilityGroup 2003-11-27 16:23:07 +00:00
Robert Osfield
fea4688589 Added missing DOFTransform.cpp 2003-11-25 19:06:31 +00:00
Robert Osfield
72ba462251 Added osgSim::MultiSwitch and support for it in the OpenFlight and
.osg plugins
2003-11-25 15:58:57 +00:00
Robert Osfield
31c5528ffb Moved osg::DOFTransform to osgSim::DOFTransform.
Fixed crash associated with .osg files which contain empty description fields.

From Sondra Inverson, added support to .ive plugin for osgSim::DOFTransform.
2003-11-25 14:11:05 +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
c91a2d3d3e Updated version numbers and ChangeLog for the release. 2003-09-16 21:25:25 +00:00
Robert Osfield
2586bd5d1c Added osgText and osgDB to the list of dependencies for OSX build. 2003-09-10 11:18:27 +00:00
Robert Osfield
06046639b5 Fix for IRIX build. 2003-09-03 18:17:07 +00:00
Robert Osfield
9a5ab0ac47 Fixes for IRIX build. 2003-09-03 08:14:00 +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
73094265c3 Fixes for Win32. 2003-09-01 15:46:10 +00:00
Robert Osfield
144ac14b07 From Neil Salter, added osgSim::SphereSegment and osgSim::ScalarBar, and
osgspheresegment and osgscalarbar, and osgsimulation examples.
2003-09-01 09:36:03 +00:00
Robert Osfield
e95768417c From Gideon May, added support for osgSim into .osg file format. 2003-07-23 14:06:32 +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
2bce4dda75 Made BlinkSequence subclass from osg::Object. 2003-07-22 12:48:31 +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
c2a9234cc5 Updated the version numbers to 0.9.4 2003-04-11 10:04:53 +00:00
Robert Osfield
0a68608bc4 From Brede, added
if (cv->getComputeNearFarMode() != osgUtil::CullVisitor::DO_NOT_COMPUTE_NEAR_FAR)
to protect
  cv->updateCalculatedNearFar(matrix,_bbox);
call to avoid inapporpriate near/far warnings.
2003-04-10 08:25:30 +00:00
Robert Osfield
7aab621405 Added support for min pixel size, max pixel size and max visable distance to
osgSim::LightPointNode, the max pixel size from was originally in osg::LightPoint.

Added additional get/set methods to osg::LightPointNode.

Increased the compute pixel size by a ratio 1.41 (sqrtf(2)) to correlate the
computed size with the actual size seen on screen.
2003-04-02 10:50:15 +00:00
Robert Osfield
763ee7f086 Cleaned up the reset of the vertex arrays in osg::State. 2003-04-01 11:53:34 +00:00
Robert Osfield
c784f8a669 Changed the background pixel colour to white, but kept the alpha value zero.
This has been done to improve the quality of the mip mapping of text.
2003-03-27 10:58:20 +00:00
Robert Osfield
a3bb1da618 Added Endian test header to the core osg, and add use of the new
getCpuByteOrder test in LightPointDrawable.
2003-03-19 21:46:44 +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
5e396d40e1 Made the State::setInterleavedArrays method use a const GLvoid*. 2003-03-05 21:02:37 +00:00
Robert Osfield
0b3f300642 Changed the license details across to OSGPL instead of GPL. 2003-02-20 21:52:50 +00:00
Robert Osfield
f485304665 Fix for endianess of colour set up of RGBA values. 2003-01-30 21:46:57 +00:00
Robert Osfield
6afedcc6d1 Updated version numbers to 0.9.3 2003-01-22 19:17:39 +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
53204898f3 Fixes for Irix64 build. 2003-01-06 23:19:42 +00:00
Robert Osfield
0161dacc15 Removed the osg::LightPoint::OPAQUE option, and implemented the ADDTIVE blending option. 2003-01-06 16:42:02 +00:00
Robert Osfield
141f065b17 Removed the dual inheritance from the AnimationPathCallback, moving the
NodeVisitor implemention into the .cpp.

Small tweak to the lighpoint drawable implmenentation to improve the additive
blending and state resotoration.
2003-01-03 21:42:02 +00:00
Robert Osfield
1c34b83e11 Fix for a warning. 2002-12-16 14:52:48 +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
Robert Osfield
0e6d702906 Fixes for Win32. 2002-12-11 10:07:14 +00:00
Robert Osfield
97a4775b7e Updates to the light points support to improve the control of the blending of
light points with their background.
2002-12-10 19:56:14 +00:00
Robert Osfield
6f16193a7a Tweaks the light points blend function. 2002-12-07 21:20:40 +00:00
Robert Osfield
cbbbee4c41 Fixes for OSX build from Stephan Huber. 2002-11-25 16:13:57 +00:00
Don BURNS
65fec63389 Fixes for IRIX build 2002-11-22 05:00:43 +00:00
Robert Osfield
f2fc281b00 Fix for compile problems under IRIX. 2002-11-21 07:53:48 +00:00
Robert Osfield
2b957675d5 Added visual workspace files for osgSim nodekit and osglightpoint demo. 2002-11-19 12:23:45 +00:00
Robert Osfield
e02ae73edc Added osgSim library which encapulsulates light points.
Added osglightpoint demo.
2002-11-19 10:57:40 +00:00