Commit Graph

1212 Commits

Author SHA1 Message Date
Robert Osfield
7d5c81bf5e From Ulrich Hertlein, spelling corrections and a few Doxgen comments. 2006-02-20 21:05:23 +00:00
Robert Osfield
59ad441be1 Added BlenColour(Vec4) constructor and updated wrappers. 2006-02-09 12:20:42 +00:00
Robert Osfield
4bc13ec71b From David Guthrie, OSX marco reworking to better handling different OSX versions. 2006-02-05 21:53:37 +00:00
Robert Osfield
93a2c3d011 Improved handling of clean up of osg::Program/osg::Shader on closing of a graphis context. 2006-01-16 17:05:17 +00:00
Robert Osfield
0c9ab51e09 Fixed indenting. 2006-01-16 17:03:34 +00:00
Robert Osfield
ab71114219 Moved the body of the FBOExtensions::instance() to the .cpp and added bool to
control whether that an FBOExtensions structure can be created if missing.
2006-01-03 10:44:14 +00:00
Robert Osfield
323473144a Fixed computeWindowMatrix so that it properly accounts for x,y position of the viewport. 2005-12-19 12:00:40 +00:00
Robert Osfield
4535cc0c09 Added back in Switch::removeChild(Node*) 2005-12-16 11:04:33 +00:00
Robert Osfield
6ff781b5b0 Removed Switch::removedChild(Node*) as the Group::removeChild(Node*) implementation
should be sufficient, as it calls the virtual removeChild(uint,uint).
2005-12-15 15:50:17 +00:00
Robert Osfield
7d4acba022 Changed constructors to use unsigned int to get round VS6.0 + wrapper problems. 2005-12-09 16:00:01 +00:00
Robert Osfield
479af6e825 Build fix for VS6.0 in the template constructors 2005-12-09 14:52:19 +00:00
Robert Osfield
a8d7234a0b From Eric Wing, added missing removeChildren method. 2005-12-09 11:22:09 +00:00
Robert Osfield
53ee0ce3ec Added CameraNode::releaseGLObejcts() to help in clean up, and changed the
ordering in SceneView::flushDeleteGLObjects() so that fbo's are deleted
before any texture objects they use are deleted.
2005-12-08 10:06:57 +00:00
Robert Osfield
27ad107378 Added new Node::getParentalNodePaths() method.
Added better handling in computeIntersections(..) of nodes that are internal
to the scene graph, correctly accounting for the accumulated transforms.

Changed the EventVisitor so that it only traveses active children rather than
all children.

Updated wrappers.
2005-12-07 15:29:29 +00:00
Robert Osfield
3f3c7b1df8 Added Camera::isRenderToTextureCamera() method, and improved support in PickVisitor
and IntersectVisitor for CameraNode, including the ignoring of render to texture cameras,
such that HUD's etc are still intersected against.
2005-12-07 11:36:56 +00:00
Robert Osfield
65d06b4577 From Farshid Lashkari, removed second redundent dirtyDisplayList() call. 2005-12-06 10:18:33 +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
c45ead4c65 Fixed tabbing. 2005-12-04 20:08:41 +00:00
Robert Osfield
851972beab Added OSG_EXPORT to PrimitiveSet. 2005-12-03 15:12:52 +00:00
Robert Osfield
b16f40e5ab Moved the body of the getNumPrimitives() into the .cpp. 2005-12-03 00:03:31 +00:00
Robert Osfield
8d8229cc05 From Marco Jez, hack/fix for VS compile/link problems related to STL containers. 2005-12-02 00:25:40 +00:00
Robert Osfield
6a5a10cf47 Fixed docs of setImage. 2005-11-25 13:45:23 +00:00
Robert Osfield
daefa1cae6 Added releaseGLObjects to PrimitiveSet. 2005-11-25 12:31:04 +00:00
Robert Osfield
736a8433ca Added FBO deletion support, and better FBO querry and fallback mechansim in RenderStage. 2005-11-24 15:18:12 +00:00
Robert Osfield
09bfbeec8b Changed the VS template export block to just compile when VS verion >= 1300 (VS.NET onwards.) 2005-11-24 15:17:28 +00:00
Robert Osfield
e1dd759dd8 Changed CameraNode::getDataChangeMutex() to be a pointer rather than a reference to
get around osgIntrospeciton build problem with the OpenThreads::Mutex copy constructor being private.
2005-11-23 16:32:55 +00:00
Robert Osfield
74830f9ce1 Added multi-buffering of the CameraNode::_renderingCache to help cope with multiple graphis context usages. 2005-11-23 13:44:27 +00:00
Robert Osfield
a91b8fa40a Moved getGLExtensionFuncPtr implementation into the .cpp to make it easier to
change it implementation without forcing a complete recompile.
2005-11-23 10:16:25 +00:00
Robert Osfield
33f4494830 Added missing dirtyDisplayList call into osg::Geometry::set calls. 2005-11-22 13:56:50 +00:00
Robert Osfield
14f943cc32 From Marco Jez, fix for wchar_t being redefined. 2005-11-22 09:47:18 +00:00
Robert Osfield
8289eecb7e From Roger James, reworked the export of std::vector<> on standard types to prevent
problems with .lib being built for all targets under VS7.x
2005-11-21 13:51:24 +00:00
Robert Osfield
9c93332c03 From Rodger James, changed the Win32 static library compilation support to use
OSG_LIBRARY_STATIC to avoid problems with building libs when not required.
2005-11-18 09:52:24 +00:00
Robert Osfield
35fcaf7bde Convert tabs to spaces. 2005-11-17 17:44:48 +00:00
Robert Osfield
c2f1527fe0 Added better control for cancel GraphicsThreads. 2005-11-10 15:25:06 +00:00
Robert Osfield
83d492162e Added the support in AnimationPathCallback for taking a pivot, axis and rotation rate
paramters in its constructor to allow it to be used to create rotations around a point.
This provides the same interface and functionality as osgUtil::TransformCallback but
has the advantage and AnimationPathCallback is fully supported by the .osg and .ive file formats.
2005-11-09 15:11:22 +00:00
Robert Osfield
258425d649 Bumped the version numbers up to 1.0 in preparation for 1.0-rc1. 2005-11-09 10:49:56 +00:00
Robert Osfield
53e075f78b From Brad Colbert/Robert Osfield: added s/getSourceFormat and s/getSourceType to osg::Texture
along with support for this Texture1D, 2D, 3D, TextureCubeMap and TextureRectangle.  The
new SourceFormat and SourceType parameters are only used when no osg::Image is assigned to
an osg::Texture, and main use is for render to texture effects.

Added support for --hdr option in osgprerender, which utilises the new Texture::setSourceFormat/Type() methods.
2005-11-08 15:52:21 +00:00
Robert Osfield
4915259878 Improved support for texture subload/render to texture in various Texture classes
and RenderStage.
2005-11-04 12:08:16 +00:00
Robert Osfield
fb2d3ae108 Further work on added IO support from CameraNode. 2005-11-03 15:59:17 +00:00
Robert Osfield
eb28f9f587 From Eric Sokolowsky, added writeEnvironmentSettings to help report what OSG
centric environment variables are used.
2005-11-03 10:01:09 +00:00
Robert Osfield
f3cfe97da9 Added support in DisplaySettings and OscCameraGroup for requesting accumulator buffer. 2005-11-02 19:15:18 +00:00
Robert Osfield
a86df172f9 Added doc comment and removed redundent inline keyword 2005-11-02 11:33:10 +00:00
Robert Osfield
8748e21e61 Added static orthoNormal function to match equivilant in Matrixd 2005-11-02 10:49:38 +00:00
Robert Osfield
4c1110858a From Colin McDonald, "Fix for missing class name qualifier on the orthoNormal function." 2005-11-02 10:45:56 +00:00
Robert Osfield
21c5a129ff Fixed compile warning 2005-11-02 10:29:13 +00:00
Robert Osfield
a742cb682e Added RenderTargetFallback option into osg::CameraNode. 2005-11-01 10:42:54 +00:00
Robert Osfield
fa5ab64c94 From Ravi Mathur, "Here is an update to BlendEquation that adds checking for the
SGIX_blend_alpha_minmax and EXT_blend_logic_op extensions.  It is
tested with the osgblendequation example.  If the extensions are not
supported, a WARN level notification is generated."
2005-10-28 13:18:09 +00:00
Robert Osfield
026fba54b4 From Bob Kuehne, "changed two set methods (setFocalLength,setFieldOfView) to perform
assignment."
2005-10-26 16:02:24 +00:00
Robert Osfield
be07f48884 From Geoff Michel, compile fixes for VS6.0 2005-10-26 09:22:13 +00:00
Robert Osfield
f46044084a From Farshid Lashkari & Robert Osfield: Added support for VERTICAL_INTERLACE and HORIZONTAL_INTERLACE
stereo modes use the stencil buffer.
2005-10-25 15:43:04 +00:00
Robert Osfield
f2f6e6bb45 Added beginnings of Programming Guide, and NodeTrackerCallback. 2005-10-24 10:51:50 +00:00
Robert Osfield
1e508d432b Added SmokeTrailEffect which renders created particles as single quad or line
strip, in the case of the quad strip the strip is aligned to the be orthogonal with
the eye point.
2005-10-12 18:42:36 +00:00
Robert Osfield
290e0b6eed From Alberto Jaspe, added double precision interpolation method 2005-10-10 09:17:22 +00:00
Robert Osfield
4b43b22c5a Added support for CameraView into NodeVistor, and support for CameraNode and CameraView
into the AnimationPathCallback so you can now animate both via animation paths.
2005-10-05 09:48:53 +00:00
Robert Osfield
cf2974329f Added code paths for PBuffer RTT support. 2005-10-04 18:50:00 +00:00
Robert Osfield
8e9ffd09af Added osg::CameraView to help application/modellers position their cameras in scenes. Note,
CameraView is *not* a camera, it isn't an active object, but a passive one that
camera must track each frame to following the path of the CameraView.
2005-10-04 13:41:20 +00:00
Robert Osfield
e749839061 From MFM, Added FreeBSD specific implementation for getGLExtensionFuncPtr using dlsym(RTLD_DEFAULT, xxx) 2005-10-03 19:33:54 +00:00
Robert Osfield
e2f2960704 Added a dirtyDisplayList() to the setColor() and setTesselationHint() methods. 2005-10-01 19:27:52 +00:00
Robert Osfield
d82d598115 Fixed typo of CameraNode::setRenderTargetImplementation(..) 2005-09-29 09:36:51 +00:00
Robert Osfield
f26c3da074 From Chris Hanson, "The following files are drop-in replacements for the include/*/Export files to permit
building statically linked osg libraries under Win32."
2005-09-28 14:05:05 +00:00
Robert Osfield
97f6a82b1e From Leandro Motta Barros: fixed type of ATTRIBUTE_* 2005-09-28 13:55:22 +00:00
Robert Osfield
05528abf25 From Chris Hanson:
Spelling fixes in include/osg/LOD

   Negated priority in PagedLOD when using _rangeMode==PIXEL_SIZE_ON_SCREEN

   Added clampedPixelSize() methods to CullStack and CullingSet to return fabs()ed values.

   Changed LOD and PagedLOD ::traverse to use clampedPixelSize() methods.
2005-09-28 13:33:58 +00:00
Robert Osfield
871cc70c32 From Ravi Mathur, added extension checks for point sprite support.
From Robert Osfield, tweaks of the above to use osg::buffer_object and a local struct to store
initialized to help with multi-thread and out of order context usage.
2005-09-19 15:28:31 +00:00
Robert Osfield
196eafd70b Removed duplicate typedef. 2005-09-09 15:42:48 +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
14980872a7 Standardised the Vec* class interfaces, and added num_components enum to aid
generic programming.
2005-09-04 11:17:00 +00:00
Robert Osfield
d58487c763 Changed red()/green()/blue()/alpha() to r()/g()/b()/a() for greater consistency
across Vec* classes and with OpenGL Shander Lanaguage.
2005-09-03 20:56:25 +00:00
Robert Osfield
caaeaee321 Fixed typo 2005-09-01 19:12:06 +00:00
Robert Osfield
7fc95ddae7 Added graphics context pointer to osg::Texture in prep for support for Pbuffer
Render To Texture.
2005-08-31 12:56:15 +00:00
Robert Osfield
c02e91c1b4 Added support for GrapicsOpeations that are reused each frame, cleaned up
osgcamera example.
2005-08-30 22:28:30 +00:00
Robert Osfield
f9bcde3cf0 Added name and keep member variables to osg::GraphicsThread::Operation to allow
the names of the operations to be logged for stats purposes, or used when
do searches of the operation list.  The keep member variable tells the graphics
thread run loop wether to remove the entry from the list once its been called.
2005-08-30 19:03:02 +00:00
Robert Osfield
aba3b4fa67 Clean up and fixes to GraphicThread class, and osgcamera example. 2005-08-30 14:41:08 +00:00
Robert Osfield
d154c2a4cd From Eric Sokolowsky, warning fixes for g++ 4.0 under Fedora Core 4. 2005-08-25 17:53:01 +00:00
Robert Osfield
320d0f67e4 Removed old commented out code. 2005-08-24 19:21:12 +00:00
Robert Osfield
dedf81fa51 From Domenico Mangieri, added constructor. 2005-08-24 19:20:36 +00:00
Robert Osfield
b50ac89b9d From Domenico Mangieri:
"I've added a Plane constructor which accepts a normal and a point.
I also removed calculateUpperLowerBBCorners() from the Plane(const
Vec3& v1, const Vec3& v2, const Vec3& v3) since the constructor is
using the function set(const Vec3& v1, const Vec3& v2, const Vec3& v3)
which already computes the upper and lower bounding box."
2005-08-22 14:07:47 +00:00
Robert Osfield
29958a5612 Added OSG_EXPORT to GrephicsThread and fixed typo in osg.dsp. 2005-08-21 15:32:38 +00:00
Robert Osfield
ac07e07705 Further work on GraphicsContext/GraphicsThread 2005-08-20 08:59:03 +00:00
Robert Osfield
356f1ccfaf Added GraphicsThread class 2005-08-18 20:35:19 +00:00
Robert Osfield
51faa7e43a Various updates to support the new GraphicsThread class. 2005-08-18 20:17:51 +00:00
Robert Osfield
717a6dcf14 Added beginings of GraphicsThread class 2005-08-18 09:36:40 +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
a5d64e5a77 Added getDisplayList access method 2005-08-09 10:48:26 +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
47651d3c8d Added glSissor suppor via new osg::Scissor class.
Added .osg support for osg::Scissor.
Added .ive support for osg::Viewport and osg::Scissor.
2005-07-22 09:31:19 +00:00
Robert Osfield
37b4df3f71 Added missing typedef 2005-07-22 08:21:17 +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
7776924407 Checked in graphics context. 2005-07-21 08:43:24 +00:00
Robert Osfield
1e9fb4ab03 From Marco Jez (with tweaks by Robert Osfield) : clean up of inheritance from std::vector<> classes 2005-07-20 19:42:59 +00:00
Robert Osfield
b9e651baf1 Added new osg::GraphicsContext base class 2005-07-20 15:55:07 +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
5c9bd792a3 Updated wrappers 2005-07-15 21:47:11 +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
53347812cb From Mike Weiblen, addiding of Program::validateProgram and osg::isNotifyEnabled() method 2005-07-14 10:27:00 +00:00
Robert Osfield
5cfc42daf8 Added missing copy _referenceFrame in copy constructor 2005-07-14 10:17:20 +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
0d8e38f9ee Tweaks for better OSX paging support, 6 and 9 keys for control drive manipulator
up and down looking, and removed redundent API from osg::Geometry.
2005-07-07 14:14:38 +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
72488d274f Added support for equalizing the normals along tile boundaries. 2005-07-02 08:11:55 +00:00
Robert Osfield
34be5166ff From Tom Jolly, added method for getting the number of frames. 2005-06-20 10:38:39 +00:00
Robert Osfield
7453711267 From Mike Weiblen,
" - adjustments to improve namespacing on VS
  - clarify compilation status message"
2005-06-20 10:36:06 +00:00
Robert Osfield
9c950f0f3c From Andreas Jochens (submitted by Loic Dachary), addintion of forward declare
of class Progam; to fix compile problem under gcc4.0/amd64/debian unstable.
2005-06-20 10:28:52 +00:00
Robert Osfield
ba2aeb52e5 From Mike Weiblen, added OSG_EXPORT to FrameBufferObject files. 2005-06-20 10:16:30 +00:00
Robert Osfield
1641cd7b54 From Pavel Moloshtan, added support of Drawable::Extensions::glDeleteQueries() 2005-06-16 13:53:52 +00:00
Robert Osfield
3a0b742461 Added copyright notices. 2005-06-16 11:45:50 +00:00
Robert Osfield
d702fed0ef Moved FBO support from osgfbo example into core osg. 2005-06-16 11:42:59 +00:00
Robert Osfield
77a4cef9d6 Futher work on FBO support 2005-06-15 20:06:10 +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
868d381528 Added osg::CameraNode. 2005-06-14 13:16:58 +00:00
Robert Osfield
27c4c6a956 Moved the set/getName() support from osg::Node etc into the osg::Obejct
base class
2005-06-08 13:16:19 +00:00
Robert Osfield
e0cf176590 From Mike Weiblen, added GLSL datatypes mat2 and mat3 to osg::Uniform, with .osg and .ive support 2005-06-08 10:36:56 +00:00
Robert Osfield
a799cdca2f From Tim Daust, "I fixed the getScale functions in matrixf and
matrixd.  It was returning the values of the diagonal
of the matrix, which only returns the scale if there
is not a rotation.  I fixed this by returning the
length of the  vectors that form the basis.
  I also added a function to orthonormalize the
rotation component of the matrix. I seem to always run
into situations where non uniform (or even uniform)
scale complicate my calculations, and I thought other
members of the community could use this function as
well."
2005-05-31 06:21:16 +00:00
Robert Osfield
3c308104a9 Updated Version numbers for release.
UPdated wrappers.
2005-05-25 20:02:25 +00:00
Robert Osfield
2b08f729f3 Updated change log.
From Fredric Marmond, changed unsigned int to unsigned long to avoid compile errors under 64 bit compile.
2005-05-25 15:35:51 +00:00
Robert Osfield
59be8c19f3 Changd unsigned int's to unsigned char* to fix gcc3.4 64 bit issues. 2005-05-25 09:50:11 +00:00
Robert Osfield
cf06b40891 Added pragma to remove warnings under VS.8.0 2005-05-24 18:57:13 +00:00
Robert Osfield
43ad7114be Reworking to avoid compile issues under VS6.0. 2005-05-20 15:45:12 +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
2e4b266c39 Added differentiation between Non power of two textures when mip mapped vs
when not mipped mapped to get round the issue of incomplete support under
ATI cards.
2005-05-17 11:00:13 +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
10232cf81a Fixed method signatures. 2005-05-16 11:18:11 +00:00
Robert Osfield
a9f37f1f05 Moved computeBounds into public scope. 2005-05-15 20:31:22 +00:00
Robert Osfield
95a9a4362f From John Grant, added getDrawableList() const. 2005-05-15 05:47:14 +00:00
Robert Osfield
76e7853971 From Tom Jolly, removing trailing comma for last entries in enums to fix
IRIX compile warnings.
2005-05-13 21:38:34 +00:00
Robert Osfield
e82a63ca81 Cross platform build fixes. 2005-05-13 11:11:52 +00:00
Robert Osfield
715df123f1 From Mike Weiblen, Added queries of compilation state to Shader (for symmetry with Program's
link state queries)
2005-05-12 20:59:53 +00:00
Robert Osfield
7c90800822 From Jan Ciger, gcc 4.0 compile fix. 2005-05-12 20:35:15 +00:00
Robert Osfield
54abc6f471 Added IO support for new intialBound and callbacks to .osg, and initialBound to .ive 2005-05-12 14:48:56 +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
25b36ef648 Moved OpenGL2 definitions from Uniform header to GL2Extensions 2005-05-12 07:47:43 +00:00
Robert Osfield
ea1dc4dd20 Added missing required includes 2005-05-11 21:06:29 +00:00
Robert Osfield
1f6cdc49e5 Compile fix. 2005-05-11 20:37:22 +00:00
Robert Osfield
9ef29824aa Moved GL2Extensions back out of Program and into its own header file. 2005-05-11 19:59:21 +00:00
Robert Osfield
aa6ea8c047 Completed GLSL support in .ive 2005-05-11 13:37:38 +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
1afd5e48a7 Added support for PROTECTED and OVERRIDE to uniforms. 2005-05-10 13:56:05 +00:00
Robert Osfield
538ced579e Removed deprecated API in preparation for 0.9.9 release. 2005-05-09 13:09:07 +00:00
Robert Osfield
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
7480d51830 From Mike Weiblen, further work on GLSL support 2005-05-06 09:58:49 +00:00
Robert Osfield
fc585cd33d From Farshid Lashkari, support for non power of two extension. 2005-05-06 09:04:41 +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
c4e2e85aa1 From Farshid Lashkari, added Texture::Extension support for non power of two extension. 2005-05-05 09:18:03 +00:00
Robert Osfield
f8c855a576 Fix for Tiger build 2005-05-04 11:38:34 +00:00
Robert Osfield
97daa561f4 Added support for lazy state updating of uniforms. 2005-05-03 21:46:47 +00:00
Robert Osfield
b85d4d4e7e Added support for optimization of Uniforms 2005-05-02 10:18:37 +00:00
Robert Osfield
938d13ecc7 Improved the handling of update/event callbacks on Drawable and Geodes 2005-05-02 09:57:58 +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
a5fcddc5e5 From Mike Weiblen, Progra/Shader fixes 2005-04-30 07:02:02 +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
0b34ab9cb7 Added version number #define's 2005-04-28 12:45:55 +00:00
Robert Osfield
a1bda0dab8 Added support for per context extension string.
Note, this required adding a unsigned int context ID to the osg::isGLUExtensionSupported(,)
and osg::isGLExtensionSupported(,) functions.  This may require reimplementation
of end user code to accomodate the new calling convention.
2005-04-26 13:15:27 +00:00
Robert Osfield
3c90a5f694 Added support notification of Drawable parents of StateSet that event/update callbacks have been called. 2005-04-26 09:58:19 +00:00
Robert Osfield
e24cfa0370 Futher work on supporting update and event callbacks in StateSet, Uniform and StateAttribute 2005-04-25 13:37:12 +00:00
Robert Osfield
bc83e63bb4 Futher work on adding event and update callbacks to StateSet, Uniform and StateAttributes 2005-04-25 11:05:02 +00:00
Robert Osfield
193c83cb9c Added ParentList's into StateSet, Uniform and StateAttribute in preparation for
providing update and event handling.
2005-04-24 21:04:54 +00:00
Robert Osfield
f91efb7f31 Added missing bodes of Uniform::operator = and setEvent/UpdateCallback in StateSet. 2005-04-23 10:41:30 +00:00
Robert Osfield
819d2c6c56 Preliminary steps to adding update and event callbacks to StateSet, StateAttribute
and Uniform.
2005-04-22 22:45:39 +00:00
Robert Osfield
2914f7c342 Improved handling of invalid imagery in BufferObject 2005-04-22 15:43:34 +00:00
Robert Osfield
af70cd8801 Removed unusaged methods 2005-04-22 14:40:22 +00:00
Robert Osfield
8b4f9dce60 From Mike Weiblen, added support for samplers and mat4 to .osg 2005-04-22 07:13:50 +00:00
Robert Osfield
e2a85f6bc6 From Brede Johnansen, adding support for EXT, ARB and GL version 1.4 point parameters. 2005-04-20 12:32:43 +00:00
Robert Osfield
88e8477cbf Moved istream/ostream includes out of Vec3f, and reimpleted osg::Matrix*::compare. 2005-04-17 10:41:23 +00:00
Robert Osfield
62994ac4a2 From Tony Horrobin, fix for VS6.0 2005-04-17 09:41:48 +00:00
Robert Osfield
8bf4a98a91 From Marco Jez, added operator >> for Plane and Quat to io_utils, and added
OSG_EXPORT to PerContextProgram.
2005-04-16 17:44:11 +00:00
Robert Osfield
f4be038d46 Moved Plane and Quat << operators into the io_utils headers 2005-04-15 20:59:24 +00:00
Robert Osfield
0503712fe4 Removed osgGL2 from CVS, osgGL2 now can be found on the Community/NodeKits section on the OSG website. 2005-04-15 08:35:06 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
869548bafb Uniforms open for business :) 2005-04-14 20:14:53 +00:00
Robert Osfield
e7ce7c0529 Fixed getUniformLocation and getAttribLocation methods 2005-04-14 20:05:16 +00:00
Robert Osfield
086efcdff1 Removed setProgram from osg::StateSet as Program works just fine right now
as a standard osg::StateAttribute and set in a StateSet with setAttribute.
2005-04-14 15:53:28 +00:00
Robert Osfield
d6d764a729 From Terry Welsh, added copy texture support to TextureRectangle 2005-04-13 18:19:38 +00:00
Robert Osfield
0015a31de8 Added basic support for applying uniforms to programs, non lazy state updating
is yet applied though.
2005-04-13 14:12:06 +00:00
Robert Osfield
2e10cffb4d Work in progress on shader language uniform support 2005-04-13 12:00:28 +00:00
Robert Osfield
d268cf46fa Renamed SG_LIBRARY and SG_EXPORT macro's to OSG_LIBRARY and OSG_EXPORT 2005-04-11 17:14:17 +00:00
Robert Osfield
195b63dc65 From Olaf Flebbe, compile fix for Sun. 2005-04-11 15:22:29 +00:00
Robert Osfield
4fec031e6c Moved #include <osg/State> from header into .cpp to clean up build. 2005-04-11 15:17:24 +00:00
Robert Osfield
d0097718e1 Added friend class PerContextProgram; 2005-04-11 08:15:43 +00:00
Robert Osfield
864817d0d0 From Randall Hopper, fixed typo of setRedMask. 2005-04-10 21:26:49 +00:00
Robert Osfield
f46858c49b Moved UByte4 i/ostream support into io_utils. 2005-04-08 14:10:22 +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
f417974f5b Added iostream operators 2005-04-07 21:28:57 +00:00
Robert Osfield
d006ce627f From Olaf Flebbe, removed supporios BufferObject:: 2005-04-07 20:28:36 +00:00
Robert Osfield
84e8338be1 From Mike Weiblen, "adds sourcefiles for beginnings of .osg fileformat i/o support
> - enhancemens to core GLSL classes to support file i/o"
2005-04-07 20:23:58 +00:00
Robert Osfield
7a27a0bef7 From Marco Jez, improvements to osgIntrospection, and new automatically generated
osgWrappers/osg set.
2005-04-07 20:00:17 +00:00
Don BURNS
5b4482c70d Set PagedLOD::removeExpiredSubgraph() to be virtual 2005-04-07 17:15:48 +00:00
Don BURNS
af3ac699aa Rolled in Olaf's changes for HP-UX build 2005-04-05 19:08:48 +00:00
Robert Osfield
097c8f18f9 Fixed comment 2005-04-04 13:22:24 +00:00
Robert Osfield
aa8dbea11c From Mike Weiblen, updates to Shander Language support 2005-04-04 10:08:15 +00:00
Robert Osfield
60cecb8959 Added State::getActiveUnit and usage of it in the glTexCopyImage*() implementations 2005-03-25 11:07:48 +00:00
Robert Osfield
7883574d28 From Mike Weiblen,
"updates for GLSL core integration:
Code compiles and runs on win32.
Basic functionality of Program and Shader in place.
Program derived from StateAttribute.
Uniform value propagation is not yet functional (in development)
Includes some patches by Nathan Cournia.
includes example testcase to demo use of new classes."
2005-03-24 09:37:45 +00:00
Robert Osfield
2ab78cfe38 From Marco Jez, fixed constness of data return type 2005-03-23 21:00:28 +00:00
Don BURNS
5d10547ac5 Added getCameraByName method to viewer and home(double currentTime) to
MatrixManipulator, UFO, Trackball and ANimation manipulator.
2005-03-20 23:57:17 +00:00
Robert Osfield
b0c36076fb From Marco Jez, added OSGNVEXT_ prefex to StateAttribute enums. 2005-03-18 09:48:09 +00:00
Robert Osfield
f8426a8ad8 Made supports(..) methods use support(const ...) 2005-03-18 02:42:59 +00:00
Robert Osfield
a2e8bc6267 Added support for set/getUniform and set/getProgram into osg::StateSet. 2005-03-11 20:29:21 +00:00
Robert Osfield
a72845cfc4 Sebastien Grignard, fixed getMember methods to properly use const type. 2005-03-07 14:38:43 +00:00
Robert Osfield
5684a130b7 From Alberto Farre, addition of ProxyNode, with support in .osg, .ive and .flt loaders 2005-03-07 14:06:09 +00:00
Robert Osfield
6772a1deb6 From Paul Melis, fixed typo of setFunctionMask. 2005-02-26 21:44:16 +00:00
Robert Osfield
0f61af08bd Added support for new event visitor type into osgGA and osgProducer::Viewer,
and event callback into Drawable.
2005-02-25 14:02:48 +00:00
Robert Osfield
96514b5077 New simplified timer implementation. 2005-02-25 08:38:05 +00:00
Robert Osfield
79833fa704 Added pause, rewind and play support into xine plugin. 2005-02-24 17:07:37 +00:00
Robert Osfield
5fbb1f11cd From Mike Weiblen, adding prelimimnary GL Shader Language support into core OSG lib.
with renaming and reordering by Robert Osfield,
2005-02-24 13:33:35 +00:00
Robert Osfield
164cb8216c Made Referenced::ref() and unref() inline methods. 2005-02-23 12:50:10 +00:00
Robert Osfield
e01990d419 Made the osg::Referenced Mutex be declared as a pointer to a Mutex, with the
Mutex allocated dynamically when required. Added the following methods to
help manage the usage of the mutex:

        void setThreadSafeRefUnref(bool threadSafe);

        bool getThreadSafeRefUnref() const;
2005-02-22 20:25:58 +00:00
Robert Osfield
b40fe170c7 From Igor Kravtchenko, add #define's for OpenGL float internal texture formats. 2005-02-22 10:16:22 +00:00
Robert Osfield
355ee7a785 Put pixel buffer define's into their own block. 2005-02-10 20:14:22 +00:00
Robert Osfield
117c791a3b Added osg::BufferObject and a made a number associated to accomodate this
new class. osg::BufferObject wraps up OpenGL pixel and array buffer objects.
Currently implementation is work in progress.
2005-02-09 10:39:45 +00:00
Robert Osfield
46ce4c3df3 Added the full set of buffer object methods 2005-02-07 17:28:03 +00:00
Robert Osfield
b7bd8075de From, Leandro Motta Barros, Doxygen comments.
Ammendments by Robert Osfield, a few comment rewrites to better reflect API functionality/usage.
2005-02-02 15:08:55 +00:00
Robert Osfield
7be056275b Added red, green, blue and alpha values. 2005-02-01 09:00:32 +00:00
Robert Osfield
c3c3ed8519 Added support for 8 parameters. 2005-02-01 09:00:10 +00:00
Robert Osfield
203133bb3f Added definitation for GL_COMPRESSED_* tokens for case where early OpenGL headers
don't provide them.
2005-01-28 11:01:11 +00:00
Robert Osfield
355650ac1d From Nicolas Brodu, new faster osg::Quat::makeRotate(Vec3d,Vec3d) implmentation.
From Robert Osfield, modes to osg::Quat to keep the original implmentation around
as makeRotate_original(,) and added tests into osgunittest to test the new
methods provide equivilant results to the original implemementation.  The
orignal implementation will be removed once the new method is more widely tested.
2005-01-27 14:39:58 +00:00
Robert Osfield
d0f42c9231 From Chris Hanson, minor tweaks to docs on getDescriptions. 2005-01-27 13:23:46 +00:00
Robert Osfield
7e75997db0 From Leandro Motta Barros, doxygen comments 2005-01-27 13:15:21 +00:00
Robert Osfield
75175ecb48 Changed template<class> instances to template<typename> 2005-01-27 11:18:33 +00:00
Robert Osfield
fd8f62f941 build fix 2005-01-21 19:31:56 +00:00
Robert Osfield
341267d898 Tweaked the #define's of GL_ALPHA_MIN_SGIX and GL_ALPHA_MAX_SGIX to ensure compilation across
OGL drivers.
2005-01-08 10:21:49 +00:00
Robert Osfield
40632c97b0 From Tree, moved GL_ #define's out of osg namespaces 2005-01-07 19:00:40 +00:00
Robert Osfield
e2132cc62a Cleaned up the types. 2005-01-05 17:14:38 +00:00
Robert Osfield
c58f56adb6 From Fredric Mammond, fix for build using full extension checked mechansim 2005-01-05 16:16:52 +00:00
Robert Osfield
fab7c4d715 From Fredric Mammond, added new osg::BlendEquation state attribute wrapping
up glBlendEquation.
2005-01-03 16:39:28 +00:00
Don BURNS
3e96112b82 Added computeBound to osg::Switch, which now checks to see if a child is
enabled before computing its bound.
2004-12-17 20:51:55 +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
88234ea31f Removed redundent cont qualification 2004-12-14 03:12:18 +00:00
Robert Osfield
fa4eaae122 From Frederic Marmond, add osg::LogicOp for support for glLogicOp. 2004-12-13 04:54:20 +00:00
Robert Osfield
66396e9452 Teaks to API to make it easier to generate wrappers automatically 2004-12-13 01:07:24 +00:00
Robert Osfield
71a1a96883 Added extra set methods to match get's to make then symetric proporties 2004-12-10 03:37:33 +00:00
Robert Osfield
c3fd271dc4 Addd high level introductory docs for all the libs 2004-11-26 16:01:04 +00:00
Robert Osfield
02ee5ff0cc Altered the path for Cygwin to set the _ticksPerSecond to the correct value. 2004-11-18 09:19:15 +00:00
Robert Osfield
e378e3da8f From Loic Dachary, changes to Timer for PowerPC support, with small re-arrangement
by Robert Osfield to make tick() code block mode readable.
2004-11-16 09:03:24 +00:00
Robert Osfield
84d3746e8a From Tree, fixes for Java bindings 2004-11-15 13:02:43 +00:00
Don BURNS
ff92aef6fe PowerPC fix for Timer by Guillaume Morin 2004-11-13 22:04:26 +00:00
Robert Osfield
91af37573a Added public access to VertexProgram's LocalParamters and added .osg support
for these.
2004-11-08 17:12:36 +00:00
Robert Osfield
72330d33ee Added a clear() into the RefNodePath operator = (NodePath) method. 2004-11-04 20:25:35 +00:00
Robert Osfield
d548d77010 From Tree chagenes required for Java Wrappers 2004-11-01 16:14:53 +00:00
Robert Osfield
fd327f68f6 From Tom Jolley, Added a new enum POINT_ROT_WORLD_Z_AXIS and a new section in computeMatrix for this enum.
With a small tweak from Robert Osfield to set _cacheMode.
2004-10-28 13:26:06 +00:00
Robert Osfield
df9c7e5031 From Tree, fixes for Java bindings 2004-10-25 19:16:57 +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
63e4587a88 Added s/getEventCallback support into osg::Node, and an EVENT_VISITOR
type into NodeVisitor.
2004-10-24 13:51:44 +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