<div dir="ltr"><div>Hi All,<br><br>I have just tagged the first 3.4.1 release candidate :<br><br>   <a href="https://github.com/openscenegraph/OpenSceneGraph/tree/OpenSceneGraph-3.4.1-rc1">https://github.com/openscenegraph/OpenSceneGraph/tree/OpenSceneGraph-3.4.1-rc1</a><br><br></div><div>Lots of bug and build fixes since 3.4.0.  Please test across as many OS and build plaforms as you can, and against your own applications.<br><br></div><div>Thanks in advance for you help with testing,<br></div><div>Robert.<br></div><div><br>-- ChangeLog since 3.4.0:<br></div><br>Fri, 28 Jul 2017 17:43:34 +0100<br>Checked in by : Robert Osfield<br>Updated 3.4 branch to 3.4.1-rc1 version<br><br>Fri, 5 Aug 2016 13:16:07 +0100<br>Checked in by : James Turner<br>Attempt to fix broken DLL exports from osgDBOnly export the osgDB method implementations, instead of the entire<br>class, and hence avoid exporting symbols from the base class, which<br>then conflict with other compilation units when linking.<br><br>This avoids the need for /FORCE:MULTIPLE linker option with MSVC.<br><br>Thu, 27 Jul 2017 10:43:33 +0100<br>Checked in by : Robert Osfield<br>Adopted FindFreetype.cmake from master<br><br>Wed, 26 Jul 2017 11:12:11 +0100<br>Checked in by : Robert Osfield<br>Replaced State::_glExtensions initialization to be consistent with master, enabling sharing of GLExtension data structure.<br><br>Wed, 26 Jul 2017 11:08:46 +0100<br>Checked in by : Robert Osfield<br>Moved State::initializeExtensionProcs() nearer top of source file to make the position consistent with change in position in master, making it easier to diff between them.<br><br>Tue, 25 Jul 2017 15:58:27 +0100<br>Checked in by : Robert Osfield<br>Merged GLExtension deletion mechanism from master to avoid GLEXtension being deleted when shared contexts are used and osg::State is deleted when a context is deleted.<br><br>Tue, 25 Jul 2017 14:45:20 +0100<br>Checked in by : OpenSceneGraph git repository<br>Merge pull request #272 from psyinf/msvc_static_buildMsvc static build<br><br>Fri, 21 Jul 2017 13:12:38 +0200<br>Checked in by : Sebastian Messerschmidt<br>FIX: missing change in ENDIF<br><br>Fri, 21 Jul 2017 11:06:22 +0200<br>Checked in by : Sebastian Messerschmidt<br>FIX: <CMake> attempting to install pdb-files for static targets caused failing INSTALL<br><br>Mon, 17 Jul 2017 16:46:16 +0100<br>Checked in by : Anna Sokol<br>Since version 2.5.1 freetype has supported the WOFF extension format. In the attached ReaderWriterFreeType.cpp file I added the following line:            supportsExtension("woff","web open font format");<br><br><br>Tue, 20 Jun 2017 09:35:49 +0100<br>Checked in by : Robert Osfield<br>Pulled in .gitignore from master<br><br>Tue, 16 May 2017 15:40:10 +0100<br>Checked in by : Robert Osfield<br>Backported GLES compatible shaders into ShaderGen<br><br>Tue, 16 May 2017 15:04:59 +0100<br>Checked in by : Robert Osfield<br>Backported GL2/3, GLES2/3 compatible Text and StatsHandler shaders to OSG-3.4<br><br>Mon, 29 May 2017 12:20:31 +0100<br>Checked in by : Robert Osfield<br>Added TimeMultiplier and LoopingMode to ImageSequence .osg serializer<br><br>Thu, 25 May 2017 13:29:42 +0100<br>Checked in by : Robert Osfield<br>Improved the DrawElements selction<br><br>Thu, 25 May 2017 10:53:00 +0100<br>Checked in by : Robert Osfield<br>Added handlng of Text with large number of characters<br><br>Thu, 25 May 2017 10:41:12 +0100<br>Checked in by : Robert Osfield<br>Replaced osg::DrawElementeUInt usage for a more flexible DrawElements base class approach with the default set to DrawElementUShort to ensure compatibility with GLES2 implementes that don't support uint for glDrawElements.<br><br>Tue, 16 May 2017 12:32:41 +0100<br>Checked in by : Robert Osfield<br>Addded a GLES2 compatible osgmovie shader<br><br>Wed, 10 May 2017 11:08:27 +0100<br>Checked in by : OpenSceneGraph git repository<br>Merge pull request #251 from emminizer/OpenSceneGraph-3.4osgText::Glyph: Explicitly set GL_TEXTURE_MIN_FILTER to address disap…<br><br>Tue, 25 Apr 2017 07:22:16 -0400<br>Checked in by : Daniel Emminizer<br>osgText::Glyph: Explicitly set GL_TEXTURE_MIN_FILTER to address disappearing glyphs on some Intel cards.<br><br>Mon, 24 Apr 2017 10:38:02 +0100<br>Checked in by : Alexander Roan<br>GLExtenstions: fix checking of isFrameBufferObjectSupported flag for GLES2<br><br>Tue, 18 Apr 2017 15:53:48 +0100<br>Checked in by : Konstantin S. Matveyev<br>Fixes glyphs's MODELVIEW matrices (positions, scales etc.) if state.getUseModelViewAndProjectionUniforms() is true<br><br>Mon, 13 Mar 2017 14:27:08 +0000<br>Checked in by : OpenSceneGraph git repository<br>Merge pull request #214 from LaurensVoerman/submit-3.4serializerParticlefix bug in osgb/osgt/osgx readerwriter osgParticle<br><br>Sat, 11 Mar 2017 11:38:18 +0000<br>Checked in by : OpenSceneGraph git repository<br>Merge pull request #210 from scrawl/programfix_backportBackport state leak fix to 3.4 branch<br><br>Tue, 21 Feb 2017 21:55:05 +0100<br>Checked in by : Nico Kruithof<br>Fixed typoosg_ModeViewMatrix -> osg_ModelViewMatrix<br><br><br>Mon, 6 Mar 2017 15:33:22 +0100<br>Checked in by : Laurens Voerman<br>fix bug in osgb/osgt/osgx readerwriter causing the osgParticle-SizeInterpolator and -ColorInterpolator to dissapear<br><br>Wed, 21 Dec 2016 11:02:29 +0000<br>Checked in by : Robert Osfield<br>Changed Program::apply() to Program::compileGLObjects() to avoid the Program::apply() setting of setLastAppliedProgramObjects for affect current state.<br><br>Wed, 8 Feb 2017 14:54:08 +0000<br>Checked in by : OpenSceneGraph git repository<br>Merge pull request #199 from scrawl/statefix_backportBackport State fix to 3.4 branch<br><br>Wed, 29 Jun 2016 16:53:26 +0200<br>Checked in by : Julien Valentin<br>fix in StateSet.cpp the State::DefineMap::changed flag is not resetted to false after currentDefines are updated<br><br>Tue, 24 Jan 2017 17:36:36 +0000<br>Checked in by : Robert Osfield<br>Fixed linking bug caused by repeated Program::addShader()/removeShader() operations invalidating the internal attach/dettech lists.<br><br>Fri, 20 Jan 2017 17:31:09 +0000<br>Checked in by : Robert Osfield<br>Quitened down verbose debug messages<br><br>Fri, 20 Jan 2017 17:06:55 +0000<br>Checked in by : Robert Osfield<br>Quietened down some verbose debug messages<br><br>Thu, 19 Jan 2017 15:56:17 +0000<br>Checked in by : Robert Osfield<br>Fixed indentation of comment<br><br>Wed, 4 Jan 2017 12:55:15 +0000<br>Checked in by : Robert Osfield<br>Fixed unitialized variable access to premature calling of computeMatrix().<br><br>Fri, 23 Dec 2016 17:16:16 +0000<br>Checked in by : Robert Osfield<br>From Hartwig Wiesmann, "ScalarsToColors returns a wrong color in case a value larger max is passed to getColor"<br><br>Wed, 21 Dec 2016 17:02:05 +0000<br>Checked in by : Robert Osfield<br>From Torben Dannhauer, build updates for NVTT.<br><br>Wed, 21 Dec 2016 16:35:10 +0000<br>Checked in by : Robert Osfield<br> From Torben Dannahauer, updates to track changes to Winddows 3rd party package<br><br>Wed, 21 Dec 2016 15:33:02 +0000<br>Checked in by : Robert Osfield<br>From Torben Dannhauer, "When compiling OSG with DCMTK on windows, it throws an compiler error due to a missing ws2_32.lib in the linker settings."<br><br>Wed, 21 Dec 2016 11:40:16 +0000<br>Checked in by : Robert Osfield<br>From Andreas Ekstrand, "he attached ESRIShape.cpp contains a small fix in parsing of PointZ features, now correctly comparing with header content length which is defined in 16-bit words.This should have been fixed in my old submission from 2012 but was probably overlooked due to an alternative way of comparing to a fix number for this feature type.<br><br>Without this fix, the plugin will only read one PointZ feature even if multiple features exist."<br><br><br>Wed, 21 Dec 2016 09:10:50 +0000<br>Checked in by : Robert Osfield<br>Added StateSet::setGlobalDefaults() to fix bug when osgViewer has stats on but no scene graph assigned<br><br>Mon, 31 Oct 2016 16:11:20 +0000<br>Checked in by : Robert Osfield<br>Fixed handling of #define's that are used as functions<br><br>Wed, 30 Nov 2016 17:15:06 +0000<br>Checked in by : Robert Osfield<br>Added GL_EXT_texture_border_clamp support for GLES<br><br>Sat, 26 Nov 2016 01:09:13 +0100<br>Checked in by : scrawl<br>Fix typo in StateSet::compileGLObjects, causing compilation of attributes to not be executed unless checkForGLErrors is true.<br><br>Wed, 23 Nov 2016 19:18:14 +0000<br>Checked in by : Robert Osfield<br>Fixed crash in handling of osg::Callback attached as Drawable update callback. Added handling of osg::Callback as a Drawable cull callback<br><br>Fri, 11 Nov 2016 17:16:40 +0000<br>Checked in by : Robert Osfield<br>Added Dragger::applyAppropriateFrontFace(StateSet*) to make it easy to handle inverted matrices by toggling the FrontFace to sure the correct face is visible.<br><br>Fri, 11 Nov 2016 13:54:54 +0000<br>Checked in by : Robert Osfield<br>Merge branch 'OpenSceneGraph-3.4' of <a href="https://github.com/openscenegraph/OpenSceneGraph">https://github.com/openscenegraph/OpenSceneGraph</a> into OpenSceneGraph-3.4<br><br>Fri, 11 Nov 2016 13:54:15 +0000<br>Checked in by : Robert Osfield<br>Fixed handling of Locator's with negative extents<br><br>Thu, 3 Nov 2016 11:31:07 +0000<br>Checked in by : Robert Osfield<br>Added check against binding type of array to decide whether it's appropriate to assign array to VBO.<br><br>Wed, 12 Oct 2016 17:23:19 +0100<br>Checked in by : Robert Osfield<br>Changed appending of \n to be to the version line.<br><br>Mon, 10 Oct 2016 11:21:28 +0100<br>Checked in by : Robert Osfield<br>From Torben Dannhauer, added freetype27 (2.7) to search list<br><br>Thu, 6 Oct 2016 17:15:25 +0200<br>Checked in by : Laurens Voerman<br>remove CMAKE_BUILD_TYPE STREQUAL "Release" (cmake configure time varable) to select pdb install - select CONFIGURATIONS RelWithDebInfo Debug<br><br>Thu, 6 Oct 2016 14:21:07 +0200<br>Checked in by : Laurens Voerman<br>fix bug in SmoothingVisitor tripped by bunny.ply<br><br>Thu, 22 Sep 2016 14:33:03 +0100<br>Checked in by : Robert Osfield<br>Replaced local static usage to avoid threading and mulit-context issues<br><br>Wed, 10 Aug 2016 14:12:27 +0100<br>Checked in by : Anish Thomas<br>GLSL 1.3 support for vertex-attrib aliasing<br><br>Mon, 15 Aug 2016 12:56:57 +0100<br>Checked in by : Robert Osfield<br>Fixed handling in osgUtil::IncrementalCompileOperation/CompileSet/StateToCompile when the _markerObject is NULL.<br><br>Sun, 31 Jul 2016 14:57:11 +0100<br>Checked in by : Robert Osfield<br>Merge branch 'OpenSceneGraph-3.4' of <a href="https://github.com/openscenegraph/OpenSceneGraph">https://github.com/openscenegraph/OpenSceneGraph</a> into OpenSceneGraph-3.4<br><br>Sun, 31 Jul 2016 14:00:30 +0100<br>Checked in by : Robert Osfield<br>Added FT_LOAD_NO_HINTING<br><br>Tue, 28 Jun 2016 18:39:12 +0100<br>Checked in by : Robert Osfield<br>Revert "corrected syntax error in src/osgPlugins/fbx/ReaderWriterFBX.cpp"This reverts commit 7a1324800ffe3e4ddd9d7fb475f0323da6fe2f43.<br><br><br>Sun, 31 Jul 2016 11:06:51 +0100<br>Checked in by : Robert Osfield<br>Fixed build error reported on gcc 4.6.4/Ubuntu 12.04 32bit, issue #108<br><br>Sun, 19 Jun 2016 21:07:37 +0700<br>Checked in by : Thao Le<br>corrected syntax error in src/osgPlugins/fbx/ReaderWriterFBX.cpp<br><br>Fri, 10 Jun 2016 12:44:26 +0100<br>Checked in by : Robert Osfield<br>Fixed invalidated iterator bug pick up by Coverity.<br><br>Thu, 9 Jun 2016 14:33:05 +0100<br>Checked in by : Robert Osfield<br>Copied over .travis.yml file to 3.4 branch to add build testing<br><br>Thu, 9 Jun 2016 14:10:02 +0100<br>Checked in by : Mathieu MARACHE<br>Build fix for VS.<br><br>Thu, 9 Jun 2016 12:08:47 +0100<br>Checked in by : Robert Osfield<br>Rewrote Window::setNextFocusable() to address a bug in the management of the search iterator. Covertiy reported bug "Undefined behavior may result; the program may crash or subtly misbehave. In osgWidget::​Window::​setNextFocusable(): An invalid or past-the-end iterator is being used."<br><br>Thu, 9 Jun 2016 11:41:14 +0100<br>Checked in by : Robert Osfield<br>Fixed "Using invalid iterator" bug in getTile() methods, detected by Covertity.<br><br>Fri, 3 Jun 2016 17:57:04 +0100<br>Checked in by : Julien Valentin<br>Fixed little bug in DrawArraysLength (instancing not supported). Corrected PrimitiveSet.cpp in order DrawArraysLength can be instanced. It's the only pr missing code if (_numInstances>=1)      glDrawXXXInstanced(...,_numInstances); else glDrawXXX();<br><br>Wed, 1 Jun 2016 12:49:55 +0100<br>Checked in by : Robert Osfield<br>Fixed missing "<br><br>Wed, 1 Jun 2016 11:41:10 +0100<br>Checked in by : Robert Osfield<br>Added macosx10.11 to the list of supported OSX SDK's<br><br>Wed, 1 Jun 2016 11:25:31 +0100<br>Checked in by : Robert Osfield<br>Added in extra search paths for FBX<br><br>Wed, 1 Jun 2016 10:32:35 +0100<br>Checked in by : Andreas Cadhalpun<br>Replace deprecated FFmpeg API to fix build with ffmpeg-3.0.x<br><br>Wed, 6 Mar 2013 09:38:48 +0100<br>Checked in by : Stephan van Alste<br>Do not install non existant pdb file in release build mode<br><br>Tue, 12 Feb 2013 13:09:00 +0100<br>Checked in by : Ralf Habacker<br>Install msvc debug files along with the binaries<br><br>Tue, 31 May 2016 16:14:51 +0100<br>Checked in by : Ralf Habacker<br>Fixed bug not detecting unc pathes in osgDB::isAbsolutePath()<br><br>Tue, 31 May 2016 12:58:57 +0100<br>Checked in by : Alberto Luaces<br>defines for building on Hurd and BSD kernels<br><br>Tue, 31 May 2016 11:27:30 +0100<br>Checked in by : Pjotr Svetachov<br>small optimization to the osgb/t serializers.<br><br>Mon, 30 May 2016 13:43:09 +0100<br>Checked in by : Jannik Heller<br>Fixed typo of method name<br><br>Mon, 30 May 2016 12:41:25 +0100<br>Checked in by : Tony Vasile<br>OpenFlight-plugin with Surface Material Codes. There is one additional field that may be required by an existing application in addition to the IR Code is the IR Material. I have a small fix to include the IR Material as the User Value <UA:IRM><br><br>Thu, 26 May 2016 18:07:46 +0100<br>Checked in by : Robert Osfield<br>From Wee See, "attached a small submission, which makes the option "readObjectRecordData" of OpenFlight-plugin working like documented in the Knowledge Base of OSG (52-using-the-openflight-plugin).Actually, if the option "readObjectRecordData" is set, ObjectRecordData will not be read and set.<br>With this submission, if the option "readObjectRecordData" is set, ObjectRecordData will be read and set."<br><br><br>Thu, 26 May 2016 17:49:06 +0100<br>Checked in by : Robert Osfield<br>From Philippe Renon and Robert Osfield,  osgViewer::Viewer::checkNeedToDoFrame should return true when only the root node has an update callback.Note, from Robert, I took Philippe modifications to Viewer.cpp and reformated them slightly to avoid a double check against getSceneData()!=0 and then rolled<br>the changes out to CompositeViewer::checkNeedToDoFrame() to ensure that both implementations work the same.<br><br><br>Tue, 24 May 2016 20:46:44 +0100<br>Checked in by : Robert Osfield<br>Fixed RenderStageCache's handling of Observer functionality that was causing a crashing on exit in osgoit and osgprerender examples.<br><br>Fri, 6 May 2016 19:55:04 +0100<br>Checked in by : Robert Osfield<br>Added GLES3 path for setting up with EGL<br><br>Fri, 6 May 2016 17:49:01 +0100<br>Checked in by : Robert Osfield<br>Added 3.4 press release to NEWS.txt<br><br>Wed, 27 Apr 2016 08:40:35 +0100<br>Checked in by : Robert Osfield<br>Added non const releaseGLObjects(osg::State* state) for backwards compatibility<br><br>Thu, 21 Apr 2016 14:07:22 +0100<br>Checked in by : Robert Osfield<br>Fixed copy _readBuffer bug.<br><br>Mon, 18 Apr 2016 20:46:45 +0100<br>Checked in by : Robert Osfield<br>Fixed ShaderComposer::releaseGLObjects(State*) const method as it's const was missing. Rewrote the ShaderComposer::releaseGLObjects() const method to pass on the releaseGLObjects() calls to any associated Program or Shader objects.<br><br>Thu, 14 Apr 2016 17:46:27 +0100<br>Checked in by : Robert Osfield<br>From Vladimir Chebaev, fixed handling of outline orientiation<br><br>Thu, 14 Apr 2016 17:46:27 +0100<br>Checked in by : Robert Osfield<br>From Vladimir Chebaev, fixed handling of outline orientiation<br><br>Tue, 29 Mar 2016 20:24:05 +0100<br>Checked in by : Robert Osfield<br>Changed the default value paramter to be consistent with the non templated version of StateSet::setTextureAttributeAndModes(..)<br><br>Thu, 31 Mar 2016 19:26:51 +0100<br>Checked in by : Robert Osfield<br>Merge branch 'OpenSceneGraph-3.4' of <a href="https://github.com/openscenegraph/OpenSceneGraph">https://github.com/openscenegraph/OpenSceneGraph</a> into OpenSceneGraph-3.4<br><br>Thu, 31 Mar 2016 17:52:29 +0100<br>Checked in by : Robert Osfield<br>added assignment of mipmap levels from source image.<br><br>Thu, 31 Mar 2016 17:52:29 +0100<br>Checked in by : Robert Osfield<br>From Sherman Wilcox, added assignment of mipmap levels from source image.<br><br>Fri, 11 Mar 2016 15:35:07 +0000<br>Checked in by : Robert Osfield<br>From Jannik Heller, Wrong function call in setTextureAttributeAndModes "From I think that this piece of code in StateSet::setTextureAttributeAndModes is a copy&paste mistake:            OSG_NOTICE<<"Warning: non texture attribute '"<<attribute->className()<<"' passed to setTextureAttributeAndModes(unit,attr,value), "<<std::endl;<br>            OSG_NOTICE<<"         assuming setAttributeAndModes(attr,value) instead."<<std::endl;<br>            OSG_NOTICE<<"         please change calling code to use appropriate call."<<std::endl;<br>            setAttribute(attribute,value);<br><br>As per the warning message it should be calling setAttributeAndModes(attribute,value); ."<br><br><br>Wed, 2 Mar 2016 09:18:26 +0000<br>Checked in by : Robert Osfield<br>From Joe Thompson, "OpenSceneGraph cannot be built with Visual Studio 2008. The file osg-OpenSceneGraph-3.4.0\include\osg\Types typedefs int8_t, int16_t, int32_t and int64_t These are typedefed as signed __intX in several other places. With VS2008, this causes an error "int8_t redifined, different basic types" Explicitly declaring them signed fixes the error."<br><br>Tue, 1 Mar 2016 20:37:07 +0000<br>Checked in by : Robert Osfield<br>Updated ChangeLog<br><br>Tue, 1 Mar 2016 20:34:18 +0000<br>Checked in by : Robert Osfield<br>Removed redundent CMake vars<br><br>Tue, 1 Mar 2016 20:24:19 +0000<br>Checked in by : Robert Osfield<br>Fixed the make tag-run and branch-run<br><br>Tue, 1 Mar 2016 19:54:36 +0000<br>Checked in by : Robert Osfield<br>Updated AUTHORS and ChangeLog<br><br>Tue, 1 Mar 2016 19:44:32 +0000<br>Checked in by : Robert Osfield<br>Refactored the make tag-test, tag-run, branch-test, branch-run and ChangeLog features of the CMakeLists build system so it now supports working off git instead of subversion<br><br>Tue, 1 Mar 2016 11:45:20 +0000<br>Checked in by : Robert Osfield<br>Within the #pragmatic shader composition code added platform specific line endings for WIN32 vs all other platforms to "\r\n" and "\n" respectively.<br><br>Mon, 29 Feb 2016 15:57:01 +0000<br>Checked in by : Robert Osfield<br>Merged improved parsing of #pragma from master.<br><br>Wed, 24 Feb 2016 16:00:12 +0000<br>Checked in by : Robert Osfield<br>Fixed debug build<br><br>Tue, 23 Feb 2016 10:12:31 +0000<br>Checked in by : Robert Osfield<br>From Jannik Heller, osgParticle freeze on cull fix, ammended by Robert Osfield to make if statements a little more readable.<br><br>Mon, 22 Feb 2016 09:19:51 +0000<br>Checked in by : Robert Osfield<br>From Anish Thomas, "Underflow bug in BufferObject pool usage"<br><br>Fri, 19 Feb 2016 15:01:27 +0000<br>Checked in by : Robert Osfield<br>From Bjorn Blissing, "I stumbled upon a strange ifdef-case inside Geometry.cppCurrently the code looks like this:<br><br>Code:<br>    DrawElementsUByte* elems = new DrawElementsUByte(PrimitiveSet::TRIANGLES);<br>    elems->push_back(0);<br>    elems->push_back(1);<br>    elems->push_back(2);<br><br>    elems->push_back(2);<br>    elems->push_back(3);<br>    elems->push_back(0);<br>    geom->addPrimitiveSet(elems);<br>    geom->addPrimitiveSet(new DrawArrays(PrimitiveSet::QUADS,0,4));<br><br>The second condition looked really strange (note the ! sign), and results in pretty much all code paths uses the first code. The correct version should probably be that only people with GLES1 or GLES2 should use GL_TRIANGLES to simulate quads. And all others should use the native support for GL_QUADS.<br>"<br><br><br>Fri, 19 Feb 2016 12:19:12 +0000<br>Checked in by : Robert Osfield<br>To the COLLADA_INCLUDE_DIR search paths added the directories:    /usr/local/include/collada-dom2.4<br>    /usr/local/include/collada-dom2.2<br>    /opt/local/include/collada-dom2.4<br>    /opt/local/include/collada-dom2.2<br>    /usr/include/collada-dom2.4<br>    /usr/include/collada-dom2.2<br><br>To enable recent versions of the DOM to be found in their new install locations.<br><br><br>Thu, 18 Feb 2016 19:53:36 +0000<br>Checked in by : Robert Osfield<br>Updated the AuthenticationDetails::HttpAuthentication enum to reflect current libcurl values<br><br>Thu, 18 Feb 2016 10:57:19 +0000<br>Checked in by : Robert Osfield<br>Replaced (long int) with more portable (GLint64)<br><br>Thu, 18 Feb 2016 10:04:04 +0000<br>Checked in by : Robert Osfield<br>From Tony Vasile, "This is a fix for the handling of OpenFlight files with switches whose children have a transformation matrix on them. It may break other things and I have only tested this with one of my models."<br><br>Thu, 18 Feb 2016 09:25:48 +0000<br>Checked in by : Robert Osfield<br>From Mourad Boufarguine, "This submission fixes typos in Uniform::getTypename() method in Uniform.cpp (missing "r" in usampler names)."<br><br>Thu, 18 Feb 2016 08:50:06 +0000<br>Checked in by : Robert Osfield<br>Renamed zero and one to transparentCount and opaqueCount to avoid confusion in their meaning and usage.<br><br>Wed, 17 Feb 2016 17:36:10 +0000<br>Checked in by : Robert Osfield<br>Fixed warning<br><br>Wed, 17 Feb 2016 17:08:07 +0000<br>Checked in by : Robert Osfield<br>Commented out unused functions and variable.<br><br>Wed, 17 Feb 2016 15:59:13 +0000<br>Checked in by : Robert Osfield<br>Introduced a separate GLuint64 one variable to get around a 32bit build timer issue under Windows.<br><br>Wed, 27 Jan 2016 10:06:33 +0000<br>Checked in by : Robert Osfield<br>Fixed check against Drawable::isCullingActive().Removed old code intended to check the Geode parent of a Drawable to see if it's CullingActive is true as this was broken by the change osg::Drawable being derived from osg::Node rather than osg::Object.<br><br><br>Mon, 25 Jan 2016 19:38:44 +0000<br>Checked in by : Robert Osfield<br>Added .gitignore to queiten down git status reports<br><br>Mon, 25 Jan 2016 12:18:32 +0000<br>Checked in by : Robert Osfield<br>Revert "From Jannik Heller and Robert Osfield, introduced ReadResult/WriteResult::statusMessage() method that creates a std::string from the stutus value and message string." as this submission was meant for the master only, not the binary compatible 3.4 branch.This reverts commit df97a18a5754ed39ac43044ad9557e8409790ff3.<br><br><br>Mon, 25 Jan 2016 10:45:07 +0000<br>Checked in by : Robert Osfield<br>From John Farrier, "Best I can tell, there is an enumeration for NEVER_CHECK_GL_ERRORS in CheckForGLErrors, defined in State.  State.cpp does check to see if you want MORE error checking, but there is no way to turn OFF error checking. This change allows disabling of OpenGL error checking."<br><br>Mon, 25 Jan 2016 10:25:15 +0000<br>Checked in by : Robert Osfield<br>From Patrick Neary, "In ShaderComposer::getOrCreateProgram(), tesselation control and evaluation shaders are processed but not added to the shader program."<br><br>Fri, 22 Jan 2016 10:09:00 +0000<br>Checked in by : Robert Osfield<br>Changed the prototype from NULL to osg::DummyObject to address a bug in reading .osgt + .osgx where an image is written out but fails to read the file causes subsequent parts of the file to be mis-read<br><br>Thu, 21 Jan 2016 08:32:57 +0000<br>Checked in by : Robert Osfield<br>Fixed typo View::setImagePager(..) template method<br><br>Mon, 18 Jan 2016 13:10:14 +0000<br>Checked in by : Robert Osfield<br>From Jannik Heller, "This submission fixes a bug introduced in commit <a href="https://github.com/openscenegraph/osg/commit/5b17e3bc2a0c02cf84d891bfdccf14f170ee0ec8">https://github.com/openscenegraph/osg/commit/5b17e3bc2a0c02cf84d891bfdccf14f170ee0ec8</a> "Introduced CMake option OSG_PROVIDE_READFILE option...". The added overload for StateSet::setAttributeAndModes was ignoring the mode setting. "<br><br>Tue, 19 Jan 2016 17:39:03 +0000<br>Checked in by : Robert Osfield<br>From Jannik Heller and Robert Osfield, introduced ReadResult/WriteResult::statusMessage() method that creates a std::string from the stutus value and message string.<br><br>Tue, 19 Jan 2016 15:39:46 +0000<br>Checked in by : Robert Osfield<br>From Ravi Mathur, OSX/Clang 7.0.0 build fix<br><br>Mon, 14 Dec 2015 17:59:45 +0000<br>Checked in by : Robert Osfield<br>From Wojciech Lewandowski, Visual Studio 2008 compatibility fixTwo fixed files:<br><br>osgPlugins/osgjs/JSON_Objects<br>osgPlugins/stl/ReaderWriterSTL.cpp.<br><br>They did not compile with VS 2008 (recent master from Github). It looks like they defined stdint types  (missing in VS 2008) but code using them also included <osg/Types> header. Errors were caused by minor differences in signed int definitions. I just removed own definitions and added include<osg/Types> instead. It solves the problem and makes the code clearer now.<br><br><br>Mon, 23 Nov 2015 13:15:05 +0000<br>Checked in by : Robert Osfield<br>From Jordi Torres, Fix for missing header file in distributionosg/TriangleLinePointIndexFunctor was not being installed because it was not added to the CMakeLists.txt<br><br><br>Mon, 23 Nov 2015 11:45:01 +0000<br>Checked in by : Robert Osfield<br>Added support for copying include/osgViewer/config headers on make install.<br><br>Mon, 9 Nov 2015 15:14:07 +0000<br>Checked in by : Robert Osfield<br>Fixed warning messagegit-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15179">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15179</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Sun, 8 Nov 2015 11:59:23 +0000<br>Checked in by : Robert Osfield<br>From Jannik Heller, fixed typo of OSG_COMPIlE_CONTEXTS env vargit-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15175">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15175</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Thu, 5 Nov 2015 14:38:19 +0000<br>Checked in by : Robert Osfield<br>From Mathias Froehlich, "Avoid per frame X11 roundtrips"git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15174">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15174</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Mon, 26 Oct 2015 11:43:28 +0000<br>Checked in by : Robert Osfield<br>From Alberto Luaces, "here are two minimal capitalization fixes for mingw cross-compilation, where case sensitivity matters."git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15172">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15172</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Mon, 26 Oct 2015 11:41:44 +0000<br>Checked in by : Robert Osfield<br>Restructed the setting of the RenderStage ClearColor/ClearMask to make the code more readable and to avoid double setting of the ClearMask.git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15170">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15170</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Fri, 23 Oct 2015 11:07:30 +0000<br>Checked in by : Robert Osfield<br>From Sebastian Messershmidt, "The uncommented pointer type QTimerEvent */*event*/  leads to a compiler error under visual studio 2010"git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15168">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15168</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Thu, 22 Oct 2015 14:14:53 +0000<br>Checked in by : Robert Osfield<br>Introduced CMake option OSG_PROVIDE_READFILE option that defaults to ON, but when switched to OFF disables the building of the osgDB::read*File() methods, forcing users to use osgDB::readRef*File() methods.  The later is preferable as it closes a potential threading bug when using paging databases in conjunction with the osgDB::Registry Object Cache.  This threading bug occurs when one thread gets an object from the Cache via an osgDB::read*File() call where only a pointer to the object is passed back, so taking a reference to the object is delayed till it gets reassigned to a ref_ptr<>, but at the same time another thread calls a flush of the Object Cache deleting this object as it's referenceCount is now zero.  Using osgDB::readREf*File() makes sure the a ref_ptr<> is passed back and the referenceCount never goes to zero.To ensure the OSG builds when OSG_PROVIDE_READFILE is to OFF the many cases of osgDB::read*File() usage had to be replaced with a ref_ptr<> osgDB::readRef*File()<br>usage.  The avoid this change causing lots of other client code to be rewritten to handle the use of ref_ptr<> in place of C pointer I introduced a serious of<br>templte methods in various class to adapt ref_ptr<> to the underly C pointer to be passed to old OSG API's, example of this is found in include/osg/Group:<br><br>    bool addChild(Node* child); // old method which can only be used with a Node*<br><br>    tempalte<class T> bool addChild(const osg::ref_ptr<T>& child) { return addChild(child.get()); } // adapter template method<br><br>These changes together cover 149 modified files, so it's a large submission. This extent of changes are warrent to make use of the Object Cache<br>and multi-threaded loaded more robust.<br><br><br><br>git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15165">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15165</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Thu, 8 Oct 2015 15:58:22 +0000<br>Checked in by : Robert Osfield<br>Added osg::flushAllDeletedGLObjects to clean up of graphics context after the existing osg::deleteAllGLObjects() to catch any cases where delete doesn't flush GL objects.git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15149">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15149</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Mon, 5 Oct 2015 11:18:46 +0000<br>Checked in by : Robert Osfield<br>OSG_INIT_SINGLETON_PROXY into DatabasePager::prototype() and Registry::instance(), removing the InitRegistry proxy object in src/osgViewer/ViewerBase.cpp.git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15148">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15148</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Fri, 25 Sep 2015 15:20:32 +0000<br>Checked in by : Robert Osfield<br>From Kristofer Tingdahl, "we had a minor shadow problem with the osg-3.4 that pollutes our continuous integration"git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15144">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15144</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Fri, 25 Sep 2015 11:15:09 +0000<br>Checked in by : Robert Osfield<br>Added fix for case when Renderer is assigned to a Camera that has now Viewgit-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15142">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15142</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Fri, 25 Sep 2015 10:10:10 +0000<br>Checked in by : Robert Osfield<br>Refactored osgViewer::Renderer's handled of FrameStamp to avoid threading conflictsgit-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15139">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15139</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Thu, 24 Sep 2015 14:14:43 +0000<br>Checked in by : Robert Osfield<br>From John Hedström,"Texture2DArray support for the .osg serializer"git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15137">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15137</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Thu, 24 Sep 2015 09:29:15 +0000<br>Checked in by : Robert Osfield<br>Fixed line endingsgit-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15133">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15133</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Fri, 4 Sep 2015 15:35:14 +0000<br>Checked in by : Robert Osfield<br>From Jannik Heller, "I've hit what I believe to be a bug (or at the very least, an unintuitive behaviour) in the osg::Geometry copy constructor. I noticed it when using osg::clone on a Geometry with vertex buffer objects, and the copy flags DEEP_COPY_ARRAYS. To be precise, I add a Geometry to an osgUtil::IncrementalCompileOperation, then osg::clone the Geometry. I was getting reports from users of random crashes happening.I believe the offending lines are in the osg::Geometry copy constructor:<br><br>    if ((copyop.getCopyFlags() & osg::CopyOp::DEEP_COPY_ARRAYS))<br>    {<br>        if (_useVertexBufferObjects)<br>        {<br>            // copying of arrays doesn't set up buffer objects so we'll need to force<br>            // Geometry to assign these, we'll do this by switching off VBO's then renabling them.<br>            setUseVertexBufferObjects(false);<br>            setUseVertexBufferObjects(true);<br>        }<br>    }<br><br>Toggling the vertex buffer objects off then on again actually touches not only the arrays controlled by DEEP_COPY_ARRAYS, but also the PrimitiveSets which are controlled by DEEP_COPY_PRIMITIVES. This means if the user has copyflags of only DEEP_COPY_ARRAYS, we are modifying arrays that belong to the original const Geometry& we are copying from. I believe this shouldn't be allowed to happen because we are using a const& specifier for the original Geometry.<br><br>In my case the osgUtil::IncrementalCompileOperation was trying to compile the geometry, while in the main thread a clone operation toggled the VBO's off and on, a crash ensues.<br><br>In the attached patch, you will find a more efficient handling of VBO's in the osg::Geometry copy constructor, so that only the Arrays that were actually deep copied have their VBO assigned, and no changes are made to Arrays that already had a valid VBO assigned. In addition, the DEEP_COPY_PRIMITIVES flag is now honored so that VBO's are set up correctly should a user copy a Geometry with only that flag.<br>"<br><br><br>git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15128">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15128</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Fri, 4 Sep 2015 15:05:06 +0000<br>Checked in by : Robert Osfield<br>From Laurens Voerman, "I found that using an ImageSequence with mode PAGE_AND_DISCARD_USED_IMAGES triggers the (3) imageThreads to run and never stop, even when no more work is to be done. This is due to a bug in the stop condition currently setting the thread to stop and wait for a signal only when no work needs to be done AND the databasepager is paused. It should stop and wait for a signal on either of those two. Due to a few logical inversions it boils down to replacing || with &&OLD _block->set((!_requestList.empty() || !_pager->_databasePagerThreadPaused));<br>NEW _block->set((!_requestList.empty() && !_pager->_databasePagerThreadPaused));//release the threads to run IF (work_to_be_done && not_paused)<br><br>This bug is present since svn rev 8663 (just before 2.6.0 release)<br><br><br>attached is a zip with the files:<br><br>OpenSceneGraph\include\osgDB\ImagePager<br><br><br><br>This file is valid for svn branch and stable 3.2 and 3.4<br>branches 2.6 - 3.0 have the same bug, but other differences in the file."<br><br><br>git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15126">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15126</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Fri, 4 Sep 2015 14:50:27 +0000<br>Checked in by : Robert Osfield<br>From Laurens Voerman, "I crashed osgconv while compressing textures:osgconv --compressed-dxt1 cow.osg cow.ive<br><br>due to different handling of the extentions in osg 3.4 and up.<br><br>attached is a zip with the files:<br><br>OpenSceneGraph\applications\osgconv\osgconv.cpp<br><br><br><br>This file is valid for svn branch and stable3.4."<br><br><br><br><br>git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15123">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15123</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br><br>Fri, 4 Sep 2015 14:35:03 +0000<br>Checked in by : Robert Osfield<br>From Julien Valentin, "Serializing custom geometry i ran into a crash due to a setVertexAttribArrayList(array) with array containing NULL vertexAttrib. I added a test in order to avoid itCode:<br>void Geometry::setVertexAttribArrayList(const ArrayList& arrayList)<br>{<br>    _vertexAttribList = arrayList;<br><br>    dirtyDisplayList();<br><br>    if (_useVertexBufferObjects)<br>    {<br>        for(ArrayList::iterator itr = _vertexAttribList.begin();<br>            itr != _vertexAttribList.end();<br>            ++itr)<br>        {<br>if(itr->get())//ADDED<br>            addVertexBufferObjectIfRequired(itr->get());<br>        }<br>    }<br>}<br>"<br><br>and<br><br>"The bug i ran into is a crash reading osgt Geometry with null vertexattribs.<br>The only thing i added is a not nul check on array passed to setVertexAttribArrayList."<br><br><br><br><br>git-svn-id: <a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15122">http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15122</a> 16af8721-9629-0410-8352-f15c8da7e697<br><br></div>