Hi All, I have now tagged the 3.1.8 dev release, updated the website, twitter and now the mailing list/forum, feast your eyes on what seems to be a modest feature set change but what is actually pretty big chunk of work :-)
Key deliverables in this dev release are: Refactored osg::Geometry class that drops support for array indices and BIND_PER_PRIMITIVE which have long been deprecated, in default built these deprecated API's are still available, but result in a Geometry that is invalid and cannot be rendered so one has to call Geometry::fixDeprecatedData() before the geometry can be used. The clean up has resulted in a smaller and faster geometry that now only supports efficient use of OpenGL. Many bug and build fixes source package : OpenSceneGraph-3.1.8.zip svn tag: svn co http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.1.8 OpenSceneGraph Thanks to all who have helped with testing, debugging and providing bug and build fixes. Cheers, Robert. -- ChangeLog between 3.1.7 and 3.1.8 2013-06-21 14:17 robert * src/osgPlugins/dae/daeWGeometry.cpp: Removed unneccessary handling of BIND_PER_PRIMITIVE on output code 2013-06-21 13:59 robert * include/osgUtil/RenderStage, src/osgUtil/RenderStage.cpp: From Pjotr Svetachov, introduced use of osg::observer_ptr<osg::Camera> in place of osg::Camera* 2013-06-21 13:41 robert * src/osgPlugins/imageio/ReaderWriterImageIO.cpp: From Stephan Huber, "attached you'll find the missing readObject-implementations for the imageio-plugin as suggested by Remo Eichenberger." 2013-06-21 12:10 robert * src/osgPlugins/fbx/fbxRMesh.cpp: From Laurens Voerman, build fix 2013-06-21 10:59 robert * src/osgPlugins/dae/daeRGeometry.cpp, src/osgPlugins/dae/daeRMaterials.cpp, src/osgPlugins/dae/daeWGeometry.cpp: Build fixes for new osg::Geometry 2013-06-21 10:14 robert * src/osgPlugins/dae/daeRGeometry.cpp: Converted osg::Geometry::ArrayData usage across to osg::Array. 2013-06-21 10:03 robert * src/osgViewer/View.cpp: From Laurens Voerman, "I just tested openGL quadbuffered stereo with the osgviewer, the mouse works again, so does the keystonecorrection, but the right-eye render to texture camera appears not to clear it's color buffer. I found the problem in src\osgViewer\View.cpp, fix attached." 2013-06-21 09:53 robert * CMakeModules/FindCOLLADA.cmake: From Mathieu Marache, I needed to modify the FindCOLLADA.cmake to enable its compilation under macosx. 2013-06-21 09:47 robert * src/osgPlugins/fbx/fbxRMesh.cpp: Converted ArrayData usage across to set*Array() usage with new binding parameter 2013-06-21 09:43 robert * examples/osggeometry/osggeometry.cpp, include/osg/Geometry, src/osg/Geometry.cpp: Added new osg::Array::Binding parameter to osg::Geometry::set*Array(osg::Array* array, osg::Array::Binding binding=osg::Array::BIND_UNDEFINED) methods to make it easier for the user to set the binding without the need to call the deprecated osg::Geometry::set*Binding(osg::Geometry::AttributeBinding) 2013-06-21 09:40 robert * examples/osggeometry/osggeometry.cpp: Removed spaces at ends of lines 2013-06-21 09:17 robert * applications/present3D/Cluster.cpp, src/osgDB/FileUtils.cpp: From FrancoisTigeot, "OpenSceneGraph 3.0.1 doesn't build out of the box on DragonFly and needs a few modifications to these files: - applications/present3D/Cluster.cpp - src/osgDB/FileUtils.cpp The changes are needed to fix a few platform specific things such as the absence of stat64, int/socklen_t differences, etc... and are in the same line as Linux, Apple and FreeBSD specific checks. I have attached the modified files; the original patches to 3.0.1 are also visible here if you find it more convenient: http://dl.wolfpond.org/dports/graphics.osg/dragonfly/patch-applications_present3D_Cluster.cpp http://dl.wolfpond.org/dports/graphics.osg/dragonfly/patch-src_osgDB_FileUtils.cpp With these changes, osg 3.0.1 is able to be built and packaged on DragonFly whereas it previously failed to compile." 2013-06-21 08:56 robert * src/osgViewer/GraphicsWindowX11.cpp: From Matthias Helsing, "Here is the changed source to prefer using _NET_WM_STATE_ABOVE but fall back to XRaiseWindow should the Atoms not be supported. I'm not sure how many might be using the raiseWindow feature but I needed it for a splash on Ubuntu 12.04." 2013-06-21 08:37 robert * src/osgPlugins/dds/ReaderWriterDDS.cpp, src/osgPlugins/jpeg/ReaderWriterJPEG.cpp, src/osgPlugins/png/ReaderWriterPNG.cpp: From Farshid Lashkari, "I've updated the dds, png, and jpeg plugins to support writing images with the GL_DEPTH_COMPONENT pixel format. They will simply treat it the same as the GL_LUMINANCE pixel format." 2013-06-21 08:03 robert * CMakeLists.txt: From Jan Ciger, " I have put there in the comment a nicer way of doing version checks, but that needs at least CMake 2.6.2." 2013-06-20 16:44 robert * src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp, src/osgViewer/config/SingleWindow.cpp: Fixed the handling the mouse min/max ranges of slave Cameras that have a parent Camera with a viewport. 2013-06-20 15:48 robert * src/osgViewer/config/SingleWindow.cpp: Temporarily commented out call to view.assignStereoOrKeystoneToCamera() for implementing stereo as this was causing problem in trackball manipulation 2013-06-20 15:18 robert * src/osg/Geometry.cpp: Added local namespace for util functions, and fixed the return type of checkDeprecatedData() 2013-06-20 12:15 robert * include/osgParticle/Particle: From Vladimir Chebaev, "I worked with osg::Particle and see that this class has setter osgParticle::setTextureTileRange and has no getters for startTile and endTile. This can be very uncomfortable. I attached file with two getters." 2013-06-20 10:59 robert * src/osg/State.cpp: Commented out verbose debug messages for shader composition 2013-06-20 10:42 robert * AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp: Updated ChangeLog and AUTHORS file 2013-06-20 10:05 robert * src/osgQt/GraphicsWindowQt.cpp: From Juan Manuel Alvarez, "When handling keyboard events on osgQt, if a key is kept pressed, multiple sequences of KEYDOWN -> KEYUP events are fired. This is because Qt auto repeats keyboard events, so multiple calls are made to GLWidget::keyPressEvent and GLWidget::keyReleaseEvent by Qt, and subsequently translated to OSG events. The way to solve this is ignoring key released auto repeated events (see http://qt-project.org/doc/qt-4.8/qkeyevent.html#isAutoRepeat), so multiple KEYDOWN events are fired, but only one KEYUP. I attach a modified osgQt/GraphicsWindowQt.cpp with this change." 2013-06-20 09:30 robert * include/osgQt/GraphicsWindowQt: From Jan Ciger, compilation fix for Qt 5.0.2 2013-06-20 09:27 robert * src/osgPlugins/ive/DataInputStream.cpp: From Laurens Voerman, build fix for VS. 2013-06-19 17:28 robert * examples/osgoscdevice/CMakeLists.txt, examples/osgoscdevice/osgoscdevice.cpp: Removed svn:executable property. 2013-06-19 17:26 robert * src/osgPlugins/ZeroConfDevice/AutoDiscovery.cpp, src/osgPlugins/ZeroConfDevice/AutoDiscovery.h, src/osgPlugins/ZeroConfDevice/AutoDiscoveryBonjourImpl.h, src/osgPlugins/ZeroConfDevice/AutoDiscoveryWinImpl.cpp, src/osgPlugins/ZeroConfDevice/AutoDiscoveryWinImpl.h, src/osgPlugins/ZeroConfDevice/CMakeLists.txt, src/osgPlugins/ZeroConfDevice/ReaderWriterZeroConfDevice.cpp, src/osgPlugins/ZeroConfDevice/mdns_win/ClientCommon.c, src/osgPlugins/ZeroConfDevice/mdns_win/ClientCommon.h, src/osgPlugins/ZeroConfDevice/mdns_win/dns-sd.c, src/osgPlugins/ZeroConfDevice/mdns_win/dns_sd.h: Removed svn:executable property 2013-06-19 17:25 robert * src/osgPlugins/RestHttpDevice/CMakeLists.txt, src/osgPlugins/RestHttpDevice/ReaderWriterRestHttpDevice.cpp, src/osgPlugins/RestHttpDevice/RestHttpDevice.cpp, src/osgPlugins/RestHttpDevice/RestHttpDevice.hpp, src/osgPlugins/RestHttpDevice/connection.cpp, src/osgPlugins/RestHttpDevice/connection.hpp, src/osgPlugins/RestHttpDevice/header.hpp, src/osgPlugins/RestHttpDevice/io_service_pool.cpp, src/osgPlugins/RestHttpDevice/io_service_pool.hpp, src/osgPlugins/RestHttpDevice/mime_types.cpp, src/osgPlugins/RestHttpDevice/mime_types.hpp, src/osgPlugins/RestHttpDevice/reply.cpp, src/osgPlugins/RestHttpDevice/reply.hpp, src/osgPlugins/RestHttpDevice/request.hpp, src/osgPlugins/RestHttpDevice/request_handler.cpp, src/osgPlugins/RestHttpDevice/request_handler.hpp, src/osgPlugins/RestHttpDevice/request_parser.cpp, src/osgPlugins/RestHttpDevice/request_parser.hpp, src/osgPlugins/RestHttpDevice/server.cpp, src/osgPlugins/RestHttpDevice/server.hpp, src/osgPlugins/osc/CMakeLists.txt, src/osgPlugins/osc/OscReceivingDevice.cpp, src/osgPlugins/osc/OscReceivingDevice.hpp, src/osgPlugins/osc/OscSendingDevice.cpp, src/osgPlugins/osc/OscSendingDevice.hpp, src/osgPlugins/osc/ReaderWriterOscDevice.cpp: Removed svn:executable property. 2013-06-19 16:24 robert * examples/osgdelaunay/osgdelaunay.cpp, examples/osgocclusionquery/osgocclusionquery.cpp, include/osg/Geometry, src/osg/Geometry.cpp, src/osgPlugins/Inventor/ConvertFromInventor.cpp, src/osgPlugins/ive/DataInputStream.cpp, src/osgPlugins/ive/DataOutputStream.cpp, src/osgPlugins/normals/Normals.cpp, src/osgPlugins/obj/OBJWriterNodeVisitor.cpp, src/osgPlugins/stl/ReaderWriterSTL.cpp, src/osgPlugins/vrml/ConvertToVRML.cpp, src/osgSim/ScalarBar.cpp, src/osgUtil/MeshOptimizers.cpp, src/osgUtil/Tessellator.cpp, src/osgUtil/TriStripVisitor.cpp, src/osgWrappers/serializers/osg/Geometry.cpp: Cleaned up usage of BIND_PER_PRIMITIVE where possible. 2013-06-19 12:32 robert * include/osgUtil/Optimizer, src/osgUtil/Optimizer.cpp: From Magnus Kessler, typo fixes to doxygen docs and comments 2013-06-19 12:28 robert * src/osgUtil/tristripper/src/tri_stripper.cpp: From Magnus Kessler, "gcc-4.8 flagged this: src/osgUtil/tristripper/src/tri_stripper.cpp:375:40: warning: typedef ‘tri_node_iter’ locally defined but not used [-Wunused-local-typedefs] typedef triangle_graph::node_iterator tri_node_iter; ^ --- src/osgUtil/tristripper/src/tri_stripper.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/osgUtil/tristripper/src/tri_stripper.cpp b/src/osgUtil/tristripper/src/tri_stripper.cpp index 2f5a7f3..3396881 100644 --- a/src/osgUtil/tristripper/src/tri_stripper.cpp +++ b/src/osgUtil/tristripper/src/tri_stripper.cpp @@ -372,7 +372,6 @@ inline tri_stripper::const_link_iterator tri_stripper::BackLinkToNeighbour(const void tri_stripper::MarkTriAsTaken(const size_t i) { - typedef triangle_graph::node_iterator tri_node_iter; typedef triangle_graph::out_arc_iterator tri_link_iter; // Mark the triangle node" 2013-06-19 12:27 robert * src/osgUtil/tristripper/include/detail/cache_simulator.h, src/osgUtil/tristripper/include/detail/connectivity_graph.h, src/osgUtil/tristripper/include/detail/graph_array.h, src/osgUtil/tristripper/include/detail/heap_array.h, src/osgUtil/tristripper/include/detail/policy.h, src/osgUtil/tristripper/include/detail/types.h, src/osgUtil/tristripper/include/tri_stripper.h, src/osgUtil/tristripper/src/connectivity_graph.cpp, src/osgUtil/tristripper/src/policy.cpp, src/osgUtil/tristripper/src/tri_stripper.cpp: Converted tabs to four spaces 2013-06-19 12:19 robert * include/osg/GL: From Jan Ciger, "I have found a problem when building OSG with Qt 5 support. Qt has the following in the qopengl.h header: # include <QtGui/qopengles2ext.h> # ifndef GL_DOUBLE # define GL_DOUBLE GL_FLOAT # endif # ifndef GLdouble typedef GLfloat GLdouble; # endif Unfortunately, when building for normal OpenGL (not GL/ES!) on Windows with MSVC2012, GLdouble is not defined (it is not a macro but typedef) and the code above produces a conflicting definition, making the compile fail. I am attaching a bit hackish workaround for this problem in osg/GL " 2013-06-19 10:56 robert * examples/osgcomputeshaders/osgcomputeshaders.cpp, examples/osgimpostor/osgimpostor.cpp, src/osg/Geometry.cpp, src/osgPlugins/Inventor/ConvertToInventor.cpp, src/osgPlugins/ive/Geometry.cpp, src/osgPlugins/md2/ReaderWriterMD2.cpp, src/osgPlugins/pfb/ConvertFromPerformer.cpp, src/osgPlugins/vrml/IndexedFaceSet.cpp, src/osgPlugins/vrml/Primitives.cpp, src/osgPlugins/vrml/ReaderWriterVRML2.cpp, src/osgPlugins/vrml/ReaderWriterVRML2.h, src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp, src/osgWrappers/serializers/osg/Geometry.cpp: Build fixes for new deprecated osg::Geometry functions 2013-06-18 19:09 robert * examples/osgimpostor/osgimpostor.cpp, src/osg/Geometry.cpp, src/osgPlugins/Inventor/ConvertToInventor.cpp, src/osgPlugins/ive/Geometry.cpp, src/osgPlugins/md2/ReaderWriterMD2.cpp, src/osgPlugins/pfb/ConvertFromPerformer.cpp, src/osgPlugins/vrml/ReaderWriterVRML2.h, src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp: Added #define OSG_USE_DEPRECATED_GEOMETRY_METHODS usage into code to allow code to compile enen when CMake configuration has set the #define to off in include/osg/Config. 2013-06-18 17:49 robert * src/osgPlugins/ac/ac3d.cpp: Moved the assignment of the normal binding to after the setNormalArray call 2013-06-18 17:48 robert * src/osgPlugins/pfb/ConvertFromPerformer.cpp: Moved the Geometry::set*Binding to after the set*Array() to prevent problems when using the deprecated functionality. 2013-06-18 15:54 robert * src/osg/Geometry.cpp: Removed BIND_PER_PRIMITIVE reference 2013-06-18 15:03 robert * src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp: Moved the set binding and normalize for VertexAttrib to after the VertexAttrib array assignment 2013-06-18 14:52 robert * include/osg/Array, include/osg/Geometry: Changed header guard back to original, and removed deprecated enum 2013-06-18 14:22 robert * src/osgPlugins/ive/Geometry.cpp: Fixed order of binding. 2013-06-18 11:49 robert * include/osg/GeometryNew, src/osg/GeometryNew.cpp: Removed experiment GeometryNew as it's no longer required. 2013-06-18 11:18 robert * CMakeLists.txt, applications/osgfilecache/osgfilecache.cpp, examples/osganimationhardware/osganimationhardware.cpp, examples/osggeometry/osggeometry.cpp, examples/osgimpostor/osgimpostor.cpp, examples/osgsharedarray/osgsharedarray.cpp, include/osg/Array, include/osg/ArrayDispatchers, include/osg/Geometry, src/osg/ArrayDispatchers.cpp, src/osg/CMakeLists.txt, src/osg/Config.in, src/osg/Geode.cpp, src/osg/Geometry.cpp, src/osg/GraphicsCostEstimator.cpp, src/osgAnimation/MorphGeometry.cpp, src/osgAnimation/RigGeometry.cpp, src/osgAnimation/RigTransformHardware.cpp, src/osgFX/BumpMapping.cpp, src/osgPlugins/ac/Geode.cpp, src/osgPlugins/ive/Geometry.cpp, src/osgPlugins/pov/POVWriterNodeVisitor.cpp, src/osgUtil/EdgeCollector.cpp, src/osgUtil/MeshOptimizers.cpp, src/osgUtil/Optimizer.cpp, src/osgUtil/RenderBin.cpp, src/osgUtil/Simplifier.cpp, src/osgUtil/SmoothingVisitor.cpp, src/osgUtil/Statistics.cpp, src/osgUtil/TangentSpaceGenerator.cpp, src/osgUtil/Tessellator.cpp, src/osgUtil/TriStripVisitor.cpp, src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp, src/osgWrappers/serializers/osg/Geode.cpp, src/osgWrappers/serializers/osg/Geometry.cpp: Clean up up osg::Geometry, removing long deprecated support for array indices and BIND_PER_PRIMITIVE binding that forced OpenGL slow paths. osg::Geometry is now smaller and only supports OpenGL fasts paths. New methods osg::Geometry::containsDeprecatedData() and osg::Geometry::fixDeprecatedData() provide a means for converting geometries that still use the array indices and BIND_PER_PRIMITIVE across to complient versions. Cleaned up the rest of the OSG where use of array indices and BIND_PER_PRIMITIVE were accessed or used. 2013-06-14 09:43 robert * src/osgText/TextBase.cpp: Fixed TextBase::computeBound() so it take into account all corners of the text box thus ensuring proper handling of rotated text 2013-06-12 12:49 robert * include/osgDB/fstream, src/osgDB/fstream.cpp, src/osgPlugins/osga/OSGA_Archive.cpp, src/osgPlugins/osga/OSGA_Archive.h: From Martin Naylor, replace osgDB::fstream with an osgDB::open() call. 2013-06-11 10:52 robert * examples/osgtessellationshaders/osgtessellationshaders.cpp, include/osg/PatchParameter, include/osg/Program, include/osg/StateAttribute, src/osg/CMakeLists.txt, src/osg/PatchParameter.cpp, src/osg/Program.cpp, src/osgWrappers/serializers/osg/PatchParameter.cpp: Introduced new osg::PatchParameter StateAttribute class to wrap up glPatchParameter associated state. Note, osg::Program::setParameter(GL_PATCH_VERTICES,num); is nolonger support and should be replaced by using the new PatchParameter class. 2013-06-11 10:49 robert * examples/osgtessellationshaders/osgtessellationshaders.cpp: Fixed indentation 2013-06-11 09:05 robert * include/osgDB/ReaderWriter, src/osgDB/Registry.cpp: Refactored the way the ReadResult/WriteResult lists are handled, with them now being sorted so that the Read/WriteResult with highest numerical value ReadStatus/WriteStatus is returned. Changed the enum order of ReadStatus/WriteStatus to ensure that the more relevant errors are last and with the highest numerical value 2013-06-10 14:34 robert * CMakeLists.txt, examples/CMakeLists.txt, examples/osgQtBrowser/CMakeLists.txt, examples/osgQtBrowser/osgQtBrowser.cpp, examples/osgQtWidgets/CMakeLists.txt, examples/osgQtWidgets/osgQtWidgets.cpp, examples/osgqfont/CMakeLists.txt, examples/osgqfont/osgqfont.cpp, examples/osgviewerQt/CMakeLists.txt, examples/osgviewerQt/osgviewerQt.cpp, include/osgQt/GraphicsWindowQt, include/osgQt/QGraphicsViewAdapter, include/osgQt/QWebViewImage, src/CMakeLists.txt, src/OpenThreads/CMakeLists.txt, src/OpenThreads/qt/CMakeLists.txt, src/OpenThreads/qt/QtConditionPrivateData.h, src/OpenThreads/qt/QtMutexPrivateData.h, src/OpenThreads/qt/QtThread.cpp, src/OpenThreads/qt/QtThreadPrivateData.h, src/osgQt/CMakeLists.txt, src/osgQt/GraphicsWindowQt.cpp, src/osgQt/QFontImplementation.cpp, src/osgQt/QGraphicsViewAdapter.cpp, src/osgQt/QWidgetImage.cpp: From Kristofer Tingdahl, with additions from Riccardo Corsi and Robert Milharcic, support for Qt5 build 2013-06-10 10:37 robert * include/osg/NodeCallback: Fixed remove and add callback so they properly handle nested callbacks 2013-06-07 10:54 robert * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Marcin Prus, "I don't know if you seen my second reply to your information about merging my Image and dds plugin changes. I found one problem in your latest submit. In ReaderWriterDDS::ComputeImageSizeInBytes pixelFormat and pixelType are not passed into osg::Image::computeImageSizeInBytes. It's return osg::Image::computeImageSizeInBytes(width, height, depth, packing, slice_packing, image_packing); but I think it should be return osg::Image::computeImageSizeInBytes(width, height, depth, pixelFormat, pixelType, packing, slice_packing, image_packing);" 2013-06-07 10:52 robert * examples/osgsharedarray/osgsharedarray.cpp: From Mathias Froehlich, "attached is a change to osgsharedarray to move completely to the fast geometry path. Also the arrays are moved back to static storage since this is the data that is actually referenced in draw. So the change moving this onto the stack that happend somewhere before broke this." 2013-06-06 08:23 robert * src/osgViewer/Renderer.cpp: Replaced OpenThreads::Mutex with a OpenThreads::ReentrantMutex to allow draw callbacks to use Renderer. 2013-06-05 07:55 robert * include/osg/Array: Reorder member variables to ensure better packing in memory. 2013-06-05 07:27 robert * include/osg/Array, include/osg/GeometryNew, src/osg/GeometryNew.cpp: Moved the Array::AttribDivisor into the Array::Binding enum to avoid conflicts in settings between Binding and AttribDivisor. Removed the vertify bindings/shared arrays handling from GeometryNew 2013-06-04 19:04 robert * include/osg/Array, include/osg/ArrayDispatchers, include/osg/GeometryNew, src/osg/ArrayDispatchers.cpp, src/osg/GeometryNew.cpp: Updates to GeometryNew, Array and ArraDispatchers to clean up GeometryNew so that is no longer uses ArrayData. 2013-06-04 14:55 robert * include/osg/Array: Added s/getNormalize(), s/getPreserveDataType(), s/getAttribDivisor() and s/getBinding() to osg::Array base class in preperation for refactor of osg::Geometry and introduction of new features. 2013-06-04 14:43 robert * examples/CMakeLists.txt, examples/osggeodemo: Removed now redundent osggeodemo 2013-06-04 13:29 robert * src/osgPlugins/CMakeLists.txt, src/osgPlugins/geo: Removed geo plugin as the modelling tool it was assocaited is long defunct. 2013-06-04 10:06 robert * examples/osgoscdevice/osgoscdevice.cpp, examples/osgphotoalbum/osgphotoalbum.cpp, examples/osgpick/osgpick.cpp: Cleaned up BIND_PER_PRIMITIVE and array indice usage 2013-06-04 09:32 robert * examples/osggeometry/osggeometry.cpp, include/osg/GeometryNew, src/osg/CMakeLists.txt, src/osg/GeometryNew.cpp: Introduced GeometryNew which is a cleaned up version of Geometry that removes support for array indices. GeometryNew is only temporary and will be renamed to Geometry on the completion of refactoring work and feedback from community. Ported osggeometry across to use GeometryNew. 2013-06-04 09:29 robert * examples/osganimate/osganimate.cpp: Removed deprecated usage of osg::Geometry indices and BIND_PER_PRIMITIVE 2013-06-03 15:10 robert * include/osg/Texture, src/osg/Texture.cpp, src/osgWrappers/serializers/osg/Texture.cpp: From Aurelien Albert, Added support for texture swizzle. 2013-06-03 14:38 robert * CMakeLists.txt, include/osg/Version: Updated version and so_version in prep for 3.1.8 developer release 2013-06-03 14:27 robert * CMakeModules/FindFBX.cmake, src/osgPlugins/fbx/ReaderWriterFBX.cpp, src/osgPlugins/fbx/ReaderWriterFBX.h, src/osgPlugins/fbx/WriterNodeVisitor.cpp, src/osgPlugins/fbx/WriterNodeVisitor.h, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp, src/osgPlugins/fbx/fbxMaterialToOsgStateSet.h, src/osgPlugins/fbx/fbxRAnimation.cpp, src/osgPlugins/fbx/fbxRCamera.cpp, src/osgPlugins/fbx/fbxRLight.cpp, src/osgPlugins/fbx/fbxRMesh.cpp, src/osgPlugins/fbx/fbxRNode.cpp, src/osgPlugins/fbx/fbxReader.h: From Laurens Voerman, "Autodesk released a new version of their FBX Software Development Kit (web page http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775847). The API has changed quite a bit, so lots of changes had to be made in the osg readerwriter. The preious version of the FBX SDK (2013.3) already deprecated a lot of the names and functions. The code I submit now still compiles against 2013.3 (possibly needs a #define FBX_NEW_API). Not sure if that's useful, but it might ease the transition." 2013-06-03 14:04 robert * src/osgPlugins/gif/ReaderWriterGIF.cpp: From Laurens Voerman, "while updating dependencies I found a problem with libgif 5 from http://sourceforge.net/projects/giflib/ a change in version 5.0.0 required a call to the fuction "DGifOpen" to pass an int ref for an error code. My fix ignores the error, just fixes the compile." 2013-06-03 14:01 robert * src/osgPlugins/fbx/ReaderWriterFBX.cpp, src/osgPlugins/fbx/fbxRLight.cpp: From Sergey Polischuk, "this patch fixes light id in gl modes for osg::LightSource's readed from fbx (previously all lightsources were setting GL_LIGHT0 mode, while osg::Lights were using different id's), and enables GL_LIGHT# on root node for all lights contained in model " 2013-06-03 13:13 robert * include/osgDB/InputStream, include/osgDB/OutputStream, include/osgDB/Serializer, src/osgDB/InputStream.cpp: Added Vec*b, Vec4ub, Vec*s, Vec*i, Vec*ui serializers 2013-06-03 12:19 robert * src/osg/CMakeLists.txt: Added Vec2i, Vec2ui, Vec3i, Vec3ui, Vec4i and Vec4ui headers to CMake header list 2013-06-03 11:38 robert * include/osg/Vec2i, include/osg/Vec2ui, include/osg/Vec3i, include/osg/Vec3ui, include/osg/Vec4i, include/osg/Vec4ui: From Art Tevs, int and uint Vec classes 2013-06-03 09:19 robert * include/osg/GL2Extensions, src/osg/GL2Extensions.cpp: From Aurelien Albert, "This submission is made against trunk version and add the loading of "glVertexAttribDivisor" extension." 2013-05-31 10:28 robert * CMakeLists.txt: From Laurens Voerman, "I made some changes to the top level CMakeLists.txt that might be usefull to other visualstudio users. 1> Disable project grouping for VCExpress users: the version I proposed previously in Re: [osg-submissions] Cmake patch to support folders in IDE (29 Feb 2012) 2> Remove FIND_PACKAGE(OpenAL): not used in any project 3> add /wd4250 for Visual Studio 2012: suppress the errors caused by a microsoft fix for a bugfix. ref: "Warning messages VS2012..." on osg-users (30 May 2012) " 2013-05-31 10:23 robert * include/osgGA/GUIEventAdapter: From Ulrich Hertlein, "attached is a patch that fixes another clang++ compiler warning when returning std::vector::size() as 'unsigned int'. " 2013-05-30 09:07 robert * src/osgPlugins/nvtt/NVTTImageProcessor.cpp: From Wang Rui, "The osgdb_nvtt plugin needs to be updated to work with the latest NVTT library, which changes the interface slightly (adding a new pure virtual method endImage()). I've modified the source file and attached it here." 2013-05-28 19:16 robert * src/osgViewer/config/PanoramicSphericalDisplay.cpp, src/osgViewer/config/PanormaicSphericalDisplay.cpp: Renamed PanoramicSphericalDisplay.cpp to fix a typo 2013-05-28 16:39 robert * ChangeLog, applications/osgversion/Contributors.cpp: Updated ChangeLog and Contributors list 2013-05-28 15:43 robert * src/osgPlugins/3ds/ReaderWriter3DS.cpp: From Farshid Lashkari, "The logic for handling opacity maps in the 3ds reader seems to be incorrect. It checks whether the diffuse texture contains transparency, instead of the opacity texture. If the diffuse does not contain an alpha channel it outputs the warning: The plugin does not support images without alpha channel for opacity This seems to indicate that the check for alpha should be against the opacity map. I've attached the updated file. " 2013-05-28 15:40 robert * src/osg/State.cpp: From Michael Bach Jensen and Robert Osfield, "As discussed (http://forum.openscenegraph.org/viewtopic.php?t=12027) here is my submission :-) The following change to State.cpp fixes the case where textures in a stateset along with a compute shader program did not make those textures available to the shader, since it got evaluated before the texture bind(s)." Note from Robert, Michael only change State::apply(StateSet*) so I also applied the same reversal in apply of texutre modes/state into the State::apply() method for consistency. 2013-05-28 15:18 robert * src/osgPlugins/ive/Text.cpp: Replaced the initialization of the strarray to use reseve instead of a initial size provided in the constructor as this was leading to a bug in output. 2013-05-28 14:40 robert * include/osgShadow/ViewDependentShadowMap: Fixed date typo 2013-05-28 14:35 robert * src/osg/State.cpp: From Farshid Lashkari, "I just started looking into the shader composition feature. I enabled shader composition on the osg::State object and noticed a 6x increase in draw time. I figured that the default composer might have performance issues, so I created a custom ShaderComposer that overrides "getOrCreateProgram" and does nothing. This still resulted in a performance drop. I looked into the "State::applyShaderComposition" method and noticed that it will print debug information to the osg::INFO stream. I commented that line out and the performance drop was gone. I'm not sure if the printing was accidentally left in or is meant to be enabled. I've modified the function to only call the print function if INFO logging is enabled. I've attached the change." 2013-05-28 14:14 robert * examples/osgphotoalbum/ImageReaderWriter.cpp, include/osg/Image, src/osg/Image.cpp, src/osgPlugins/dds/ReaderWriterDDS.cpp: From Marcin Prus and Robert Osfield, moved the key parts of the .dds plugins computeRowWidthInBytes implementation into the osg::Image::computeImageSizeInBytes(..) to address bugs in the computation of image size. 2013-05-28 11:47 robert * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Sukender, "Added ".dds" file deletion on writing failure." 2013-05-28 11:46 robert * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Sukender, "Added vertical flipping to the writer depending on the Image::getOrigin() value (= flip the image when Image::BOTTOM_LEFT). Most of the time this will not change DDS writing (= no v-flip), as it seems images are rarely "BOTTOM_LEFT". To skip this behaviour, the "ddsNoAutoFlipWrite" option was added. I also moved a few lines of code about "dds_flip" option, and made options reading more like in other ReaderWriters." 2013-05-28 11:44 robert * src/osgPlugins/dds/ReaderWriterDDS.cpp: From Diane Delallée & Sukender, "Added some support of non-modulus-4 dimensions in S3TC-DXTC images (previous implementation seem just not to handle these properly). - Added missing packing value on S3TC images. Images are coded with 4x4 blocs, whatever the image size. So there is an horizontal packing of 4 pixels (2 bytes in DXT1, 4 bytes in DXT2-5). - Added crash guard against writing corrupted S3TC images. Notes: - What is missing is a support of "lines packing" in osg::Image (see code comments). - S3TC-DXTC vertical flipping crashes (access violation) with some unusual dimensions (see code). I could not implement missing cases, so I added guards to avoid crashing." 2013-05-28 11:25 robert * src/osg/Image.cpp, src/osg/dxtctool.cpp, src/osg/dxtctool.h: From Diane Delallée and Sukender, "1. Image.cpp Failure to perform a vertical flip on S3TC-DXTC now simply leaves the original image instead of corrupting it. Image.cpp was sometimes performing a "normal" (= for uncompressed images) vertical flip on S3TC-DXTC images, producing weird results. Actually, code was trying a "DXTC vertical flip" and relied on the result to call a "normal vertical flip". But when the "DXTC v-flip" encounters an error, this is is not necessarily because the image is not S3TC (ex: unhandled image dimensions)! So now the code simply does "if dxtc, then flip_dxtc; else flip_normal;". Note from Robert Osfield, moved the isDXT function into the dxt_tool file and namespace. 2013-05-28 10:46 robert * src/osgPlugins/OpenFlight/PrimaryRecords.cpp: Fixed the computation of the spot light direction. 2013-05-28 09:20 robert * src/osgViewer/View.cpp: Fixed View::setUpViewInWindow() parameter 2013-05-28 08:38 robert * src/osg/GLExtensions.cpp: Added an OSG_INIT_SINGLETON_PROXY(..) to initialize the static s_GLExtensionDisableString variable _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

