Commit Graph

6978 Commits

Author SHA1 Message Date
Robert Osfield
259daac9a9 Updated wrappers 2009-11-18 11:26:00 +00:00
Robert Osfield
4262d10217 Added osg::ShaderBinary::readShaderBinaryFile(..) static method 2009-11-18 11:25:28 +00:00
Robert Osfield
f8ab593c4b Moved across to use OSG_FIXED_FUNCTION_AVAILABLE 2009-11-17 15:54:20 +00:00
Robert Osfield
370deba546 <iterator>, <stdlib.h> and <ctype.h> includes required for QNX compiler 2009-11-17 14:06:07 +00:00
Robert Osfield
79f766efab Added OSG_CPP_EXCEPTIONS_AVAILABLE cmake option to enable optional build of plugins and examples that required C++ exceptions 2009-11-17 12:55:52 +00:00
Robert Osfield
f417706b06 Converted .ive plugin from using C++ exceptions to using a local equivelant, enabling the build on embedded systems. 2009-11-17 12:54:55 +00:00
Robert Osfield
a8abfd64c4 Removed usage of throw 2009-11-17 11:36:32 +00:00
Robert Osfield
817e4818aa Fixed Shader constructor 2009-11-16 17:50:33 +00:00
Robert Osfield
e5bdd460d4 Replaced catch usage 2009-11-16 16:09:50 +00:00
Robert Osfield
95cf62ec01 Removed catch 2009-11-16 15:47:32 +00:00
Robert Osfield
af906310f1 Removed throw. 2009-11-16 15:17:57 +00:00
Robert Osfield
03e95d97f1 Removed throw. 2009-11-16 14:58:31 +00:00
Robert Osfield
d4c58cf1a1 Removed usaged of throw and catch to enable better compatibility with embedded systems that don't support C++ exceptions efficiently. 2009-11-16 14:47:52 +00:00
Robert Osfield
52fbe9723f Added new osg::ShaderBinary class, and support for it in osg::Shader. 2009-11-16 12:32:41 +00:00
Robert Osfield
1049f0709b Moved the GLBeginEndAdapter support out of the blocks of the "#if defined(OSG_GL_VERTEX_FUNCS_AVAILABLE) && !defined(OSG_GLES1_AVAILABLE)" guarded blocks.
Fixed the number of components being passed as GLBeginEndAdatper::TexCoord*fv.
2009-11-13 13:42:04 +00:00
Cedric Pinson
5842677662 From Cedric Pinson, Fix Skeleton to compute correctly bind matrix, fix compile issue on osganimationhardware after fixing Skeleton 2009-11-13 13:39:21 +00:00
Robert Osfield
cd2d69506b Added optional finer grained checks for GL errors within Geometry::drawImplementation() to help track down GL errors.
Turned off the vertex attribute aliasing in ArrayDispatchers when the GLBeginEndAdapter is used.
2009-11-13 13:25:59 +00:00
Robert Osfield
b3feedaf0a Added dummy StateSet at top of scene graph when using ShaderGen to copy with subgrahs that contain no StateSet 2009-11-13 12:51:42 +00:00
Robert Osfield
6649f51ff2 From Paul Martz, osgViewer Win32 GL3 context creation support 2009-11-13 10:03:02 +00:00
Robert Osfield
d508934961 Introduced the usage of GL_MAX_TEXTURE_IMAGE_UNITS where support in place of the check of GL_MAX_TEXTURE_UNITS. 2009-11-12 19:39:50 +00:00
Robert Osfield
8b141567b9 Adapted GLBeginEndAdapter to use state.drawQuad(..) rather than use it's local GL_QUADS emulation.
Fixed to osg::Texture for GLES support.

Added automatic GLenum mode mappings in osg::PrimitiveSet to provide a fallback for non support glDrawArray/glDrawElement modes.

Added finer gained error checking during StateSet::compile().
2009-11-12 14:35:44 +00:00
Robert Osfield
efb9908644 Introdced usage of State::drawQuads 2009-11-12 12:19:09 +00:00
Robert Osfield
4374ca23f9 Introduced new State::drawQuads(..) convinience method to help out with mapping GL 1.x style calls to GLES2.0 compatible calls. 2009-11-12 12:18:33 +00:00
Robert Osfield
20a5820843 Fixed winding of GL_QUADS mapping 2009-11-12 12:14:01 +00:00
Robert Osfield
95d54ba15c Added glContexVersion, glContextFlags and glContextProfileMask members to osg::GraphicsContext::Traits to support GL3 graphics context creation.
Moved the handling of DisplaySettings into Traits constructor.

Added support for s/getGLContextVersion(), s/getGLContextFlags() and s/getGLContextProfileMask() to osg::DisplaySettings.

Added command line and env var support for setting the GLContextVersion, GLContextFlags and GLContextProfileMask to osg::DisplaySettings.
2009-11-11 15:25:42 +00:00
Robert Osfield
05b90497e1 From Paul Martz, enabled packed_depth_stencil support for GL3 2009-11-11 12:04:06 +00:00
Robert Osfield
2983bbe6c3 Merged runtime fix for Win32 OpenGLES build that avoids usage of wglGetProcAddress. 2009-11-11 09:15:03 +00:00
Robert Osfield
14838aafc5 Added OSG_GLES2_FEATURES and OSG_GL3_FEATURES usage where appropriate 2009-11-10 19:16:36 +00:00
Robert Osfield
b199a334d9 Introduced OSG_GL*_FEATURES macros defined in include/GL that are set to 0 or 1 according to what the assocoated version of GL is compiled against.
Removed EXT postfix of FrameBufferObject functions, and added support for checking non EXT versions frame buffer object GL functions.

Introduced usage of OSG_GL*_FEATURES to avoid some #if #else #endif code blocks.

Using a submissions from Paul Martz as a guide added perliminary GL3 support to a range of OSG classes
2009-11-10 17:01:08 +00:00
Robert Osfield
d3ab362eae Removed debug message 2009-11-10 14:59:42 +00:00
Robert Osfield
f159ae0516 Removed redundant include of GLU 2009-11-10 12:02:40 +00:00
Robert Osfield
d0b021568e Added support for mapping GL_QUADS, GL_QUAD_STRIP and GL_POLYGONS to GL_TRIANGLE equivalents. 2009-11-10 11:36:07 +00:00
Robert Osfield
def04324a4 Added the default usage of ShaderGenVisitor to help with GLES2 testing. 2009-11-10 11:34:57 +00:00
Robert Osfield
5b236c685b Added state.checkGLErrors() calls to help in debugging of GLES 2 port 2009-11-10 11:34:31 +00:00
Robert Osfield
126f83e5b4 Added disabling of modes that aren't supported with GLES2 2009-11-10 11:28:21 +00:00
Robert Osfield
d515b69d88 Added GL token mappings for standard GL errors numbers for when no GLU is available 2009-11-09 11:36:54 +00:00
Robert Osfield
7fb88a83ff Added remapping of internal texture formats to GL_RGBA etc when just the number of components is used i.e.
1 -> GL_ALPHA,
  2 -> GL_LUMINANCE_ALPHA
  3 -> GL_RGB
  4 -> GL_RGBA
2009-11-06 18:06:16 +00:00
Robert Osfield
4163f15052 Fixed build with no automatic conversion of ref_ptr<> to C pointer 2009-11-06 16:09:55 +00:00
Robert Osfield
4c01079d57 Added dlsymb settting for QNX 2009-11-06 13:53:16 +00:00
Robert Osfield
959cd04097 Cleaned up the EGL context config set up. 2009-11-06 10:38:22 +00:00
Robert Osfield
0c8661be5f Added EGL error checking and changed the egl context configuration settings 2009-11-06 10:31:03 +00:00
Robert Osfield
11fa315fb1 Added APIENTRY into glColor*/glNormal* calls and specialized the calls to just GLES1 2009-11-05 09:28:10 +00:00
Robert Osfield
d7d6d2b215 Moved glColor/glNormal definitions for GLES1.x from include/osg/GL to src/osg/ArrayDispatchers.cpp to avoid import/export issues on functions.
Fixed typo of GLES1 in disabling the build of OpenGL1.x/2.x specific examples
2009-11-04 17:26:59 +00:00
Robert Osfield
90d3c710c4 Reduced the number of aliased attributes to fit within the basic 8 attribute location available on basic GLES2 implementations 2009-11-04 12:17:58 +00:00
Robert Osfield
980c5bd6bb Changed notify to output warnings and normally messages to std::out 2009-11-04 12:14:57 +00:00
Robert Osfield
da90b3f90a Enabled the vertex aliasing and projection/modelview uniform setting by default for GLES2 and GL3 targets 2009-11-04 11:02:00 +00:00
Robert Osfield
72ff1f40f9 From Paul Martz, changes for compiling against OpenGL 3.x 2009-11-03 16:34:54 +00:00
Robert Osfield
08903d65a1 Fixed handling of GL function pointer setup for GLES1/GLES2 targets
Dropped the fixed function pipeline defaults from  StateSet and SceneView.
2009-11-03 11:10:41 +00:00
Robert Osfield
9c5409ad8a Disable the default LightModel for GLES1 and GLES2 targets 2009-11-01 09:51:26 +00:00
Robert Osfield
a4639398e8 Fixed compile issue with Image.cpp and osgautocapture.cpp under GLES.
Fixed handling of EGLDisplay in EGL paths of GraphicsWindowX11
2009-11-01 09:04:41 +00:00
Robert Osfield
519c70ea5f Fixed compile problem due to name change of getGLXContext to getContext 2009-10-31 14:44:43 +00:00
Robert Osfield
68556419cc Fixed build under GLES2 2009-10-30 17:16:50 +00:00
Robert Osfield
93d83010f8 Added EGL support into build system for GLES1 + GLES2.
Added EGL support into GraphicsWindowX11.
2009-10-30 15:17:38 +00:00
Cedric Pinson
7e0a6fa68a From Cedric Pinson, Fix warning in osgAnimation, UpdateCallback. Fix bug removing callback in Action. Fix warning Stats 2009-10-29 16:09:07 +00:00
Robert Osfield
d17d7159a1 Ported osgUtil, osgDB, osgGA, NodeKits and plugins to compile against OpenGL ES 1.1 and OpenGL ES 2.0. 2009-10-28 20:31:57 +00:00
Robert Osfield
c8901d77a2 Fixed build aginst GLES1 and GLES2 2009-10-27 19:17:38 +00:00
Robert Osfield
e720a7a956 Fixed build on OpenGLES-1.1 and OpenGLES-2.0 targets 2009-10-27 18:07:12 +00:00
Cedric Pinson
8454d414a8 From Cedric Pinson, The following commit include:
* Refactore of RigGeometry to support hardware skinning
* Refactore of Timeline to split Action in differents files
* Add example how to use hardware skinning
2009-10-27 15:37:13 +00:00
Robert Osfield
37ee16403a Introduced usage of OSG_GLES*_AVAILABLE macros to headers and .cpp's to enable building against OpenGL ES 1.x and 2.x headers 2009-10-25 11:52:01 +00:00
Robert Osfield
488d108ae0 Updated wrappers 2009-10-25 11:46:11 +00:00
Cedric Pinson
c837d34692 From Cedric Pinson, Simplify update callback api in osgAnimation, the decision to link is on the manager or user 2009-10-23 20:35:31 +00:00
Robert Osfield
2ca76844cc Added missing unbinds of VBO and EBO's to Geometry::drawImplementation(..), fixing crash in osganimationtimeline when stats were enabled 2009-10-23 17:27:54 +00:00
Robert Osfield
327b67a305 Added CMake support for specifying what OpenGL target and features that the OpenSceneGraph build should use.
Added use of the new Cmake generated #define's for optionally compiling parts of the OpenSceneGraph's OpenGL support for the various OpenGL targets
2009-10-23 13:19:57 +00:00
Robert Osfield
023fb109a3 Updated wrappers 2009-10-23 12:28:10 +00:00
Robert Osfield
f467fe3a9c Fixed bug in dispatching per primitive attributes 2009-10-23 12:24:22 +00:00
Robert Osfield
bab4c272d5 Added support for Vec4ubArray colour arrays 2009-10-23 12:22:18 +00:00
Robert Osfield
7c1b3b8552 Fixed handling of Geometry::_internalOptimizedGeometry in the Geometry::drawImplementation(..) 2009-10-23 09:24:44 +00:00
Robert Osfield
9b6e25cf62 Fixed typo and updated wrappers 2009-10-22 12:56:41 +00:00
Robert Osfield
01e781f2e9 Introduced Cmake generated #defines relevant to optionally compile parts of the OSG for different OpenGL targets 2009-10-22 12:06:00 +00:00
Robert Osfield
7690fee435 Updated wrappers 2009-10-22 12:03:36 +00:00
Robert Osfield
2d38e187fd From Cedric Pinson, "Here a patch to be able to clone stateattribute, in order to do that i
moved the StateAttribute::Callback structure to a file
StateAttributeCallback with the same behavior as NodeCallback.
"
2009-10-22 10:33:16 +00:00
Robert Osfield
8efd251b10 Removed old and now redundent code paths 2009-10-22 10:29:43 +00:00
Robert Osfield
f9c69fa7bd Updated wrappers 2009-10-22 09:08:42 +00:00
Robert Osfield
cdf9c4363b Fixed type of GLBeginEndAdapter::MultiTexCoord*() and VertexAttrib*(), and fixed the internal offsets used in MultiTexCoord so it properly used the mapping texture_unit = target - GL_TEXTURE0 2009-10-22 08:51:51 +00:00
Robert Osfield
5e6415696f Removed remaining glBegin/glEnd usage 2009-10-21 16:40:45 +00:00
Robert Osfield
e96642f864 Conveted osgText across to using GLBeginEndAdapter instead og glBegin/glEnd 2009-10-21 16:31:37 +00:00
Robert Osfield
04ddb2dee5 Converted all glBegin/glEnd code across to using osg::GLBeginEndAdapter 2009-10-21 16:16:31 +00:00
Cedric Pinson
4372ec3cba From Cedric Pinson, this commit contains the following change:
* Change ref_ptr to observer_ptr to avoid cross reference and leak in Skinning
* Set invalidate to true to re run the check visitor in Skeleton
* Shallow copy Sampler in channel copy constructor
* Add accessor in VertexInfluence
* Remove dead code in Timeline.cpp
* Dont force linking in Bone::UpdateBone, the decision is done by the user or the manager
* Add offset in timeline stats to display each manager on the screen
* Add a flag in animation manager base to enable or not automatic link when modifying the manager
2009-10-21 15:45:13 +00:00
Robert Osfield
23cfcb423f Removed the disabling of display lists in osg::Geometry to bring it back to it's original behaviour 2009-10-21 14:11:00 +00:00
Robert Osfield
2785ea4dfb Added support for automatic vertex aliasing to new ArrayDispatchers, and updated wrappers 2009-10-21 14:09:12 +00:00
Robert Osfield
9499b19b43 Moved the ArrayDispatchers management so that osg::State now has a ArrayDispatchers object that any osg::Geometry can reuse,
and optimized the implementation to reduce the CPU overhead.
2009-10-21 11:18:13 +00:00
Robert Osfield
b7ffae25ce Updated wrappers 2009-10-20 22:14:59 +00:00
Robert Osfield
6a56b6e6be Refactored osg::Geometry::drawImplementation(..) to use new osg::ArrayDispatchers that encapsulate the task
of dispatch osg::Array data as OpenGL attributes.
2009-10-20 19:34:24 +00:00
Robert Osfield
b0057e258c Fixed typo of osg_ModelViewMatrix 2009-10-20 13:15:01 +00:00
Robert Osfield
1ca1d31482 Fixed computation of osg_NormalMatrix 2009-10-19 08:58:52 +00:00
Robert Osfield
eb9ff0a311 Added support for multitexturing and vertex attributes to GLBeginEndAdapter 2009-10-17 19:22:14 +00:00
Robert Osfield
73ae1637c0 Fixed VS warning 2009-10-17 11:14:03 +00:00
Robert Osfield
37b77a2665 Updated wrappers 2009-10-16 18:50:42 +00:00
Robert Osfield
a0eba771e8 Updated wrappers 2009-10-16 17:22:20 +00:00
Robert Osfield
aefd1513f4 Ported osg::Geometry across to supporting the aliasing of vertex, color and normal etc. calls to Vertex Attributes.
Added support for automatic aliasing of vertex, normal, color etc. arrays to Vertex Attribute equivelants.

Added new osg::GLBeginEndAdapter class for runtime conversion from glBegin/glEnd codes to vertex arrray equivelants.

Added automatic shader source conversion from gl_ to osg_ builtins.
2009-10-16 16:26:27 +00:00
Robert Osfield
9e2567cb88 Made the use of the new projection and modelview matrix uniforms optional 2009-10-11 06:05:19 +00:00
Robert Osfield
d59477c8f7 Updated ChangeLog, wrappers and Contributors lists 2009-10-10 11:28:42 +00:00
Robert Osfield
3fce07e5e5 From Cesar L.B. Silveira, "I have written these few lines of code which allow setting the label
of an osgWidget::Label with an osgText::String. I had to do this on a
project I'm working on, because I needed UTF-8 strings on my labels,
and using setLabel with std::string was not working.
"
2009-10-10 11:06:30 +00:00
Robert Osfield
058d31d7b5 From Mathias Froehlich, "Tha attached change adapt previous attemps to get our application using osg
through microsofts application verifier. The current change should work a
little better ...
The change is based on rev 10605."
2009-10-10 11:00:35 +00:00
Robert Osfield
972e68113d From Mathias Froehlich, "This change eliminate an orphan stats block that sticks somewhere in the
screen stats display."
2009-10-10 10:58:39 +00:00
Robert Osfield
2c4b60cafc Updated wrappers 2009-10-10 10:54:33 +00:00
Robert Osfield
ef1c9d9e3c From David Fries, "The Extensions object was calling _gl_get_query_objectui64v but
checking _gl_get_query_objectuiv_arb which is a different function
pointer.  Changed to check the function being called.

This is against the subversion trunk."
2009-10-10 10:07:40 +00:00
Robert Osfield
a601754450 From Chris Denham, "I discovered a memory leak in the ZIP plugin, which was caused by a missing call to CloseZip.
I attach a modified ReaderWriterZIP.cpp  (based on version 2.9.5 revision 10374).
This includes a little bit of code tidying, but the only functional change is a test of the return value of OpenZip and the addition of a call to CloseZip."
2009-10-10 10:00:13 +00:00
Robert Osfield
590aabb4fa From Stephane Lamoliatte, "Here is a patch wich add two missing GL modes in the osg plug'in." 2009-10-10 09:45:47 +00:00
Robert Osfield
10deffdc41 From Stephane Lamoliatte, "Here is a patch wich improves the support for geometry shaders in OpenSceneGraph.
It adds new PrimitiveSet constants for the specific geometry shader primitive types :
  - LINES_ADJACENCY
  - LINE_STRIP_ADJACENCY
  - TRIANGLES_ADJACENCY
  - TRIANGLE_STRIP_ADJACENCY
It also adds some missing features to the glsl reader plug'in.
"
2009-10-10 09:41:28 +00:00
Robert Osfield
0aed782a47 From Jean-Sebastien Guay, "osgWidget::Window::setWindow() calls parented() (which does an addChild()) on the new window, but it does not call unparented() (which does a removeChild()) on the old window before. So it works fine if there was no window previously, but if an app creates new windows and calls setWindow() to replace the previous one, they will all add up instead and be on top of each other...
This is fixed in the file attached."
2009-10-10 09:26:06 +00:00
Robert Osfield
61544f51b6 From Bob Kuehne, "imageio plugin fix, mac os x : remove double-qualified ctor - illegal syntax under gcc 4.2.1" 2009-10-10 09:23:03 +00:00
Robert Osfield
01b5bf97f4 From Bob Kuehne, "fix for 10.6/darwin: this fix changes what i believe to be a typo in the os x darwinutils file from ID to id, the proper objective-c name for a type." 2009-10-10 09:20:39 +00:00
Robert Osfield
f6166d1119 Introduced new uniforms for tracking the modelview and project matrices in shaders using non built-ins. 2009-10-09 13:39:11 +00:00
Robert Osfield
4ba7a58c85 Fixed vertex attribute access bug 2009-10-08 13:33:41 +00:00
Robert Osfield
2f3c1d0ff8 Quitened down debug messages 2009-10-08 10:44:01 +00:00
Robert Osfield
b9f42413a1 Fixed warning 2009-10-08 07:54:37 +00:00
Robert Osfield
2d26cbe7ab Introduced optional build against the GLU library, using optional compile paths to enable/disable GLU related function.
To toggle the use of the GLU library adjust the OSG_GLU_AVAILABLE variable via ccmake . or CMakeSetup.
2009-10-07 19:42:32 +00:00
Robert Osfield
6992e8eedf Fixed handling of rescale of image 2009-10-07 18:50:01 +00:00
Robert Osfield
284f75a111 Fixed setUsage typo in PixelDataBufferObject, and fixed data pointer management in Texture::applyTexImage2D_subload(). 2009-10-07 13:02:51 +00:00
Robert Osfield
dff56a15c6 From J.P. Delport, fixed bug caused by a typo in PixelBufferObject constructor 2009-10-07 12:54:14 +00:00
Robert Osfield
ae7dfc5796 Fixed warnigns 2009-10-07 09:39:45 +00:00
Robert Osfield
69557c060b Fixed the TextureObject's + GLBufferObject reassignment to a new set.
Disabled the unref after apply for a Texture classes when the texture pool is enabled
2009-10-06 13:42:12 +00:00
Robert Osfield
e6a1429335 Refactored the ::getOrCreate*Object() methods to clean them up and fix a bug in the getOrCreateElementsBuffers method. 2009-10-06 09:28:41 +00:00
Robert Osfield
98c79e4918 From Andreas Goebel, fix to bug in ShapeDrawable::accept(PrimitiveFunctor) implementation for cylinder 2009-10-05 13:41:16 +00:00
Robert Osfield
de88eb197c Removed erroneous inclusion of extra GLBufferObjectManager qualifier that broke Windows build 2009-10-03 15:10:13 +00:00
Robert Osfield
32b21dbb89 Introduced new GLBufferObject pool for managing the memory footprint taken up by VertexBufferObejct, ElementBufferObject and PixelBufferObject. 2009-10-03 09:25:23 +00:00
Robert Osfield
f75013d534 Introduced new BufferObject design + implementation in preperation of implementing a pool system for buffer objects 2009-10-01 20:19:42 +00:00
Cedric Pinson
cfac6a7809 From Michael Platings, In Target, the default constructor is explicitly called on _target. This is necessary for FloatTarget and DoubleTarget so that _target is initialised to 0, otherwise you get a junk value. In MorphGeometry.cpp, UpdateMorph::link now links channels of the same index to the same target. Previously a new FloatTarget was created for each channel, so multiple animations didn't work. 2009-10-01 17:08:16 +00:00
Robert Osfield
2eff3daaab Fixed warning about max texture size being smaller than the currently used texture pool size 2009-09-27 15:21:05 +00:00
Robert Osfield
1fce3c0ad1 Added handling of resetting of the texture object format 2009-09-27 15:14:57 +00:00
Robert Osfield
e59f654290 Added status collection to full range of texture classes 2009-09-27 14:38:38 +00:00
Robert Osfield
9a1cd7072f Improved the computation of the TextureProfile _size value, fixed the computation up of the miplevels 2009-09-26 16:28:42 +00:00
Robert Osfield
4d75729650 Added stats collection to new Texture Pool code, and improved TexturePool implementation.
The Texture Pool can be enabled by setting the env var OSG_TEXTURE_POOL_SIZE=size_in_bytes.
Note, setting a size of 1 will result in the TexturePool allocating the minimum number of
textures it can without having to reuse TextureObjects from within the same frame.
2009-09-25 18:05:54 +00:00
Robert Osfield
a74af20b54 Added return at end of to fix warning 2009-09-24 10:11:32 +00:00
Robert Osfield
0c0f96ac3d Moved setting of TexturePoolSize into State. 2009-09-23 14:54:13 +00:00
Robert Osfield
d56499025b Introduced memory pool size management 2009-09-23 13:51:20 +00:00
Robert Osfield
3d75054e2c Preliminary work on support for a texture object pool that is designed to help manage resources down the GPU more tightly. 2009-09-22 18:45:24 +00:00
Robert Osfield
26925be4f4 Change win32 external library to wsock32.lib 2009-09-20 09:26:26 +00:00
Robert Osfield
c1d67b7e17 Added Ws2_32.lib to link of dicom plugin under Win32 2009-09-19 09:18:42 +00:00
Robert Osfield
b59556e2e6 Updated wrappers 2009-09-14 16:07:27 +00:00
Robert Osfield
e53876bae9 Fixed bug in interpolation of colour values 2009-09-11 13:08:49 +00:00
Robert Osfield
16312a4aa0 Added tf-255 option to volume tag 2009-09-10 16:39:05 +00:00
Robert Osfield
1e768c0631 Added reset of the ImageDetails values of TexelOffset and TexelScale. 2009-09-09 15:22:04 +00:00
Robert Osfield
251ec3c4f0 Added support for using the ImageDetails to fill in the Locator and TexelScale/Offset values in the ImageLayer 2009-09-09 13:31:32 +00:00
Cedric Pinson
d28b052fb7 From Cedric Pinson, remove unsused files include/osgAnimation/AnimationManager and src/osgAnimation/AnimationManager.cpp 2009-09-09 09:54:29 +00:00
Cedric Pinson
9b95a78e5d From Michael Platings, I have removed Target::normalize() as calling it was incorrect - the interpolation is already done in such a way that the Target's value is always normalized.
Finally, I have fixed TemplateTarget<osg::Quat>::lerp() as it was giving incorrect results when interpolating between some small rotations.
From Cedric Pinson, i renamed the method in channel to be more general. Adjusted the CubicBezier key constructor to use a single value as input.
2009-09-09 09:52:54 +00:00
Robert Osfield
a851b0b412 Tweaked debugging info 2009-09-08 15:36:44 +00:00
Robert Osfield
5c2e89ac28 Fixed the set up of osgVolume::ImageLayer scale and offset. 2009-09-08 15:36:28 +00:00
Robert Osfield
b2a3d84d08 Added filter for .filename files 2009-09-07 12:51:00 +00:00
Robert Osfield
7201ce1960 Updated volume setup code to use the new ImageDetails structure. 2009-09-07 10:54:08 +00:00
Robert Osfield
0b3284072d Added check for null masterLocator 2009-09-07 10:50:48 +00:00
Robert Osfield
b9e4313029 Fixed assingment of layerLocator 2009-09-07 08:30:54 +00:00
Robert Osfield
288dd85af4 Added scaling of shader transfer function input values to honour original dicom input values 2009-09-03 14:39:29 +00:00
Robert Osfield
fa84f280f6 Renamed the osgVolume::Layer/ImageDetails parameters RescaleIntercept and RescaleSlope to more general TexelOffset and TexelScale, and changed type to Vec4.
Refactored the transfer function set up in RayTracedTechnique to prepare for new scale and offset uniforms.

Updated wrappers
2009-09-03 13:40:50 +00:00
Robert Osfield
43e3089417 Added support for recording the RescaleIntecept and RescaleSlope from the dicome files and passing these values onto osgVolume::ImageLayer 2009-09-01 10:48:32 +00:00
Robert Osfield
ea43bc7d52 Updated wrappers 2009-08-31 15:10:38 +00:00
Cedric Pinson
641769a681 From Cedric Pinson, add missing files 2009-08-31 10:37:44 +00:00
Cedric Pinson
b6ab5bbe27 From Cedric Pinson, The following modification are
Update Timeline.cpp to add current layer to the ActionVisitor, use correctly the priority
Add accessors in Action.cpp to retrieve protected data
Split files and rename them to classname
Change de default color of UpdateMaterial to FFOOFF to detect unset value
Add accessors in LinkVisitor instead of accessing data directly
Update osganimationtimeline example to fit the api callback
2009-08-31 09:40:56 +00:00
Robert Osfield
79f780d4b8 Fixed the compute of the extents/bounding sphere 2009-08-27 19:25:23 +00:00
Robert Osfield
ca78f3a6bc Added support to .p3d format's volume tag for the properties:
region="xmin ymin zmin xmax ymax zmax"
   alpha="float_value"
   cutoff="float_value"
   sampleDenstiy="float_value"
2009-08-27 16:42:47 +00:00
Cedric Pinson
3f9216800d From Michael Platings, I've moved the matrix updating from UpdateSkeleton to UpdateBone. UpdateSkeleton now merely checks that Bones appear before other children and issues a warning if this isn't the case 2009-08-27 16:21:01 +00:00
Cedric Pinson
729d5205ef From Michael Platings, I've just added a few simple accessors I found necessary 2009-08-26 16:39:53 +00:00
Cedric Pinson
3c45fb1e6c From Michael Platings,
- Animations with equal priority are now weighted correctly relative to each other
- (minor) Channels no longer store their weight as the only time it's used is in update() when Animation can pass in the weight directly
From Cedric Pinson,
- I adjusted the quaternion blending to keep the commutativy property
2009-08-26 09:24:02 +00:00
Robert Osfield
a63dbc225e Fixed osgAnimation wrappers 2009-08-21 13:55:03 +00:00
Robert Osfield
5d7d7137d2 Updated wrappers 2009-08-21 12:53:23 +00:00
Robert Osfield
8f0322d9d1 Fixed handling of double precision bounding sphere type. 2009-08-21 10:18:46 +00:00
Robert Osfield
e8eeaa0c8b From Wojciech Lewandowski, part of the FBO attachment submission 2009-08-21 09:43:41 +00:00
Robert Osfield
613c59ad3b Updated wrappers 2009-08-21 09:42:54 +00:00
Robert Osfield
3f65f4f80b From Wojciech Lewandowski, support for FBO's without colour or depth attachments.
Note from Robert Osfield, I've temporarily re-enabled the old focing of of color and depth attachment to avoid regressions on some OpenGL driver.  We'll revist this once
we have a mechanism for controlling this override at runtime.

#define FORCE_COLOR_ATTACHMENT  1
#define FORCE_DEPTH_ATTACHMENT  1
2009-08-21 09:34:48 +00:00
Robert Osfield
564ae70d45 From Tom Moore, "Parens were being returned when the bracket keys were typed. The fix
is easy and the original code looks like a typo"
2009-08-20 16:05:06 +00:00
Robert Osfield
9347fc1ddb From Colin McDonald, "This file didn't build when OSG_USE_UTF8_FILENAME was on" 2009-08-20 15:32:02 +00:00
Robert Osfield
60253d164d From Colin McDonald, "There is a duplicate class definition in the obj & dxf plugins trunk,
causing static builds to fail."
2009-08-20 15:20:55 +00:00
Robert Osfield
9f454c1714 From Colin McDonald, "The bsp & mdl plugins have calls to atof() without including the
associated <stdlib.h> header.  This breaks the build on my Solaris setup.

Rather than adding the missing <stdlib.h> include, I have changed the
atof() calls to osg::asciiToDouble().  This is the same as was done
throughout the other plugins recently, for locale independance.

I've attached updates to the svn trunk, the fix is also appropriate for
the 2.8.* branch."
2009-08-20 14:59:29 +00:00
Robert Osfield
fe8822e496 Added check against a minimual video size of 10x10 to prevent problems with swscale reporting errors and crashing on small video dimensionsline, and those below, will be ignored--
M    ffmpeg/FFmpegImageStream.cpp
2009-08-20 14:59:00 +00:00
Robert Osfield
850ea3de9f Added support for trimming the contents of parsed Xml graph 2009-08-19 15:36:23 +00:00
Robert Osfield
f3c20310d6 Added tabs to treatment as white space to skyWhiteSpace() 2009-08-18 13:38:17 +00:00
Robert Osfield
1241f8a0d6 Added check for space in option name parsing 2009-08-17 16:07:04 +00:00
Robert Osfield
2d77db3627 Added support for the TabBoxTrackballDragger 2009-08-17 15:46:22 +00:00
Robert Osfield
a1709abbee Changed the autorun keys to 'g' for go, and 'h' for halt. 2009-08-17 15:45:43 +00:00
Robert Osfield
321a404f05 Updated wrappers 2009-08-17 15:24:15 +00:00
Robert Osfield
804f7622cc Moved static string initialization into singleton method 2009-08-17 15:22:01 +00:00
Cedric Pinson
2916d9b7ea From Michael Platings,
Changes to allow osgAnimation::*CubicBezierChannel to be used
Added TemplateStepInterpolator class
2009-08-06 12:40:06 +00:00
Robert Osfield
c24e9330a0 Added support for selecting the TabBoxTrackballDragger using dragger="trackball-box" 2009-08-05 17:01:50 +00:00
Robert Osfield
589629cab8 Introduced TabBoxTrackballDragger 2009-08-05 16:02:44 +00:00
Robert Osfield
93996e6133 Added support for volume tags with properties:
dragger="box" or dragger="trackball"

and

    technique="light" or technique="isosurface" or technique="iso" or technique="mip"

and

    tf="transferfunctionfile.tf"

i.e.

         <volume dragger="box">CardiacCT</volume>
         <volume tf="colour.tf">CardiacCT</volume>
         <volume technique="isosurface">CardiacCT</volume>
2009-08-05 14:37:56 +00:00
Robert Osfield
5b81e1e76f Updated wrappers 2009-08-05 12:51:10 +00:00
Robert Osfield
df9385ac19 Moved the updating and expiry of the Registry object cache from DatabasePager into osgViewer::Viewer/CompositeViewer. 2009-08-05 11:06:53 +00:00
Cedric Pinson
d2af7efc61 From Cedric Pinson, Add UpdateMaterial callback to animate material\nUpdate LinkVisitor to traverse stateset\nUpdate ReaderWriter to read osgAnimation::UpdateMaterial Callback\nUpdate nathan.osg data file to demonstrate the MaterialAnimation 2009-08-03 09:48:12 +00:00
Robert Osfield
91f53369a3 From Terry Welsh, .osg and .ive support for new Text boxes 2009-07-28 06:00:03 +00:00
Robert Osfield
fcaec80dc9 Fixed bug in handling of stereo image pairs 2009-07-27 15:39:27 +00:00
Robert Osfield
e078aad61f Updated wrappers 2009-07-24 15:55:50 +00:00
Robert Osfield
6af1859bc4 From Jason Daly, "This set of changes reworks the BSP plugin to use TexEnvCombine instead of a GLSL program for doing the texture blending on displaced terrain geometry. After working with it a while, I found this method to be more scene graph friendly (at least until Wojtek gets his VirtualProgram scheme working ;-) )
Note that this technique will require ARB_texture_env_crossbar (or NV_texture_env_combine4), as it mixes two textures in the first texture unit, and just does the lighting in the second.  I doubt this will be a problem for any card that can already handle GLSL programs, though."
2009-07-24 15:09:37 +00:00
Robert Osfield
de9ce8a3c0 From Cory Riddell, "The spherical manipulator uses a middle drag event for panning. It was
panning for left-right drags, but was zooming for up-down drags. I
changed it to pan both directions as I believe that is the correct
behaviour. If the original combination pan-zoom behaviour was
intentional, please let me know."
2009-07-24 15:04:46 +00:00
Robert Osfield
31a947fda6 From Terry Welsh, "Okay, here are the mods I wrote for drawing a filled bounding box
behind osgText::Text.  I made it so the box would get drawn using
whichever BackdropImplementation was selected.  However, I did not
implement STENCIL_BUFFER.  In that case it defaults to drawing the
bounding box using POLYGON_OFFSET instead.

Also made it so the BOUNDINGBOX and FILLEDBOUNDINGBOX are drawn with a
settable color and margin size.

While I was at it I tightened up the values applied with DEPTH_RANGE
and POLYGON_OFFSET, not just for drawing the bounding box but also for
drawing backdrop text (these values must be coupled since the bounding
box has to be drawn deeper in Z than the backdrop text).  The values
in use before seemed like overkill and I was seeing some z-clipping
with my background scenery in the case of DEPTH_RANGE.  If there was a
good reason for the large values please let me know...."
2009-07-24 14:59:51 +00:00
Robert Osfield
773ae51a45 From Chris Hanson, typo and comment clean ups 2009-07-24 14:45:44 +00:00
Robert Osfield
68c459ea30 Updated wrappers 2009-07-24 14:45:09 +00:00
Cedric Pinson
5a73834cbe From Cedric Pinson, Store the linkvisitor to be able to configure it by user, like changing the nodemaskoverride, or use a custom LinkVisitor 2009-07-23 12:42:01 +00:00
Robert Osfield
48a1934ca8 From J.P. Delport, "attached a modified jpeg plugin that allows writing of grayscale images." 2009-07-17 07:47:48 +00:00
Robert Osfield
484d8e328a From Fabien Lavignotte,"When exporting some models to OpenFlight, i found a crash if the texture
unit does not contain a TexEnv object.
Here's the small fix, just a test on the pointer."
2009-07-16 12:09:47 +00:00
Robert Osfield
9d04b4d566 From Stephan Lamoliatte, "The vertical anchor is inverted in the osgWidget::Window::update function.
Here is a small patch to fix that."
2009-07-16 12:04:35 +00:00
Robert Osfield
c2c5a82b92 Fixed build. 2009-07-16 11:35:59 +00:00
Robert Osfield
7f1b0055bd Added .get() to fix build 2009-07-16 11:26:14 +00:00
Robert Osfield
9eb03d450d From Jason Daly, "These are some fixes to the mdl and bsp plugins to handle transparency and lighting better, plus a few other tweaks." 2009-07-16 11:21:02 +00:00
Robert Osfield
a232770161 From Colin MacDonald,"The Optimizer Merge Geometry visitor is always merging geometries,
even if they have had DataVariance DYNAMIC explicitly specified.  Then
when an application attempts to dynamically update the geometry in the
frame loop the primitive sets and data arrays are no longer as
expected, leading to display and/or memory corruption.

Attached is a simple fix. "

Note from Robert Osfield, tweaked Colin's changes to that it use != DYNAMIC as the the test rather than == STATIC.
2009-07-16 11:06:31 +00:00
Robert Osfield
3a93bd3fb5 Updated wrappers 2009-07-16 10:56:16 +00:00
Robert Osfield
5496e91f87 Added the ability to turn off the external paging in of PagedLOD children. 2009-07-16 10:13:41 +00:00
Robert Osfield
137605eba8 Added support for using PagedLOD to managing loading of presentation preview and then the main presentation in the background paging thread 2009-07-16 10:12:33 +00:00
Robert Osfield
956bf3e395 Quitened down debug info. 2009-07-15 15:28:19 +00:00
Robert Osfield
c491373698 Cleaned up indenting 2009-07-14 13:32:06 +00:00
Robert Osfield
adc68d79af Converted code to use osg::asciiToFloat() instead of relying upong the C libraries sscanf to read floats as the C library is locale sensitive. 2009-07-14 13:30:28 +00:00
Robert Osfield
65c8357f76 From Alexandre Amalric, "I'm using osg svn version 2.9.5 and I've apparently found a bug in osgPlugin logo.
When using more than one view logosCullCallback function is called without checking context ID from the cull visitor is equal to logo _contextID variable. It involves updating logo's viewport with different sizes.
So I made a fix well working, at least the way I use the plugin."

Note, from Robert Osfield, changed code to return true to signal culling of logo when being applied to a window that it wasn't assigned to.
2009-07-14 12:22:47 +00:00
Robert Osfield
cc37d7f439 Moved the getting of the ReaderWriter to do the actual model loading to later so that it only gets invoked when required. 2009-07-14 11:19:22 +00:00
Robert Osfield
424e892f99 Quietened down debug messages, and added early return when filename contains server address. 2009-07-14 11:18:11 +00:00
Robert Osfield
f9517fde6a Refactored the setup of the reading of the wrl file by allow reading from istreams, as well as nesting of filepaths using a local osgDB::Options to prevent threading issues.
Also fixed crash in parsing of the vrml data structures that occurred when no vrml material was assigned.
2009-07-14 10:37:31 +00:00
Robert Osfield
c690dfec50 Quitened down debug messages 2009-07-14 10:35:53 +00:00
Robert Osfield
148798137c Fixed the handling of compressed files 2009-07-14 10:04:18 +00:00
Robert Osfield
bedd22de23 From Cory Riddel based on suggestion from Robert Osfield, "I've been running with your suggested changes for a few days now and it
has been working perfectly. I'm still not entirely clear why adding a
slave/subgraph causes the problem."
2009-07-13 16:39:51 +00:00
Robert Osfield
9aa6d33980 From David Fries, "Comparing the win32 barrier to the pthread barrier, win32 puts the
while in an else clause.  When if is true the phase changes and the
while condition will always by false, so might as well put the while
in the else to skip the check.  There's also a benefit to having the
code logic similar between platforms.
"
2009-07-13 16:14:43 +00:00
Robert Osfield
3983f38f18 From David Fries, "Here is a fix for a deadlock seen under Windows using OpenThreads
Barrier operations.  The error is with atomic operations in the
win32 condition implementation.  The attached sample program will
reliably trigger with as few as three threads and a dual core system,
though sometimes it will take 65,000 iterations.

2.8.1 was the base for these changes

Win32ConditionPrivateData.h
Win32ConditionPrivateData::wait does two operations to decrement
waiters_ then read, when InterlockedDecrement decrements and returns
the value in one operation.  The two operations allows another thread
to also decrement with both getting 0 for an answer.

Win32ConditionPrivateData::broadcast is using waiters_ directly
instead of using the w value read earlier, if it was safe to use
waiters_ directly there would be no need for InterlockedGet or w.

overview of deadlock in barrier with three threads
one thread in broadcast, 2 threads in wait,
release semaphore 2, waits on waiters_done_
both threads wake, decrement waiters_, get 0 for w,
       <logic error here>
one calls set waiters_done_,
broadcast thread comes out of waiters_done_,
other thread calls waiters_done_, (which leaves waiters_done_ in the
signaled state)
       <sets the trap>
broadcast thread returns releases mutex, other threads get
mutex and also return,
next barrier, first two threads enter wait, one goes to broadcast, release
semaphore 2, skips waiters_done_ as it had been released last time
returns, processes, enters the barrier for the next barrier operation
and waits,
three threads are now in wait, two have the previous barrier phase,
one the current phase, there's one count left in the semaphore which a
thread gets, returns, enters the barrier as a waiter, sleeps, and the
deadlock is completed"
2009-07-13 16:05:57 +00:00
Robert Osfield
c47c0c2a26 From Stephan Huber, "ttached you'll find a small fix for the
GraphicsWindowCocoa-implementation, which enhances multithreaded
stability, it ensures that modifications to the size of an openglcontext
is done only from one thread.
"
2009-07-13 08:30:20 +00:00
Robert Osfield
6e6a7c960e Added Dragger::s/getActivationModKeyMask(..) and Dragger::s/getActivationKeyEvent(...) methods to make it possible to have draggers that only respond when you press a specified modified key or standard key.
Changed the optional dragger in osgvolume to require the shift key to be pressed for the dragger to become active.
2009-07-03 19:16:53 +00:00
Robert Osfield
cb1b874167 From and incorported the addition from Paul Fotheringham, addition of define VCL_CAN_STATIC_CONST_INIT_FLOAT to be zero to solve build error under Linux
From Robert Osfield, general cleaned up ITK side to CMakeList.txt.
2009-07-03 19:07:02 +00:00
Robert Osfield
1d320d3ca1 To the ITK code path added support for handling a whole directory of dicom files. 2009-07-03 18:58:01 +00:00
Robert Osfield
48d28aaf1a Updated wrappers 2009-07-03 10:27:58 +00:00
Robert Osfield
48dddc37b8 Introduced a Locator callback and associated usage of this callback to provide interactive updating of the volume bounds 2009-07-03 05:25:08 +00:00
Robert Osfield
a4dedc227b Refactored RayTracedTechnique to allow the position of the rendered part of the volume to be decoupled from the image data. 2009-07-02 18:49:59 +00:00
Robert Osfield
2232bd5ee5 From Byran Thrall, "The OpenFlight plugin doesn't handle unrecognized options or extra
whitespace in all cases, causing it to crash."
2009-07-01 15:39:06 +00:00
Robert Osfield
8107bd0540 Added osgGA to the dependency list 2009-07-01 14:04:46 +00:00
Robert Osfield
2525bb5d06 Completed refactor of osgManipulator, key changes are:
Selection is now just a typedef of osg::MatrixTransform, and is deprecated

   CommandManager is shell class that just sets values directly on Dragger, and is deprecated

   Dragger now has list of DraggerCallback that takes over the roll of tracking changes to the Dragger, and
   allows users to track the dragger in any way they wish.

   Dragger now has a convinience method making MatrixTransforms track a dragger.

   Selection and CommandManager are no longer required for use of osgManipulator and are kept around for backwards compatibility.
2009-07-01 14:01:09 +00:00
Cedric Pinson
4e305cf46b From Cedric Pinson, i miss to commit the file that contains the osgAnimation::StripAnimation::traverse 2009-07-01 09:30:44 +00:00
Robert Osfield
7904fe71a5 Simplified Command and CommandManager 2009-06-30 13:00:58 +00:00
Cedric Pinson
2c012faee4 From Cedric Pinson, Traverse StripAction instead of applying, this fix the execution of FrameCallback in BlendIn, BlendOut and AnimationAction\nFix warning of osgAnimation::StatsHandler\nFix crash when running example osganimationtimeline without nathan.osg in OSG_FILE_PATH or with bad file 2009-06-30 11:55:49 +00:00
Robert Osfield
a2ae370c8e Refactored osgManipulator so that CommandManager is no longer required, instead Dragger directly manages Constaints and associate Selections. 2009-06-30 11:39:39 +00:00
Robert Osfield
a73a403301 Updated wrappers 2009-06-30 07:33:16 +00:00
Robert Osfield
e30e4df30c Introduced event handling directly into osgManipulator::Dragger to allow it be used with a global event handler passing in events. 2009-06-29 21:32:10 +00:00
Robert Osfield
8aaedda982 Changed the definition of HAVE_CONFIG_H so that it's only defined when on a now windows system, so to allow the dcmtk/osconfig.h to include the correct header on unix vs widows. 2009-06-26 16:52:27 +00:00
Robert Osfield
063bc6e513 Added search in /usr/local/dicom for dcmtk. 2009-06-26 16:39:44 +00:00
Robert Osfield
85456b1ac1 Fixed warning 2009-06-26 08:16:03 +00:00
Robert Osfield
a58ea5c87c Fixed warning 2009-06-26 08:14:09 +00:00
Robert Osfield
214e1b81ed Simplified throw rate code, and add throw rate compensation into zoom in/out code. 2009-06-25 18:31:43 +00:00
Robert Osfield
b1a99ba25f From Lee Bulter, "I noticed that when "throwing" things the rate of motion once thrown was
dependent on the complexity of the geometry. For complex scenes this
meant that it looked like you were "throwing" the display into molasses.
For simple geometry things get over-excited once thrown.

The fix is to factor in the frame rendering time to the caluclated
motion. I've implemented this for rotation and panning.

Now when things are thrown they maintain a rate very close to what was
happening when the mouse button was released."
2009-06-25 18:11:29 +00:00
Robert Osfield
44a8e850f4 Fixed library definition 2009-06-25 18:03:30 +00:00
Robert Osfield
3a65636893 From Stephan Huber, fixes to Cocoa support 2009-06-25 16:12:58 +00:00
Robert Osfield
06abd75198 From Mathias Froehlich, "We are currently getting issues with locale settings and some osg plugins.
Therefore I have changed all the occurances of atof by asciiToFloat or
asciiToDouble.

I believe that it is safe to do so at least for all the plugins.
Included here are also asciiToFloat conversion of environment variables. One
might argue that these should be locale dependent. But IMO these should be
set and interpreted by osg independent of the current locale.
"
2009-06-25 16:07:49 +00:00
Robert Osfield
d167142a59 Fixed warnings and refactored FindFFmpeg.cmake and ffmpeg plugin CMakeLists.txt scripts to better handle different instation combinations 2009-06-25 16:02:23 +00:00
Robert Osfield
d1eb4fd5de Converted tabs to spaces 2009-06-25 13:31:48 +00:00
Robert Osfield
294504cb58 From Mathias Froehlich, "put texturemanager into osg namespace." 2009-06-25 13:13:54 +00:00
Robert Osfield
c5c71f519c From Serge Lages, "Here is a little fix for the FFmpeg plugin. Previously the path computed by osgDB::findDataFile was not used, preventing loading files from directories inside the data path list." 2009-06-25 13:10:31 +00:00
Robert Osfield
0ad020bf16 From Ulrich Hertlein, "please find attached some typo fixes in DatabasePager and a tweak to only print the addLoadedDataToSceneGraph stats when some work was actually done." 2009-06-25 13:00:01 +00:00
Robert Osfield
3aded84015 From Cory Riddell, "I added an _allowThrow boolean along with a getter and setter to the
spherical manipulator. The default value is true.

This is very similar to the flag in trackball."
2009-06-25 09:14:47 +00:00
Robert Osfield
d4b065de53 Added osgFX depedency 2009-06-25 08:53:28 +00:00
Robert Osfield
0b33bba514 Added osgVolume dependency 2009-06-25 08:52:23 +00:00
Robert Osfield
f043a4ec75 Added CMakeLists.txt for osgPresentation 2009-06-25 07:42:10 +00:00
Robert Osfield
02defea1b0 Added use of REGISTER_OGRPLUGIN to enable static linking of plugins 2009-06-24 17:37:59 +00:00
Robert Osfield
41dc916e77 Added support for static compilation of pdf plugin 2009-06-24 17:33:01 +00:00
Robert Osfield
95355c2a49 Refactored preset3D/p3d plugin so that common scene graph extensions and classes now live in a separate osgPresenttation NodeKit. 2009-06-24 16:03:49 +00:00
Robert Osfield
5c0148106c Refactored the FFmpeg find script and the pdd CMakeLists.txt to improve the automatic detection of the required facilities 2009-06-24 10:26:48 +00:00
Cedric Pinson
51579cf436 From Cedric Pinson, Fix the drop of the first frame of action when adding action with addActionNow\nReport stats only for active animations\nAdd priority to RunAction callback 2009-06-24 10:10:09 +00:00
Cedric Pinson
8955321dcc From Cedric Pinson, Fix clone operation for osgAnimation::Animation 2009-06-23 12:59:01 +00:00
Robert Osfield
085f2c19dd Fixed warning 2009-06-23 11:33:59 +00:00
Robert Osfield
719b6cf1bf Added explict search for stdint.h 2009-06-23 10:53:55 +00:00
Cedric Pinson
bf20382acc From Cedric Pinson, fix clone for UpdateTransform 2009-06-22 18:04:36 +00:00
Robert Osfield
76de3e6a02 Fixed swap size 2009-06-22 16:02:38 +00:00
Cedric Pinson
658d96aa64 From Cedric Pinson, fix constructors for cloning osgAnimation objects 2009-06-22 14:24:59 +00:00
Robert Osfield
abc0b5b10d Added mutex lock to iniGLNames to prevent threading problems during initialization 2009-06-21 17:28:59 +00:00
Robert Osfield
771101d79b Added support for initial cut of static build of Present3D. 2009-06-20 17:03:38 +00:00
Robert Osfield
cc4cc7b403 From Farshid Lashkari, "I found a bug in the osgText library in version 1.2 that I believe still exists in the latest version.
I found that changing the alignment of a text object does not work properly if the text contains newline characters. I've attached a simple test case that shows the problem. If I set the text AFTER setting the alignment, everything works fine. But if I set the text BEFORE setting the alignment then the text is displayed incorrectly.

The fix is very simple. Instead of calling computePositions() in TextBase::setAlignment(), it calls computeGlyphRepresentation(). I've attached the modified TextBase.cpp."
2009-06-20 11:35:22 +00:00
Robert Osfield
f79232495f Updated wrappers 2009-06-20 08:18:58 +00:00
Robert Osfield
6dbb6dc0ae From Gino van den Bergen, "AFAICS, OSG's OBJ loader correctly handles backslash-newlines that are used for continuation of lines. However, I recently ran into a problem with OBJs that where converted from another source using Right Hemisphere Deep Exploration. In these OBJs newlines are escaped in the following way:
f  15939/9999/16177 15941/10000/16178 15940/10001/16179\
15938/10002/16180

In the OBJ loader the newline would be interpreted as follows

f  15939/9999/16177 15941/10000/16178 15940/10001/1617915938/10002/16180

However, for correctly loading the model it should be interpreted as

f  15939/9999/16177 15941/10000/16178 15940/10001/16179 15938/10002/16180

Thus, the escaped newline should be interpreted as a space.

I tried to lookup what the correct interpretation for a backslash-newline was in the OBJ spec but did not find anything useful. Nevertheless, my suggestion would be to adopt replacing the escaped newline by a space in order to avoid problems as stated above. I cannot imagine a meaningful usage of a newline within a numerical literal so I do not foresee cases where replacing a backslash-newline by a space would be harmful. The fixed obj.cpp is zipped and attached to this mail."
2009-06-19 14:14:26 +00:00
Robert Osfield
4d19bed7f2 Changed the debug output so that the code path is not run unless it's needed 2009-06-19 13:53:35 +00:00
Robert Osfield
9559498db6 From Jean-Sebastian Guay and Robert Osfield, added line numbers to debug shader output 2009-06-19 13:50:14 +00:00
Robert Osfield
85bb6b327d From Wojciech Lewandowski, "Here are my changes:
- osg::Texture sets GL_MAX_TEXTURE_LEVEL if image uses fewer mipmaps than
number from computeNumberOfMipmaps (and it works!)
- DDS fix to read only available mipmaps
- DDS fixes to read / save 3D textures with mipmaps ( packing == 1 is
required)
- Few cosmetic DDS modifications and comments to make code cleaner (I hope)

Added _isTextureMaxLevelSupported variable to texture extensions. It
could be removed if OSG requires OpenGL version 1.2 by default.

Added simple ComputeImageSizeInBytes function in DDSReaderWrites. In
my opinion it would be better if similar static method was defined for
Image. Then it could be used not only in DDS but other modules as well (I
noticed that Texture/Texture2D do similar computations).

Also attached is an example test.osg model with DDS without last mipmaps to
demonstrate the problem. When loaded into Viewer with current code and moved
far away, so that cube occupies 4 pixels, cube becomes red due to the issue
I described in earlier post. When you patch DDS reader writer with attched
code but no osg::Texture yet, cube becomes blank (at least on my
Windows/NVidia)  When you also merge osg::Texture patch cube will look right
and mipmaps will be correct."
2009-06-19 11:55:52 +00:00
Robert Osfield
d0916e63c6 Updated wrappers 2009-06-19 11:16:24 +00:00
Robert Osfield
82b329b0a7 Added append() method 2009-06-19 11:04:48 +00:00
Robert Osfield
93a0391dc3 Added clears to various vectors being passed in to get*() methods. 2009-06-19 11:00:33 +00:00
Robert Osfield
677256c724 From Cory Riddell, "I added a line to clear the threads vector prior to populating it in
Viewer::getAllThreads(). This is consistent with what happens in
Viewer::getOperationThreads()."
2009-06-19 10:55:12 +00:00
Robert Osfield
1523032d2b From Cedric Pinson and Robert Osfield, addition of NodeCallbacks to osg::CopyOp and osg::Node copy constructor. 2009-06-18 10:01:39 +00:00
Robert Osfield
1742810b59 Updated wrappers 2009-06-18 08:22:24 +00:00
Robert Osfield
17db679ff0 From Rene Molenaar, "The bug is as described above:
"The dragger's corner tabs are no longer in the corners."

this fix places the cornertabs back in the corners.
(the manipulator does not make sense otherwise)."
2009-06-18 08:18:10 +00:00
Robert Osfield
73b423ad85 Replaced forward declarations 2009-06-17 16:54:39 +00:00
Robert Osfield
3a3a8567d4 Added ".added", ".modified" and ".removed" alias to .revisions plugin 2009-06-17 16:54:12 +00:00
Robert Osfield
ba5b79c220 Updated wrappers 2009-06-17 15:12:58 +00:00
Robert Osfield
acf07b5b22 Made method names consistent with each other 2009-06-17 15:12:50 +00:00
Robert Osfield
29502d8d23 From Alberto Luaces, "the new changes in osgAnimation showed some errors on the Cygwin
platform:

1 - osgAnimation/StatsHandler includes <cmath>, but on Cygwin only std::isnan
is defined that way. I changed it to <math.h> as it is done in the rest of
the OSG.

2 - Pulling some osgViewer headers from the same file in osgAnimation makes
the former a new dependency. Thus, I got errors at osgAnimation linking time.
I wonder why nobody noticed this on other platforms. I have updated the
CMakeLists.txt file in order to link to the needed libraries, and

3 - I have updated the openscenegraph-osgAnimation.pc.in file accordingly."
2009-06-17 11:00:14 +00:00
Robert Osfield
ad8f2d8974 Changed build OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION to ON and then fixed all the resulting build errors. 2009-06-17 10:39:39 +00:00
Robert Osfield
bf895e5c98 Updated wrappers 2009-06-16 13:02:33 +00:00
Cedric Pinson
93cafb2292 From Cedric Pinson, Fix osgAnimation warning and errors 2009-06-16 12:32:02 +00:00
Cedric Pinson
a6e57f6e46 From Cedric Pinson, Fix osgAnimation warning and errors for Bone.cpp 2009-06-16 12:22:36 +00:00
Cedric Pinson
c4c5ca7566 From Cedric Pinson, split timeline classes in differents files, cleanup and add a statshandler to visualize current action in timeline 2009-06-15 14:48:37 +00:00
Cedric Pinson
b2943aa50a From Cedric Pinson, fix copy constructor for clone operation for Bone, add a missing contructor with quaternion for Target 2009-06-14 23:30:47 +00:00
Robert Osfield
c78e41ede6 Updated wrappers 2009-06-12 10:37:42 +00:00
Robert Osfield
d60801be3f From Mathias Froehlich, "attached is a change to the ProxyNode that also includes ProxyNode local
database options like recently added to PagedLOD.

Also there is a change to the traverse method:
The previous ProxyNode checks the VisitorType to be a CULL_VISITOR and the
presence of a request handler to submit a database request.
In contrast to that PagedLOD uses the request handler if it is there - even if
the visitor type is not a cull visitor.
The change removes the cull visitor test from the ProxyNode so that it behaves
like the PagedLOD.
I believe that the presence of a request handler in a visitor might be
sufficient to trigger the requests as this is done in the PagedLOD anyway.

Based on rev 10332."
2009-06-12 10:08:15 +00:00
Robert Osfield
a921031034 From Stephan Huber, "here are some small fixes/enahncements for the cocoa backend to allow
proper functioning when running the osgViewer run-loop in a secondary
thread (e.g. when embedding GraphicsWindowCocoa-windows in a full blown
cocoa application).

OS X is picky when you want to change the user-interface from another
thread than the main thread, not all UI stuff is thread-safe. So now
window closes and showing / hiding the menu bar is done in the main
thread via Cocoa's performSelectorOnMainThread-mechanism.

These changes don't affect the normal osgViewer usage pattern."
2009-06-12 10:00:08 +00:00
Robert Osfield
4845fe23ae From Laurens Voerman, "there seems to be a bug in the proxynode writer introduced in svn rev 10330. It craches on a null pointer for options (on my windows system).
Fixed version of the file "src\osgPlugins\osg\ProxyNode.cpp" attached, based on svn rev 10332."
2009-06-12 09:57:45 +00:00
Robert Osfield
01c6d4f448 From Konstantin Sinitsyn, "I've fixed bug with loading of compressed texture to texture array!" 2009-06-12 09:48:59 +00:00
Robert Osfield
fac2ffecb3 From Roger James and Robert Osfield, clean up of COLLADA CMake support 2009-06-12 09:41:10 +00:00
Robert Osfield
19ebaaac00 Fixed copy constructor 2009-06-11 15:13:04 +00:00
Robert Osfield
27cf68b22d Replaced frame delta computation that was originally based on a local static variable, replacing it with member variable to tracking the previous frame time. This fixes a bug in the wind computation when multiple PrecipitaionEffects are in the scene. 2009-06-11 14:56:54 +00:00
Robert Osfield
e5a436b131 From Emmanuel Roche, "I've updated the CURL plugin to support the CURL_CONNECTTIMEOUT and CURL_TIMEOUT options.
Those two additional options can now be set using the Options::setOptionsString() function (just like the already existing OSG_CURL_PROXY & OSG_CURL_PROXYPORT options).

This is a convient solution to limit the freezing effect one may face in case the targeted server is down or too slow.

I successfully compiled and used this updated version on Windows in my application.

And by default those settings are not set (so no change in the behavior if you don't need them).
"
2009-06-10 09:24:12 +00:00
Robert Osfield
150c2e5fa1 From Gustav Happalahti, fixed filename usage 2009-06-09 08:43:13 +00:00
Robert Osfield
3171be0ff7 From Gustav Haapalahti and Robert Osfield,
First Submission email from Gustav:
"This submission adds a --cache option to osgconv and osgviewer that enables setObjectCacheHint(osgDB::Options::CACHE_ALL); It greatly reduces memory usage when a .osg file has lots of external references with ProxyNode:s that points to the same file.

Options are also added to the osg plugin. The code was already mostly implemented but there was no way to change the options.
includeExternalReferences
writeExternalReferenceFiles
A counter is added to keep track if an external file has already been written down to avoid writing the same file over and over again. If it has already been written once then it is not written again.
The counter is added to the Output class in osgDB.
"

Second Submission email from Gustav:
"This is a continuation to my previous submission.
I noticed that the same problem that I fixed in ProxyNode.cpp for the osg plugin (external files being written over and over again) also existed in the ive plugin. I attached a submission where the ive plugin remembers which external files that have already been written and do not write them again."


Changes to the above done by Robert Osfield,

    changed command line parameter to --enable-object-cache
    changed set/get methods in osgDB::Output and ive/DataOutputStream.cpp to be s/getExternalFileWritten(const std::string&)
    cleaned up set up of osgDB::Options.
2009-06-08 16:50:50 +00:00
Robert Osfield
e1b7de4b3d Martin Beckett, "Here's a first attempt at a DXF writer plugin
At the moment it outputs DXF for whatever geometry is contained in the node it would be nice to draw the model as it is rendered (points/lines/surface)

If people could also test against other apps that need to read DXF, the format is a bit of a black art and not all importers support all features so it might need some options to tweak the output.

It has some rather clever colour lookup stuff to match real colours against the limited DXF palette. I cracked the code of the Autocad indexed colours!"
2009-06-08 14:06:58 +00:00
Robert Osfield
148bd9f232 From Mathias Froehlich, "Without this change packed depth stencil attachments are only supported if the
GL_EXT_framebuffer_blit extension is available. This is due to the early
return from the constructor if this is missing.
As far as I read the standard extension documents, this blit call is not
required to have packed depth stencil fbos.
The change fixes this and allows packed stencil attachments on machines
without the multisample blit command."
2009-06-08 13:51:24 +00:00
Robert Osfield
3ec6c6a4d9 Addded .ive and .osg support for new GL_EXT_blend_equation_separate properties in osg::BlendEquation 2009-06-08 13:47:25 +00:00
Robert Osfield
58184612d4 From Konstantin Sinitsyn, support for GL_EXT_blend_equation_separate extension like in osg::BlendEquation. 2009-06-08 13:46:39 +00:00
Robert Osfield
24a8b2acd7 From Lionel Lagarde, "this correction makes the intensity interpolated in the correct direction when the angle is between _cosFadeAngle and _cosAngle." 2009-06-08 11:12:34 +00:00
Robert Osfield
60f29aeb37 Fixed warning 2009-06-08 10:54:16 +00:00
Robert Osfield
9dfcb2530b Changed the file search path so it returns an empty string when the filename contains a server address. 2009-06-08 10:27:21 +00:00
Robert Osfield
0fe8084499 From Johan Nouvel, fix to handling of transparent textured objects.
Tweak from Robert Osfield, commented out disabling of depth write as this is not appropriate by default.
2009-06-08 09:47:27 +00:00
Robert Osfield
aa69137fb8 Added collateReferencesToDependentCameras() and clearReferencesToDependentCameras() methods into RenderStage and SceneView, and use
of these methods in src/osgViewer/Renderer.cpp to make sure that the draw thread keeps references to all in scene graph Cameras
that are being used by the drawing threads, to keep the Camera's alive even when the main thread removes these Cameras from the scene graph.
2009-06-05 19:05:37 +00:00
Robert Osfield
482a18b9f2 Added depends_on template and usage in RenderBin to help with static variable destruction ordering 2009-06-05 11:48:35 +00:00
Robert Osfield
647d54bda8 Fixed warning 2009-06-05 10:42:53 +00:00
Robert Osfield
4b1686a50a Updated wrappers 2009-06-04 14:37:02 +00:00
Robert Osfield
40155d59b4 Implemented updating of revision files as new data is writing to the FileCache 2009-06-04 14:07:12 +00:00
Robert Osfield
1f878303b4 Implemented DatabasePath in DatabaseBase revision classes 2009-06-02 16:54:34 +00:00
Robert Osfield
55ae7c05bc Refactored the adaption of X11 key symbols into OSG key events to fix problems with handling wide range of locales. 2009-06-02 08:56:32 +00:00
Robert Osfield
83e47c0de6 Moved assigned of texture object to _textureObjectBuffer to earlier in Texture2D::apply() to prevent problems with non power of two texture mipmap generation. 2009-06-02 08:53:21 +00:00
Robert Osfield
d849574a93 From Wojciech Lewandowski, Fixed handling of empty Program. 2009-06-01 11:22:42 +00:00
Robert Osfield
4b769494cb From Emmanuel Roche, "I've also updated the computeBound() method from the osg::Transform class : this method was using float based temporary variables and thus the double precision is lost here. I've changed that to use the generic types osg::BoundingSphere::vec_type and osg::BoundingSphere::value_type instead." 2009-06-01 11:08:34 +00:00
Robert Osfield
378ceebf84 From Emmanuel Roche, "I'm joining an updated version of the file daeWritter.cpp and daeWriter.h for the collada plugin compatible with the usage of double precision BoundingSphere & BoundingBox. The only change is the addition of the template specialization for osg::Vec3d object (until now only the specialization for osg::Vec3 was defined, I replaced that with osg::Vec3f to be more "precise")." 2009-06-01 11:07:07 +00:00
Robert Osfield
aa97f1d86a Updated wrappers 2009-05-30 07:39:59 +00:00
Robert Osfield
986fc05ac1 Added revisions plugin in support of paged database revisions. 2009-05-29 18:24:47 +00:00
Robert Osfield
58b37caecb Updated wrappers 2009-05-29 08:46:58 +00:00
Robert Osfield
23c7646702 Introduced first iterations of DatabaseRevision classes for managing the revisioning of http hosted databases 2009-05-29 08:24:11 +00:00
Robert Osfield
2c9b4834af Fixed warning 2009-05-28 16:46:11 +00:00
Robert Osfield
4f0d658ce9 From Mathias Froehlich, "This frees some memory that is allocated by the X11 functions." 2009-05-28 14:15:36 +00:00
Robert Osfield
bf69b168b4 Fixed unitialized variable 2009-05-28 14:12:03 +00:00
Robert Osfield
f80033d892 From Stephan Huber, "attached you'll find a small fix for GrphicsWindowCocoa. There was a bug
with certain key-strokes, which led to a crash."
2009-05-28 14:09:16 +00:00
Robert Osfield
07cf3ecd11 From Gregory Jaegy and Robert Osfield, added support for static linking of OpenFlight plugin 2009-05-28 13:29:20 +00:00
Robert Osfield
8e2b2031e2 From Neil Hughes, "Two changes here...
1. I've implemented an option controlled route by which users can still access the old method of extracting the zip content to the local filesystem. This is in response to Ulrich's comments about zip files encorporating files other than those that OSG knows about, but which an application may require.

To access this the user makes the following call on their options object that they pass to the reader. Without it, the plugin will extract by default to memory.

local_opt->setPluginStrData("zipextract","filesystem");


2. The second change is that I've moved the declaration of one of the variables to within the numitems loop so that if loading of a specific file within the zip fails, subsequent files still load correctly. This was the issue that Ulrich raised."
2009-05-28 12:25:35 +00:00
Robert Osfield
f49c026803 Updated wrappers 2009-05-28 08:25:18 +00:00
Robert Osfield
b7db15bdad Fixed glStencilMask setting. 2009-05-27 12:11:41 +00:00
Robert Osfield
45ec1a163c Added support for RenderBin::SortMode::TRAVERSAL_ORDER to enable rendering of scene graph drawables in the order that they were traversed in. 2009-05-27 09:54:17 +00:00
Robert Osfield
885a7893b8 From Jan Ciger, "I am attaching the updated VRML plugin, as promised. This version works
with OpenVRML 0.17.12 and Boost 1.38. Other versions may work too, but I
didn't test that."
2009-05-26 14:22:56 +00:00
Robert Osfield
e24dad3b71 From Ulrich Hertlein, "please find a patch for the DirectX loader to use std::istreams. This will make it usable with the zip plugin." 2009-05-26 11:00:26 +00:00
Robert Osfield
1f9ef36545 Refactored the GraphicsWindowX11::adaptKey() implementation so that it always uses the reampX11Key(ks) method, and for the mapping to handle case correctly. 2009-05-25 16:34:26 +00:00
Robert Osfield
b1170638c7 Updated wrappers 2009-05-25 12:07:34 +00:00
Robert Osfield
9644b25b9e Added initializer of ParticleSystemUpdater::_frameNumber 2009-05-25 11:16:54 +00:00
Robert Osfield
5944ddf255 From Wojciech Lewandowski, "Two fixes for LUMINANCE and ALPHA_LUMINACE pixel formats written into DDS file. Component masks were incorrect. I tested results with ultimate DDS compatibitlity tester ie Microsoft DirectX Texture tool ;-). I have also added comment with warning about possible problems when writing other than 8 bit component pixel formats.
"
2009-05-25 11:12:38 +00:00
Robert Osfield
e9422b4120 From Colin McDonald, "The latest osg::notify is crashing at initialisation on Solaris, due to
constructor issues:

Within the NullStream & NotifyStream classes the base class objects
(ostream) were being initialised before the class member _buffer objects
which they referenced, causing a crash.

I had to move the file scope g_NullStream & g_NotifyStream initialisation
into a function to get them to work.

Also there was a missing osg:: qualifier on getNotifyHandler."
2009-05-25 10:46:37 +00:00
Robert Osfield
cfdccbfed6 Fixed handling of case where the master and the slave camera are placed on the same GraphisContext, or when the master camera and slave camera are assigned to different Camers. Note normally one doesn't mix master with GraphicsContexts and slave cameras so neither case is common. 2009-05-21 16:33:38 +00:00
Robert Osfield
27ae00630d Added a default value to avoid warning 2009-05-21 08:37:04 +00:00
Robert Osfield
9db74b8623 Fixed warnings 2009-05-20 12:14:45 +00:00
Robert Osfield
86479b0a73 Fixed warnings 2009-05-20 12:06:57 +00:00
Robert Osfield
40bf035420 Updated wrappers 2009-05-20 11:14:27 +00:00
Robert Osfield
56c32eb131 Changed TerrainManipulator to use HEADING rather than AZIM to keep it consistent with SphericalManipulator 2009-05-20 11:08:57 +00:00
Robert Osfield
cd18dc01da Converted SphericalManipulator to use Elevation and Heading rather than Zenith and Azimuth. 2009-05-20 10:58:29 +00:00
Robert Osfield
7530915985 Updated wrappers 2009-05-19 15:10:41 +00:00
Robert Osfield
94c629b972 Attempt to fix Cygwin build failure 2009-05-19 12:25:54 +00:00
Robert Osfield
4d9d02e880 Changed the default home position so that it's consistent with other OSG manipulators. Added setter of properties of the SphericalManipualtor, moved across to using doubles internally 2009-05-19 12:21:42 +00:00
Robert Osfield
22fa18d585 From Mojtaba Fathi, "I've developed a new manipulator which uses azimuth and zenith angles to rotate scene and so avoids Roll angle rotation, such that scene is always seen as Z upward." 2009-05-19 11:18:03 +00:00
Robert Osfield
d85a2e2836 From Stephan Huber, "when using windownames and switching between fullscreen and windowed
mode GraphicsWindowCocoa crashes. Attached you'll find a fix for that bug.
"
2009-05-19 10:45:57 +00:00
Robert Osfield
ef14ed46f4 From Stephan Huber, replaced #include <malloc.h> with #include <stdlib.h> to fix build under OSX 2009-05-19 10:42:49 +00:00
Robert Osfield
37e93880e9 From Neil Hughes, intergrated support for uncompressing zip files in memory and from istreams (enabling reading from http). 2009-05-19 09:26:22 +00:00
Robert Osfield
4dd7a87aaa Added enable of clear stencil and depth mask to ensure that stencil and depth buffers are always cleared when required 2009-05-18 15:46:02 +00:00
Robert Osfield
eab39329c5 From Roland Smeenk, "Attached you will find some changes to the dae plugin to improve light support.
-Changed the addition of lights to add the lightsource directly into the scenegraph (instead of below a switch node)
-All added lights are enabled in the root stateset and replace the head- or skylight.
 (if no lights are available the head- or skylight will remain active)
-Ambient in osg::LightModel is zeroed out. All ambient now comes from separate ambient only light sources.
-Lights can now be written properly
-Replaced strings by constants defined in the Collada DOM"
2009-05-18 15:21:57 +00:00
Robert Osfield
ceacbf3cbe Quietened down debug messages 2009-05-18 13:01:25 +00:00
Robert Osfield
9ea43a31c6 From Ross Anderson, "Symptom: The computation of TerrainTiles containing only image layers (no elevation layer) is incorrect. The resulting bounding sphere will always have a radius of zero.
The fix is to remove the call to bs.expandBy(v) and compute the radius directly. I believe this call was intended to be bs.expandRadiusBy(v), but it is superfluous when the radius is computed directly."
2009-05-18 12:54:23 +00:00
Robert Osfield
d38fb904d3 From Maciej Krol,"With advent of GUI applications in OSG there is a growing need to redirect notification messages to third party systems. For example windows applications do not have console output, it would be appropriate to redirect notifications to GUI widget or debug output. I have revamped notification system to fit this need. New notification stream is using NotifyHandler as a message sink. Handler is called whenever stream is synchronized (i.e. after <<std::endl). Standard streams std::cout and std::cerr are no longer used although by default StandardNotifyHandler is a message sink. Custom notification handler can be set with osg::setNotifyHandler(NotifyHandler *) function.
Two implementations of NotifyHandler are currently available:
- StandardNotifyHandler, calls fputs(message, stderr) for severity <= WARN and fputs(message, stdout) for severity > WARN
- WinDebugNotifyHandler, windows users can redirect notifications to windows debug output, notifications can be viewed in output window of the debugger i.e. MSVC or DebugView (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) (see screenshot).

I have seen on osg-users that some people do std::cerr.rdbuf(otherStream.rdbuf()) to redirect notifications. This trick will no longer work since osg::notify() returns internal osg::NotifyStream not std::cout or std::cerr. You can use osg::notify().rdbuf(otherStream.rdbuf()) to do this instead.

Additionally I've made some minor fixes:
- Minor imrovements to osg::notify documentation
- NullStream could crash by deleting stream buffer other than default NullStreamBuffer in the destructor i.e. after osg::notify(osg::DEBUG_FP).rdbuf(otherStream.rdbuf())"
2009-05-18 12:04:07 +00:00
Robert Osfield
4aab969a73 Updated wrappers 2009-05-18 09:34:17 +00:00
Robert Osfield
545c52d4bb From Jean-Sebastien Guay, build fixes form Windows 2009-05-15 15:49:10 +00:00
Robert Osfield
ea7721d542 Added checks against libcurl version to decide what features are used or not 2009-05-15 15:10:59 +00:00
Robert Osfield
e94f874e54 Removed debugging code block 2009-05-15 12:31:23 +00:00
Robert Osfield
a4cc72d4fb Removed redundant errno declaration that was cause build problems under RedHat 3.2.
Removed redundant version declarations.
2009-05-15 12:22:53 +00:00
Robert Osfield
a0272d6665 From Martin Beckett, "n bool ReaderWriter::fileExists(const std::string& filename, const Options* /*options*/) const
Windows doesn't define F_OK and access() is in io.h, rather than stdio.h
These are fixed in FileUtils.cpp, so I copied the fix from there - might be better to move this to FileUtils header and include it here and in FileUtils.cpp?"
2009-05-15 07:50:20 +00:00
Robert Osfield
6bcc1c527c From Ulrich Hertlein, "please find attached a patch for TrackballManipulator to fix zooming using the MBP touchpad. The old code would always zoom-in even when using the gesture to zoom-out.
Also attached are some code and documentation cleanups for GUIEventAdapter that collect related values (e.g. scrolling, tablet pen) in a struct.
"
2009-05-14 16:08:12 +00:00
Robert Osfield
5432430fa6 Added setting of full filename to options as "filename" entry. 2009-05-14 16:06:34 +00:00
Robert Osfield
2cefc5f71a From Ulrich Hertlein, "please find attached a patch for TrackballManipulator to fix zooming using the MBP touchpad. The old code would always zoom-in even when using the gesture to zoom-out.
Also attached are some code and documentation cleanups for GUIEventAdapter that collect related values (e.g. scrolling, tablet pen) in a struct.
"
2009-05-14 15:45:54 +00:00
Robert Osfield
6a269e24e5 From Stephan Huber, "attached you'll find some bugfixes and enhancements for the Cocoa
implementation of GraoicsWindowCocoa:

Enhancements/Bugfixes:

+ now it's possible to integrate osgViewer better into existing
cocoa-applications:
* create one or more NSOpenGLView(s) and add these to your window(s)
* create one or more NSWindows
* disable the integrated event-polling of osgViewer, and let the work be
done by Cocoa / NSApplicationRun. You'll have to run the osgViewer's
runloop in a separate thread

+ missing menu-event-handling implemented

+ added NSAutoReleasePools where necessary, this fixes some memory-leaks
+ fixed some crashes and thread-issues"
2009-05-14 15:34:15 +00:00
Robert Osfield
2dad77a102 Replaced tabs with spaces 2009-05-14 13:30:25 +00:00
Robert Osfield
fcfb8468cf Changed tabs to spaces 2009-05-14 13:16:05 +00:00
Robert Osfield
af7e47a79b Changed debug message to INFO notication level 2009-05-14 13:10:18 +00:00
Robert Osfield
c72124e449 Added support for read the various animaton materials/paths from http 2009-05-14 13:05:32 +00:00
Robert Osfield
cbd07774f0 Updated wrappers 2009-05-14 09:44:55 +00:00
Robert Osfield
3c88e59496 Added support for reading presentations and content via http, with support of the FileCache when available. 2009-05-13 19:48:02 +00:00
Robert Osfield
59ddcd08f4 Added intial cut at fileExists() implement using libcurl. Note, current implement loads the whole file and then discards it so is very in-efficient. This implementation will soon be replaced. 2009-05-13 19:47:26 +00:00
Robert Osfield
122ee0a001 Added ReaderWriter::fileExists() method to help enable querrying of existing of files on servers using the curl plugin 2009-05-13 19:46:16 +00:00
Robert Osfield
078fe9e84c Added support for Object, Image, HeightField and Shaders in FileCache 2009-05-13 19:44:27 +00:00
Robert Osfield
2e73fb2131 Fixed handling of space after = in options set up. 2009-05-13 15:05:23 +00:00
Robert Osfield
0cf92badba From Thibault Genessay, "On Windows, when a process tries to spawn one too many thread,
_beginthreadex() fails but OpenThreads still waits on the startup
Block before returning to the caller of OpenThreads::Thread::start().
This causes a deadlock. The return value of _beginthreadex() is
actually checked, but after the call to OpenThreads::Block::block() so
it is basically useless.

Attached is a fix to move the check for the return value of
_beginthreadex() before the call to block(), so that start() can
return to the caller with a non-zero error code. This solves the
problem for me."
2009-05-13 08:33:55 +00:00
Cedric Pinson
c98466d401 from Maciej Krol:\nFixes for OSG_USE_PTR_IMPLICIT_OUTPUT_CONVERSION = OFF 2009-05-12 11:54:50 +00:00
Robert Osfield
bdaead21bf From Fajran Iman Rusadi, fixed error in window index management when children add insert or removed. 2009-05-12 10:45:44 +00:00
Robert Osfield
de6b571ac8 Added return to end of file to prevent warning 2009-05-12 05:58:31 +00:00
Robert Osfield
3ca952f35b Updated wrappers 2009-05-11 16:38:59 +00:00
Robert Osfield
5b89e2eb17 Moved ReadFile/WriteFile/FindFile/FileLocationCallbacks from include/osg/Options into their own Callbacks header/source file. 2009-05-11 16:38:40 +00:00
Robert Osfield
ee1f5da3b6 Commented out debug messages 2009-05-11 14:11:35 +00:00
Robert Osfield
f939ea731e Moved Registry::ReadFileCallback + WriteFileCallback, and osgDB::ReaderWriter::Options into their own separate Options file and into the osgDB namespace.
Introduced a new callback osgDB::FindFileCallback that overrides the default behavior of findDataFile/findLibraryFile.

Introduced support for assigning ReaderWriter::Options directory to PagedLOD.

Introduced new osgDB::FileLocationCallback for assistancing the DatabasePager to know when a file is hosted on a local or remote file system.
2009-05-11 11:39:12 +00:00
Robert Osfield
c79b1f3ac8 Moved Options copy constructor to .cpp 2009-05-09 08:54:38 +00:00
Robert Osfield
b7b065abe3 Refactored the Registry::ReadFileCallback, WriteFileCallback and ReaderWriter::Options to they are now defined in their own header and in the osgDB namespace.
Introduced a new FindFileCallback to Registry to compliement the existing ReadFileCallback and WriteFileCallback.

Added support for assign Find, Read and WriteFileCallbacks to osdDB::Options to enable plugins/applications to override the callbacks just for that
read/write call and any nested file operations
2009-05-09 08:49:27 +00:00
Robert Osfield
a4ff2c4af7 Removed redudent check against frustum.getCurrentMask() 2009-05-08 12:53:11 +00:00
Robert Osfield
0442237ec1 Changed 0 initializer to InheritCursor 2009-05-08 12:38:05 +00:00
Robert Osfield
426c5d4e44 Added osgGA and osgText to dependency list 2009-05-08 12:34:06 +00:00
Robert Osfield
c97d88b59c Added osgText dependency 2009-05-08 12:32:00 +00:00
Robert Osfield
1729648038 Added support for pushing handling relative paths set internally in the presentation file.
Added setting of env vars defined in presentation file.
2009-05-08 08:34:32 +00:00
Robert Osfield
fafb7028f8 Fixed unitialized variable 2009-05-08 07:50:09 +00:00
Robert Osfield
0ab285a3ef From Jean-Sebastien Guay, changed the timing control for when no audio layer is supplied. 2009-05-08 07:46:46 +00:00
Robert Osfield
622e7a6611 Moved property code from ImageLayer into Layer where it belongs 2009-05-07 18:32:36 +00:00
Robert Osfield
4a28b2ed4b Fixed handling of resize of ABSOLUTE_RF slave cameras 2009-05-07 14:53:21 +00:00
Robert Osfield
7ea1a97afd From Frederic Bouvier, SetCursor fixes from GraphicsWindowWin32,
Original email from Frederic at start of thread:
"he patch attached, made from r10068, fix two things, in other of importance :

- the selected cursor is never shown ( second change in file ). Only the left arrow is always displayed.
- remove the arbitrary ( in my sense ) limitation that the user cannot choose a cursor with the same shape that one used when resizing the window. This limitation doesn't exist for X11, and we have a diverging behaviour there ( first change in file ). Flightgear use the LeftRightCursor in look around mode."

Follow up email from Frederic (with changes that finally made it into this check in:
"I've just tested Mark's suggestion and it works perfectly, even when the
cursor goes to the border then come back inside the window.
But his patch doesn't seem to be based on the last revision of the
files, or at least not on the trunk, and there are more changes than
expected in them, including some loss from the previous patches.
The patch attached is based on r10068 of
src/osgViewer/GraphicsWindowWin32.cpp and r10067 of
include/osgViewer/api/Win32/GraphicsWindowWin32"
2009-05-07 13:30:54 +00:00
Robert Osfield
d62721c029 From Stephan Huber, "while debugging a problem in finding plugins on OS X I discovered, that
the conditional directives for setting the prepend-string in
createLibraryNameForExtension were not in effect, because of the mixture
of different #ifdef styles.

I removed the conditional part for __APPLE__ completely to be more
standard-conform with other platforms (plugins should be located in
osgPlugins-X.X.X/). Because of the wrong syntax of the conditional
compile the old code was not used anyway -- so no functional change.
"
2009-05-07 13:23:35 +00:00
Robert Osfield
870b1919c8 From MAthias Froehlich, "Attached is a compile fix I need on Suse 11.1 for a successful compile.
Just avoid uint8_t typed values in src/osgPlugins/ply/vertexData.cpp
if they are not needed for a particular reason ..."
2009-05-07 13:21:05 +00:00
Robert Osfield
255243ea0c From Chris Denham, "For me, on Windows, I also get a slew of these warnings when I move the window off screen.
So, might be a bit fiddly to try and prevent frame update in all situations that SwapBuffers retuns false.
I wondered if we could address this issue by only reporting the error if GetLastError is also non zero. Works for me!
The value returned by GetLastError is zero when SwapBuffers is called for a minimized or off screen window, so we could just add a check for this.
Just say the word, and I'll post my modified GraphicsWindowWin32.cpp to the submissions list. ;-)
Cheers.
Chris.

e.g.

//------------- OSG- 2..8 ----------
void GraphicsWindowWin32::swapBuffersImplementation()
{
   if (!_realized) return;
   if (!::SwapBuffers(_hdc))
  {
      reportErrorForScreen("GraphicsWindowWin32::swapBuffersImplementation() - Unable to swap display buffers", _traits->screenNum, ::GetLastError());
  }
}
//------------- Modification to remove redundant warnings ----------
void GraphicsWindowWin32::swapBuffersImplementation()
{
   if (!_realized) return;
   if (!::SwapBuffers(_hdc) && ::GetLastError() != 0)
  {
      reportErrorForScreen("GraphicsWindowWin32::swapBuffersImplementation() - Unable to swap display buffers", _traits->screenNum, ::GetLastError());
  }
}
"
2009-05-07 13:15:19 +00:00
Robert Osfield
ab5641e04e Fixed typo of POPPLER_LIBRARY_DIRS 2009-05-07 09:40:43 +00:00
Robert Osfield
c99c8826e8 Added support for osgVolume::TransferFunctionProperty 2009-05-07 09:07:34 +00:00
Robert Osfield
92afb370e8 Added .ive reading/writing support for osgVolume::Property classes 2009-05-06 13:47:08 +00:00
Robert Osfield
2b09b0dffa Added initial cut at support for osgVolume in .ive format. 2009-05-05 18:34:44 +00:00
Robert Osfield
1515b8d357 Changed debug message from NOTICE to INFO 2009-05-05 12:46:06 +00:00
Robert Osfield
9da4bb1387 Fixed support for reading imagery relative to the .osg being loaded 2009-05-05 12:18:24 +00:00
Robert Osfield
e2f4e96416 Added checks to prevent crash when no imagery is applied 2009-05-05 11:05:17 +00:00
Robert Osfield
ee3bfe94a3 Added checks to prevent crashes when no imagery is assigend to volume 2009-05-05 11:03:57 +00:00
Robert Osfield
602d83a486 Warning fixes 2009-05-03 18:51:13 +00:00
Robert Osfield
948f271730 From Michael Platings, compile fix for the following problem report on osg-users:
"the latest SVN revision cannot be build under Windows if ?OSG_USE_UTF8_FILENAME? config option is enabled. The error occurs in ?FileUtils.cpp? file, line 663, since there is no UNICODE-capable version of the ?GetProcAddress? function. The ?OSGDB_WINDOWS_FUNCT_STRING? makro is defined as follows in that case



#define OSGDB_WINDOWS_FUNCT_STRING(x) L ## #x L"W"



Thus the second parameter cannot be converted from wchar_t to LPCSTR. Should we convert the second parameter from wchar_t* to LPCSTR or use the same definition for the ?OSGDB_WINDOWS_FUNCT_STRING? makro in both cases?



The second error occurs in the same file, line 669. The second parameter for the ?pGetModuleHandleEx? function should be defined as wchar_t, but it?s defined as ?static char static_variable? in the line 667."
2009-05-01 08:49:19 +00:00
Robert Osfield
2d97593560 Fixed warning + bug 2009-05-01 08:20:26 +00:00
Robert Osfield
e938b6352b Added check against the validity of ViewerBase to make sure that a null pointer isn't dereferenced. 2009-04-30 13:13:19 +00:00
Robert Osfield
bc29eab0b7 Added support for reading from streams 2009-04-30 08:50:43 +00:00
Robert Osfield
d2f3615833 Build fixes 2009-04-30 08:27:07 +00:00
Robert Osfield
7cf721d1b5 Re-instated the code to allow event handler to run in standard viewers like osgviewer 2009-04-29 20:55:48 +00:00
Robert Osfield
590ac02859 Created a simple XmlNode parser class for reading of basic xml files, such as used by present3D.
Converted Present3D across from using libxml2 to using the new osgDB::XmlNode/XmlNode::Input classes from Xml Parsing.
This changes removes the dependency on libxml2, and allows the present3D application and p3d to work on all platforms.
2009-04-29 20:30:21 +00:00
Robert Osfield
b42706f034 Added osgFX to dependencies 2009-04-28 15:50:05 +00:00
Robert Osfield
ea65ea83a7 Added osgViewer as a dependency 2009-04-28 15:48:56 +00:00
Robert Osfield
b037fdb14a Enabled blending to all but iso surface shader.
Changed the alpha value of the iso surface colour to 1.0
2009-04-28 14:26:13 +00:00
Robert Osfield
ff93371cbd Fixed typo 2009-04-27 16:32:24 +00:00
Robert Osfield
7893293e0e Added detection of active alpha channel. 2009-04-27 15:45:52 +00:00
Robert Osfield
f0ff4afebc Further improvements in p3d plugin 2009-04-27 13:54:22 +00:00
Robert Osfield
200c9e82f3 Introduced first cut of Present3D integration with the core OSG with the introduction of a .p3d plugin. 2009-04-27 11:02:18 +00:00
Robert Osfield
5f26d6ec99 Attempt to fix mingw warnings 2009-04-27 06:26:41 +00:00
Robert Osfield
04238d128d Fixed warning 2009-04-25 21:44:38 +00:00
Robert Osfield
219f48fdbe Updated wrappers 2009-04-24 20:14:42 +00:00
Robert Osfield
2d621cb58a Added checking of need to update. 2009-04-24 18:37:36 +00:00
Robert Osfield
a50f0ccfaf Introduce new run frame rate management support to allow control of maximum frame rate and to support on demand rendering of frames 2009-04-24 16:20:50 +00:00
Robert Osfield
5a43bc12bb Updated wrappers 2009-04-24 11:23:33 +00:00
Robert Osfield
4eeb85fd0b From Mathias Froehlich, "change adds some code to also print the NodePath when a NaN is
detected in the CullVisitor.
May be this gives a bit more of a hint when this happens."
2009-04-24 11:01:00 +00:00
Robert Osfield
d91e9db152 From Jason Daly, "Currently, the .mdl plugin loads vertices in the native DirectX order, which is the reverse of OpenGL order. This means that the back faces are currently rendered as front faces, and vice versa.
This fix reverses the vertex order and sets up proper OpenGL facing.  I didn't notice this problem until I started using the plug-in in my own code (osgviewer seems to not enable backface culling)."
2009-04-24 10:54:50 +00:00
Robert Osfield
7b16ff5ae1 From Mathias Froehlich, Changed osg::TextureRectangle to use osg::Texutre::applyTexParameters() to take advantage of texture shadow extension settings for texture rectangle 2009-04-24 09:07:22 +00:00
Robert Osfield
b496d220c6 Warning fixes 2009-04-23 13:42:24 +00:00
Robert Osfield
9a072a4dc6 Refactored the subsurface PolygonOffset code so that it uses sensible values and also moves management of the PolygonOffset and Depth attribute objects into the Document object rather than using static vars. 2009-04-23 10:24:27 +00:00
Robert Osfield
194b7a32e7 Removed specific ATI path in PolygonOffset as it doesn't look to be neccessary with present ATI hardware/drivers 2009-04-23 10:23:20 +00:00
Robert Osfield
4938d5687e Quitened down warnings generated by ffmpeg headers by remove -pedantic from CMAKE_CXX_FLAGS 2009-04-22 18:22:22 +00:00
Robert Osfield
009409695d Fixed warning 2009-04-22 16:50:50 +00:00
Robert Osfield
7e2b022ead Warning fixes 2009-04-22 16:47:07 +00:00
Robert Osfield
ddd3c39a17 Warning fixes 2009-04-22 16:42:16 +00:00
Robert Osfield
3efb69b0c6 Warning fix 2009-04-22 16:41:58 +00:00
Robert Osfield
e8d9dd142d From Neil Hughes, converted across to use istream for reading data from file to enable reading .3ds files over http (use OSG's libcurl plugin).
From Robert Osfield, ammendments of the above to better support reading of files from local directories.
2009-04-22 15:46:24 +00:00
Robert Osfield
0c8cb4e6c9 From Bob Kuehne, "fix for failing collada builds on osx due to not being able to stringstreamify osg::Vec3 without io_utils included." 2009-04-22 13:09:33 +00:00
Robert Osfield
777b00353a From Mathias Froehlich, "attached is a change to TexGenNode rev 10060 that removes a private member
variable that is only initialized and copied by never used seriously.
"
2009-04-22 13:07:02 +00:00
Robert Osfield
70771cf6ce Added hand cursor implementation 2009-04-22 11:22:08 +00:00
Robert Osfield
616a96343c From Neil Hughes, "Please find attached two files that I've amended to add the IDC_HAND cursor for the windows platform." 2009-04-22 11:20:19 +00:00
Robert Osfield
b6182a1239 From Peter Amstutz, "Here is a simple change to osgViewer::GraphicsWindowWin32 to add a flag to WindowData to specify that the graphics window should not install an event handler of its own, per this discussion thread:
http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg23734.html

The change is source compatible with current osg code and will not affect current users, it simply adds an additional parameter to the GraphicsWindowWin32::WindowData struct constructor and defaults to the current behavior.

Attached are the files "include/osgViewer/api/Win32/GraphicsWindowWin32" and "src/osgViewer/GraphicsWindowWin32.cpp" with my changes, based on svn revision 10045.  In addition, I have provided an svn patch file with the same changes for your convenience.

I have discussed the matter with my supervisor, and agreed that my company makes no copyright claim over this extremely trivial change (or to put it another way, we assign copyright to the open scene graph community.)"
2009-04-22 11:12:03 +00:00
Robert Osfield
8d6a35dbfb From Eric Sokolowsky, "src/osg/Image.cpp is missing the GL_RGBA8 image type when calculating the number of components in an image. It is added here." 2009-04-22 10:47:44 +00:00
Robert Osfield
f5d532e54b From Neil Hughes, "here is an update to ReaderWriterCurl that makes use of the amended ReaderWriter definition to pass some plugin string data via the options object." 2009-04-21 14:15:03 +00:00
Robert Osfield
425cb87487 Updated wrappers 2009-04-21 12:02:15 +00:00
Robert Osfield
c6a4fc6680 Fixed handling of case of no graphics contexts being assigned 2009-04-21 10:13:19 +00:00
Robert Osfield
147486f57a Removed #ifdef WIN32 around #include <errno.h> to fix build under Mandrake build. 2009-04-20 19:05:59 +00:00
Robert Osfield
3fd9c6c1de Replaced #idef WIN32 with _MSC_VER to try and fix build errors under mingw 2009-04-13 09:41:22 +00:00
Robert Osfield
390be829af From Santosh Gaikwad, "I have added the exception handling in ply loader. All exceptions I am catching in VertexData::readPlyFile() and made sure that application will not crash or exit if any exception occurred. I am returning NULL from VertexData::readPlyFile() if any exception occurred.
"
2009-04-13 09:35:52 +00:00
Robert Osfield
a240da2535 updated wrappers 2009-04-11 06:25:28 +00:00
Robert Osfield
562f84668f From Jean Sebastien Guay, added error reporting handling of wider range of video formats. 2009-04-11 06:16:37 +00:00
Cedric Pinson
bc39983030 From Cedric Pinson, remove unsused method in Bone class\nadd namespace osgAnimation for Timeline constructors\nadd OSGANIMATION_EXPORT on VertexInfluence and Timeline class 2009-04-10 15:30:02 +00:00
Robert Osfield
5d512b44c9 Added VS checks around code block from Mark Sciabica that broke the mingw build 2009-04-10 14:11:38 +00:00