Commit Graph

12344 Commits

Author SHA1 Message Date
Robert Osfield
c21b60b038 Added lazy setting of the UserDataContainer to avoid unncessarily create a UserDataContain when an empty description list is passed to Node::setDescriptions(..) 2013-07-23 10:24:28 +00:00
Robert Osfield
51075421d3 Fixed crash when open(..) returns an error. 2013-07-23 09:54:25 +00:00
Robert Osfield
f6c3c8ac00 From Torben Dannhauer, "Please find attached further changes to make library auto detection
functional again for some libraries:

Find3rdPa..: Fix to find libxml2
FindCollada: Rearranged to handle different MSVC versions more effective.
This file is already prepared for the upcoming VS 2013.
FindNVTT: introduced management of debug libraries (also auto detected).
"
2013-07-23 05:25:39 +00:00
Robert Osfield
fcca4032ef From Andreas Ekstrand, "Attached is a small modification of the Collada writer that protects from crashes due to valArray being NULL in some situations." 2013-07-22 13:31:32 +00:00
Robert Osfield
a802729562 Added FRAME_BUFFER_OBJECT enum 2013-07-22 10:15:59 +00:00
Robert Osfield
95d5a19319 Updated OpenThreads version 2013-07-22 10:15:44 +00:00
Robert Osfield
4a2e1534d5 From Christian Ruzicka, "with the current touch implementation on iOS the touches are not forwarded to parent views because the base implementation is not called. Also see the "Best Practices" in the iOS documentation for event handling:
http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/multitouch_background/multitouch_background.html

"If you handle events in a subclass of any other UIKit responder class:
- You do not have to implement all of the event handling methods.
- In the methods you do implement, be sure to call the superclass implementation. For example, [super touchesBegan:touches withEvent:event]."

I added the missing lines and tested it with OSG 3.1.9 and iOS SDK 6.1."
2013-07-19 21:05:54 +00:00
Robert Osfield
f21a1dc9ad Added default setting of BIND_PER_VERTEX when applying Geometry::setTexCoordArray() 2013-07-19 20:59:09 +00:00
Robert Osfield
b3aa1bda1d Updated OpenThreads version to be in sync with OSG version 2013-07-19 17:00:24 +00:00
Robert Osfield
cda0b615de Updated version number for svn/trunk to 3.3.0 for all new feature development 2013-07-19 14:55:36 +00:00
Robert Osfield
9416ef4791 Updated AUTHORS file for new 3.2 branch 2013-07-19 14:07:17 +00:00
Robert Osfield
95a5f3ed0f Updated version number to 3.2.0-rc1 in prep for create the 3.2 branch, and 3.2.0-rc1 2013-07-19 14:06:11 +00:00
Robert Osfield
8184798d40 Update ChangeLog and AUTHORS files for 3.1.10 dev release 2013-07-19 10:31:45 +00:00
Robert Osfield
170cbb9018 Updater version for 3.1.10 dev release 2013-07-19 10:17:26 +00:00
Robert Osfield
a1bda7d39e Removed #if 0 #endif block 2013-07-19 10:11:42 +00:00
Robert Osfield
e7b86099d1 Fixed problem with the osgviewerQt code override the default View::Camera without setting it's default state on it's StateSet like View does by default. 2013-07-19 09:43:54 +00:00
Robert Osfield
2f1d3626de From Johannes Scholz, "as we need to dynamically add and remove Effects to and from our Application, I created a small patch for osgFX/Registry to add the osgFX::Registry::removeEffect(effect*) method and extended osgFX::Registry::Proxy to call removeEffect upon its destruction." 2013-07-19 06:56:13 +00:00
Robert Osfield
a270a7635e From Wang Rui, "A very small clerical error in the src/osgViewer/CMakeLists.txt makes MinGW/Cygwin builds fail. Now it is fixed and now OSG works well again with Cygwin. :-) The OSC plugin also needs a small fix to compile with Cygwin, as attached file src/osgPlugins/osc/osc/OscHostEndianness.h shows." 2013-07-19 06:39:06 +00:00
Robert Osfield
0175c820af From Mathieu Marache, "we found that events where not caught when running in ON_DEMAND frame scheme : GraphicsWindow::checkEvents() always return false and GraphicsWindowQt doesn't overload it.
here is a simple fix that will return if the list is empty or not and will match the comment in checkEvents()
2013-07-19 06:20:46 +00:00
Robert Osfield
5255884fec Added a dirty() call to Image::setData(..) 2013-07-18 20:17:48 +00:00
Robert Osfield
bbf00cef01 From Torben Dannhauer, "after being absent for more than 12 month, I'm very pleased to present my
new 3rdparty package (V8).

 This package is compiled with Visual Studio 2012 Update 3. Some community
members complained that these package is very large (indeed), so I
introduced 2 versions:
- The small version contains the dependencies for several image file formats
( tiff, png, gif, jpeg), as well as zlib, minizip, curl, freetype,  glut,
gdal and openSSL
- The full version will include all libraries which were include in the
previous releases of my 3rd party package.

Some of the included libraries are released in newer versions, so I adapted
the attached CMake module to find these renamed files.

I hope you can merge this minor changes soon, since I plan to publish the
small 3rdparty package today.
"
2013-07-18 16:29:13 +00:00
Robert Osfield
82f7031ab5 From Lionel Lagarde, "The extension name is misspelled. It conflicts with GLEW." 2013-07-18 16:27:17 +00:00
Robert Osfield
2507c3974f Updated AUTHORS and ChangeLog for 3.1.9 dev release 2013-07-02 19:24:10 +00:00
Robert Osfield
ca4e840155 From Laurens Voerman, "With fstream inheritaince now removed the warning can be enabled again." 2013-07-02 14:35:29 +00:00
Robert Osfield
62374833dd From Laurens Voerman, "some of my ive files now generate a warning:
Warning, can't assign attribute binding as no has been array assigned to set binding for.

I think those are ive's with bumpmaps, but I have not checked yet. The problem is in
OpenSceneGraph\src\osgPlugins\ive\Geometry.cpp
where the code tries to set Normalize and Binding for a missing Array.
I think that code can safely be skipped, considering the write function has a hardcoded write when the array is missing. (introduced in svn rev 13488)

modified file (OpenSceneGraph\src\osgPlugins\ive\Geometry.cpp) attached  in Zip"
2013-07-02 14:17:44 +00:00
Robert Osfield
330de18eba From Laurens Voerman, "Recent changes cause a few warnings in MSVC 2012
svn 13587 From David Callu, warning fixes and removal of spaces at end of lines.

this can be fixed by adding a space before the comment opening /*.
full modified file (openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h) attached in zip

Regards, Laurens.


openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(71): warning C4138: '*/' found outside of comment (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)
openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(73): warning C4138: '*/' found outside of comment (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)
openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(211): warning C4138: '*/' found outside of comment (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)
openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(213): warning C4138: '*/' found outside of comment (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)"
2013-07-02 14:02:06 +00:00
Robert Osfield
8420b158c1 Restructed handling of the _currentShaderCompositionUniformList in State::apply() and State::apply(const StateSet*) so that it can be used even when shader composition isn't enabled. 2013-07-02 13:45:23 +00:00
Robert Osfield
095b64dc41 From Aurelien Albert, "Recently I had to integrate a client OpenGL library with OSG. For textures and other StateAttribute I've done that by subclassing osg::StateAttribute and this works well.
But for glPrograms, in order to get all osg's uniform management system to work, I had to subclass osg::program::PerContextProgram.

Here is a modified version of this class, which add some "virtual" method to allow easy subclassing."
2013-07-02 10:32:53 +00:00
Robert Osfield
08f741bcd9 From Pjotr Svetachov, "The binding of arrays is always set to BIND_UNDEFINED when using the array constructor because the binding parameter is ignored. Here is a fix." 2013-07-02 09:44:46 +00:00
Robert Osfield
d3c2896651 Added SceneView::Options enum enetries APPLY_GLOBAL_DEFAULTS and CLEAR_GLOBAL_STATESET to control whether a _globalStateSet->clear() and _globalStateSet->setGlobalDefaults() should be called.
osgViewer::Renderer doesn't use these enum settings so now no longer has a calls StateSet::clear() or StateSet::setGlobalDefaults() on the osg::Camera's StateSet.  Previously these were being
called and breaking the ability to attached state to Camera's StateSet.
2013-07-02 09:27:14 +00:00
Robert Osfield
0abbef71e1 From Pjotr Svetachov, "In a submission on June 27th a lot of new array types were added. This modified the osg::Array::Type enum. Because of this s_ArrayNames array in Array.cpp is now not in sync. This can lead to corrupt exports or crashes when writing .osg files because the change added new types in the middle of the enum instead of at the end.
Attached is a new Array.cpp to reflect the new array types."
2013-07-01 16:15:25 +00:00
Robert Osfield
50f3b4a539 Updated AUTHORS, ChangeLog for dev release 2013-07-01 12:16:32 +00:00
Robert Osfield
ff3a6f4eb1 Removed BIND_INSTANCE_DIVISOR as they don't yet have any implementation backend to support them. 2013-07-01 10:22:34 +00:00
Robert Osfield
2768c1b170 From David Callu, "Here a fix for FindFBX.cmake
under linux, library name to look for must be fbxsdk instead of libfbxsdk."
2013-07-01 09:12:11 +00:00
Robert Osfield
5e89121152 From David Callu, "Here a CMakeLists.txt modified with OSG_AGGRESSIVE_WARNING_FLAGS defined when Clang compilator is used" 2013-07-01 09:10:11 +00:00
Robert Osfield
0289b05cd5 Fixed debug build compile problem 2013-07-01 09:09:49 +00:00
Robert Osfield
a64b412885 Reverted the usage of OSG_UNUSED and OT_UNUSED as in hindsight these should never have been merged. Adding code to quieten
inappropriate warnings is a bad programming practice and does not desrve a place in the OSG code base.
2013-07-01 08:21:13 +00:00
Robert Osfield
e876e0bad3 From John Kaniarz, "This patch modifies ReaderWriterPNG.cpp to
1. Check the bit depth of the passed Image and return an error if not 8 or 16. (not fully featured, but still an improvement over hard coded 8bit for everything)
2. Endian swap 16bit image data when on a little endian architecture.
"
2013-06-28 15:44:04 +00:00
Robert Osfield
9eba9df292 From Alberto Luaces, "Documentation for -p and --speed options in osgviewer" 2013-06-28 14:47:02 +00:00
Robert Osfield
88a8423802 From Marcel Pursche, fixed checking of destination dimensions in osg::copyImage. 2013-06-28 14:38:45 +00:00
Robert Osfield
d4e1a8d6a3 From Lilin Xiong, "When writing proxyNode to ive file, we forget "LoadingExternalReferenceMode ". Add some code to fix this.
if (out->getVersion() >= VERSION_0045)
{
    out->writeInt(getLoadingExternalReferenceMode());
}

if (in->getVersion() >= VERSION_0045)
{
   setLoadExternalReferenceFiles( (osg::ProxyNode::LoadingExternalReferenceMode)in->readInt() );
}
"
2013-06-28 14:32:12 +00:00
Robert Osfield
2e41e3f656 From Gill Peacegood, "fix for a memory leak in the DelaunayConstraint class" 2013-06-28 14:21:43 +00:00
Robert Osfield
4493cc817d From Laurens Voerman, "the current version of BufferObject causes a huge amount of warnings in Visual Studio 2012 like:
OpenSceneGraph/include\osg/BufferObject(701): warning C4138: '*/' found outside of comment (E:\osg\osgSvn\OpenSceneGraph\src\osg\Array.cpp)

adding a space before /* fixes the problem
        void removeClient(osg::Object * /*client*/) { --_numClients; }
"
2013-06-28 14:08:36 +00:00
Robert Osfield
5db57cfa34 Fixed handling of DISPLAY=127.0.0.1:2 usage. 2013-06-28 14:07:31 +00:00
Robert Osfield
353b18b27b From Aurelien Albert, Added support for glPrimitiveRestartIndex.
"The idea of this new OpenGL feature is :

- set RestartIndex = "n"
- draw elements strip
  -> when the index is "n", the strip is "stopped" and restarted

It's very usefull for drawing tiles with a single strip and a "restart" at the end of each row.

The idea a an OSG StateAttribute is :

Usually we use to build geometry from code, because software modelers rarely support it (and 3d file formats doesn't support it) :

-RootNode <= "PrimitiveRestartIndex=0"     // So now, we know that our restart index is 0 for all drawables under this node
|
- Drawable 1 : triangles => as usual
|
- Drawable 2 : triangles strip => as usual
|
- Drawable 3 : triangles strip + "GL_PRIMITIVE_RESTART" mode = ON => use the restart index
|
- Drawable 4 : triangles strip + "GL_PRIMITIVE_RESTART" mode = ON => use the restart index
|
- Drawable 5 : triangles strip => as usual


With a StateAttribute, it's easy for the developper to say "0 will be my restart index for all this object" and then activate the mode only on some nodes.

The main problem is if you set and restart index value which is not included in the vertex array (for exemple set restart index = 100 but you have only 50 vertex). There is no problem with OpenGL, but some OSG algorithms will try to access the vertex[100] and will segfault.

To solve this, I think there is two ways :

1/ add restart index in osg::PrimitiveSet and use this value in all algorithms. It's a lot of work, maybe dangerous, and it concern only a few situations : developpers who use this extension should be aware of advanced OpenGL (and OSG) data management

2/ use a StateAttribute, and choose a "correct" restart index. In my applications, I always use "0" as a restart index and duplicate the first vertex (vertex[0] = vertex[1]). So there is no difference for OpenGL and all OSG algorithms works properly.
"
2013-06-28 13:43:46 +00:00
Robert Osfield
b2c838033d Added handling of an odd number rows in the capsule rendering and primitive calculation. 2013-06-28 12:45:39 +00:00
Robert Osfield
097aedf23c From David Callu, warning fixes and removal of spaces at end of lines. 2013-06-28 12:00:43 +00:00
Robert Osfield
d82768417d From David Callu, "in osgViewer::WoWVxDisplay::WoWVxDisplay(unsigned int type=20, unsigned int screenNum=0)
screenNum is unused.

fix attached.
"
2013-06-28 10:59:01 +00:00
Robert Osfield
db1f2c5eb1 From David Callu, added support for glVertexAttribLPointer and glVertexAttribIPointer, utilized via osg::Array::setPreserveDataType(true); 2013-06-28 10:51:22 +00:00
Robert Osfield
4fd6566e00 From David Callu, serializer support for new Vec* and Vec*Array classes 2013-06-28 08:57:42 +00:00