updated ChangeLog

git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15151 16af8721-9629-0410-8352-f15c8da7e697
This commit is contained in:
Robert Osfield 2015-10-09 08:44:45 +00:00
parent 572bb61a2d
commit 79fb9abbbf

564
ChangeLog
View File

@ -1,3 +1,567 @@
2015-10-08 15:58 robert
* src/osg/GraphicsContext.cpp: 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.
2015-10-05 10:58 robert
* src/osgDB/DatabasePager.cpp, src/osgDB/Registry.cpp,
src/osgViewer/ViewerBase.cpp: Introduced usage of
OSG_INIT_SINGLETON_PROXY into DatabasePager::prototype() and
Registry::instance(), removing the InitRegistry proxy object in
src/osgViewer/ViewerBase.cpp.
2015-09-25 15:20 robert
* include/osg/BoundingSphere: From Kristofer Tingdahl, "we had a
minor shadow problem with the osg-3.4 that pollutes our
continuous integration"
2015-09-25 11:15 robert
* src/osgViewer/Renderer.cpp: Added fix for case when Renderer is
assigned to a Camera that has now View
2015-09-25 10:11 robert
* src/OpenThreads/pthreads/PThread.cpp: From Curtis Rubel, "I would
like to submit the attached file for inclusion in future releases
of
OpenSceneGraph and the OpenThreads library.
The changes in the file simply remove a few ifndef's that
currently
do not allow Linux systems to fully utilize the PThread real-time
scheduling API.
Since Linux now fully supports the PThread scheduling API it
would
be beneficial to have it available to use as necessary. I have
been testing this change since OSG release 3.3.7 and have not
seen
any ill affects.
The Priority scheduling api is further protected by another
ifdef:
#ifdef ALLOW_PRIORITY_SCHEDULING
that only appears to be defined in the pthreads implementation as
well. This would make it unlikely that anyone would be affected
by this unless they are intentionally wanting to run with
priority
scheduling. In which case on Linux they would need to make
these same modifications themselves to utilize it to its full
extent.
Attached file is for the current trunk as of this date.
"
2015-09-25 10:09 robert
* include/osgUtil/SceneView, src/osgViewer/Renderer.cpp: Refactored
the way that FrameStamp is managed in osgViewer::Renderer to
avoid thread conflicts
2015-09-24 14:14 robert
* src/osgWrappers/deprecated-dotosg/osg/LibraryWrapper.cpp,
src/osgWrappers/deprecated-dotosg/osg/Texture2DArray.cpp: From
John Hedström,"Texture2DArray support for the .osg serializer"
2015-09-24 10:52 robert
* include/osg/Camera, src/osgWrappers/serializers/osg/Camera.cpp:
Added support for serializing
Camera::ImplicitBufferAttachmentRenderMask and
ImplicitBufferAttachmentResolveMask properties.
2015-09-24 10:48 robert
* src/osg/Drawable.cpp: Quietened down debug messages
2015-09-24 09:29 robert
* src/osgWrappers/serializers/osg/Camera.cpp: Fixed line endings.
2015-09-23 10:41 robert
* include/osg/ContextData: Added missing OSG_EXPORT to fix Windows
build
2015-09-23 09:47 robert
* examples/osganalysis/osganalysis.cpp,
examples/osgfpdepth/osgfpdepth.cpp, include/osg/BufferObject,
include/osg/ContextData, include/osg/Drawable,
include/osg/FragmentProgram, include/osg/FrameBufferObject,
include/osg/GLObjects, include/osg/Program, include/osg/Shader,
include/osg/State, include/osg/Texture,
include/osg/VertexProgram, src/CMakeLists.txt,
src/osg/BufferObject.cpp, src/osg/CMakeLists.txt,
src/osg/ContextData.cpp, src/osg/Drawable.cpp,
src/osg/FragmentProgram.cpp, src/osg/FrameBufferObject.cpp,
src/osg/GLObjects.cpp, src/osg/GraphicsContext.cpp,
src/osg/OcclusionQueryNode.cpp, src/osg/Program.cpp,
src/osg/Shader.cpp, src/osg/State.cpp, src/osg/Texture.cpp,
src/osg/Texture1D.cpp, src/osg/Texture2D.cpp,
src/osg/Texture2DArray.cpp, src/osg/Texture2DMultisample.cpp,
src/osg/Texture3D.cpp, src/osg/TextureCubeMap.cpp,
src/osg/TextureRectangle.cpp, src/osg/VertexProgram.cpp,
src/osgUtil/RenderStage.cpp, src/osgUtil/SceneView.cpp:
Refactored the GL object deletion management to use new
osg::GraphicsObjectManager/GLObjectManager base classes, and
osg::ContextData container.
This approach unifies much of the code handling the clean up of
OpenGL graphics data, avoids lots of local mutexes and static
variables that were previously required,
and enables the clean up scheme to be easily extended by users
providing their own GraphicsObjectManager subclasses.
2015-09-04 15:35 robert
* src/osg/Geometry.cpp: 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:
if ((copyop.getCopyFlags() & osg::CopyOp::DEEP_COPY_ARRAYS))
{
if (_useVertexBufferObjects)
{
// copying of arrays doesn't set up buffer objects so we'll need
to force
// Geometry to assign these, we'll do this by switching off VBO's
then renabling them.
setUseVertexBufferObjects(false);
setUseVertexBufferObjects(true);
}
}
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.
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.
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.
"
2015-09-04 15:04 robert
* include/osgDB/ImagePager: 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));
NEW _block->set((!_requestList.empty() &&
!_pager->_databasePagerThreadPaused));//release the threads to
run IF (work_to_be_done && not_paused)
This bug is present since svn rev 8663 (just before 2.6.0
release)
attached is a zip with the files:
OpenSceneGraph\include\osgDB\ImagePager
This file is valid for svn branch and stable 3.2 and 3.4
branches 2.6 - 3.0 have the same bug, but other differences in
the file."
2015-09-04 14:50 robert
* applications/osgconv/osgconv.cpp: From Laurens Voerman, "I
crashed osgconv while compressing textures:
osgconv --compressed-dxt1 cow.osg cow.ive
due to different handling of the extentions in osg 3.4 and up.
attached is a zip with the files:
OpenSceneGraph\applications\osgconv\osgconv.cpp
This file is valid for svn branch and stable3.4."
2015-09-04 14:34 robert
* src/osg/Geometry.cpp: 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 it
Code:
void Geometry::setVertexAttribArrayList(const ArrayList&
arrayList)
{
_vertexAttribList = arrayList;
dirtyDisplayList();
if (_useVertexBufferObjects)
{
for(ArrayList::iterator itr = _vertexAttribList.begin();
itr != _vertexAttribList.end();
++itr)
{
if(itr->get())//ADDED
addVertexBufferObjectIfRequired(itr->get());
}
}
}
"
and
"The bug i ran into is a crash reading osgt Geometry with null
vertexattribs.
The only thing i added is a not nul check on array passed to
setVertexAttribArrayList."
--------------------This line, and those below, will be ignored--
M src/osg/Geometry.cpp
2015-09-04 14:24 robert
* CMakeLists.txt: Updated SO version for svn/trunk.
2015-09-04 14:24 robert
* include/osg/OperationThread: Fixed warning
2015-09-04 14:23 robert
* include/osgDB/OutputStream: Fixed warning by removing redundent
check
2015-08-14 15:25 robert
* include/osg/Texture2D, src/osg/Texture2D.cpp: Corrected the
Subload::generateTextureObject() return type to make it
consistent with Texture::generateTextureObject(..)
2015-08-12 10:18 robert
* src/osgVolume/Shaders/volume_frag.cpp,
src/osgVolume/Shaders/volume_iso_frag.cpp,
src/osgVolume/Shaders/volume_lit_frag.cpp,
src/osgVolume/Shaders/volume_lit_tf_frag.cpp,
src/osgVolume/Shaders/volume_mip_frag.cpp,
src/osgVolume/Shaders/volume_tf_frag.cpp,
src/osgVolume/Shaders/volume_tf_iso_frag.cpp,
src/osgVolume/Shaders/volume_tf_mip_frag.cpp: Updated shaders
from OpenSceneGraph-Data with refactor of workaround to NVidia
driver bug
2015-08-12 06:39 robert
* CMakeLists.txt, README.txt: Added GL1 to the docs of the
GL_PROFILE string
Updated the date of the 3.4.0 release in the README.
2015-08-11 20:06 robert
* src/osgVolume/Shaders/volume_frag.cpp,
src/osgVolume/Shaders/volume_iso_frag.cpp,
src/osgVolume/Shaders/volume_lit_frag.cpp,
src/osgVolume/Shaders/volume_lit_tf_frag.cpp,
src/osgVolume/Shaders/volume_mip_frag.cpp,
src/osgVolume/Shaders/volume_tf_frag.cpp,
src/osgVolume/Shaders/volume_tf_iso_frag.cpp,
src/osgVolume/Shaders/volume_tf_mip_frag.cpp: Refactored
workaround of NVidia nan lenght() bug.
2015-08-11 08:43 robert
* CMakeLists.txt, CMakeModules/FindAsio.cmake,
CMakeModules/FindLIBLAS.cmake, src/osgPlugins/CMakeLists.txt:
Moved FIND_PACKAGE(Boost) to within the individual Find scripts
that actually need it rather in the root CMakeLists.txt.
2015-08-10 19:55 robert
* src/osg/State.cpp: Removed spaces
2015-08-10 19:40 robert
* CMakeLists.txt: Fixed line endings
2015-08-10 19:39 robert
* src/osgVolume/Shaders/volume_frag.cpp,
src/osgVolume/Shaders/volume_iso_frag.cpp,
src/osgVolume/Shaders/volume_lit_frag.cpp,
src/osgVolume/Shaders/volume_lit_tf_frag.cpp,
src/osgVolume/Shaders/volume_mip_frag.cpp,
src/osgVolume/Shaders/volume_tf_frag.cpp,
src/osgVolume/Shaders/volume_tf_iso_frag.cpp,
src/osgVolume/Shaders/volume_tf_mip_frag.cpp: Updated built-in
shaders from OpenSceneGraph-Data vesion that introduce
#pragma(tic) shaders that resolve the NVidia loop iteration bug.
2015-08-10 19:18 robert
* src/osg/Shader.cpp: Quietened down #pragma(tic) shader
composition messages
2015-08-10 17:42 robert
* include/osg/State, src/osg/State.cpp: Added support for injecting
GL_VENDOR strings into GLSL shaders via the new #pragma(tic)
shader composition
2015-08-10 05:04 robert
* include/osg/Types, src/osg/CMakeLists.txt: Build fix for VS and
installing Types
2015-08-09 09:42 robert
* src/osg/GL.in: Changed GLint64 and GLuint64 setup to use int64_t
and uint64_t resptectivly respectively to avoid issues with
compiling against Qt5
2015-08-09 09:07 robert
* include/osgViewer/api/X11/PixelBufferX11,
src/osgViewer/PixelBufferX11.cpp: Added #ifdef guards around SGIX
specific parts to avoid build problems with GLES
2015-08-08 08:49 robert
* src/osgPlugins/zip/ZipArchive.cpp: From Glenn Waldron, fix error
in ZIP plugin handling of memory buffer
2015-08-06 15:03 robert
* src/osgText/Text.cpp: Added checks for the validity of chached
coordinate arrays.
2015-08-06 10:09 robert
* src/osgVolume/Shaders/volume_frag.cpp,
src/osgVolume/Shaders/volume_iso_frag.cpp,
src/osgVolume/Shaders/volume_lit_frag.cpp,
src/osgVolume/Shaders/volume_lit_tf_frag.cpp,
src/osgVolume/Shaders/volume_mip_frag.cpp,
src/osgVolume/Shaders/volume_tf_frag.cpp,
src/osgVolume/Shaders/volume_tf_iso_frag.cpp,
src/osgVolume/Shaders/volume_tf_mip_frag.cpp: Updated shaders
from OpenSceneGraph-Data.
2015-08-03 19:14 robert
* include/osgViewer/api/X11/PixelBufferX11,
src/osgViewer/PixelBufferX11.cpp: From Andy Skinner, "Someone was
using our code on a system that does not seem to have the SGIX
symbols used in osgViewer.cpp.
I used osgSetGLExtensionsFuncPtr to remove the symbols. I don't
know how to test this path, but it did remove the symbols from
libosgViewer.so. I have also not been able yet to see if that was
sufficient for our customer.
I did this by looking at other cases, and I tried to follow some
of the same practices in PixelBufferX11, like using _useSGIX in a
similar way to the previous _useGLX1_3."
2015-07-31 13:46 robert
* CMakeModules/OsgAndroidMacroUtils.cmake: From Terry Welsh, "I
downloaded the Android 3rdparty deps from here
http://www.openscenegraph.org/index.php/download-section/dependencies
but was not able to use them for a while. Attached are changes to
OsgAndroidMacroUtils.cmake that allow the deps to be found by
cmake.
Specifically, all FIND_PATH commands require the
NO_CMAKE_FIND_ROOT_PATH option to actually find paths. This is
odd
because if you inspect CMAKE_FIND_ROOT_PATH it appears to be
empty. I
would expect it to have no effect at all.
I also needed to remove quotes from this line in order for
headers to be found:
set(FREETYPE_INCLUDE_DIRS "${FREETYPE_DIR}/include
${FREETYPE_DIR}/include/freetype/config")
Assuming this script worked in the past, it seems like cmake
behavior
may have changed at some point. I'm using cmake version
2.8.12.2."
2015-07-31 13:44 robert
* src/osg/GLExtensions.cpp: From Jannik Heller, "Here is a patch
for the S3TC capability check.
On a Intel HD graphics Linux system with Mesa 10.1.3, I found
that osg's Extensions::isTextureCompressionS3TCSupported()
returned false, even though S3TC compressed textures *are* in
fact working. I tested this by loading and rendering various
DXT1, DXT3 and DXT5 compressed textures in the OSG.
"glxinfo | grep s3tc" gives:
GL_S3_s3tc
Note, if I install the package "libtxc-dxtn-s2tc0", I get in
addition:
glxinfo | grep s3tc
GL_EXT_texture_compression_s3tc
GL_S3_s3tc
However, S3TC compressed textures worked correctly within the OSG
even without libtxc-dxtn-s2tc0 installed.
I'm not sure what the differences between these extensions are,
but based on the description at
https://www.opengl.org/registry/specs/S3/s3tc.txt I would assume
that both will work for OSG's purposes. The attached patch
changes isTextureCompressionS3TCSupported() to accept either
extension."
2015-07-31 10:59 robert
* include/osgText/Text: Warning fix
2015-07-31 10:54 robert
* src/osg/Image.cpp, src/osgPlugins/3ds/ReaderWriter3DS.cpp,
src/osgPlugins/lua/LuaScriptEngine.cpp,
src/osgViewer/ViewerEventHandlers.cpp: From Kristofer Tingdahl,
warning fixes.
2015-07-31 10:27 robert
* src/osg/GL.in: Compile fix for Mingw.
2015-07-23 15:46 robert
* examples/osganalysis/osganalysis.cpp,
examples/osgcatch/osgcatch.cpp,
examples/osggraphicscost/osggraphicscost.cpp,
examples/osgmotionblur/osgmotionblur.cpp,
examples/osgshaderterrain/osgshaderterrain.cpp,
examples/osgtext/osgtext.cpp,
examples/osgthreadedterrain/osgthreadedterrain.cpp,
examples/osgvolume/osgvolume.cpp, include/osg/GraphicsThread,
include/osg/OperationThread, src/osg/GraphicsThread.cpp,
src/osg/OperationThread.cpp, src/osgUtil/GLObjectsVisitor.cpp,
src/osgUtil/IncrementalCompileOperation.cpp,
src/osgUtil/RenderStage.cpp, src/osgViewer/Renderer.cpp: Added
explicit initialization of osg::Referenced(true) to
osg::Operation subclasses as it uses virtual inhertiance from
osg::Referenced.
2015-07-23 14:37 robert
* include/osg/Types, include/osgViewer/ViewerBase: From Pjotr
Svetachov, buid fixes for VS2015.
2015-07-23 14:31 robert
* src/osgPlugins/osc/osc/OscOutboundPacketStream.cpp: Merged VS2013
warning fixes from OSG-3.4 branch
2015-07-23 11:11 robert
* examples/osgSSBO/osgSSBO.cpp, examples/osgcluster/osgcluster.cpp,
examples/osggpucull/AggregateGeometryVisitor.h,
examples/osgoit/DepthPeeling.cpp, examples/osgoit/DepthPeeling.h,
examples/osgparticleeffects/osgparticleeffects.cpp,
examples/osgshadow/osgshadow.cpp,
examples/osgspotlight/osgspotlight.cpp,
examples/osgwidgetnotebook/osgwidgetnotebook.cpp,
src/osg/glu/libutil/mipmap.cpp, src/osgDB/ConvertBase64.cpp,
src/osgPlugins/3ds/WriterNodeVisitor.cpp,
src/osgPlugins/OpenFlight/FltExportVisitor.cpp,
src/osgPlugins/OpenFlight/LightSourcePaletteManager.cpp,
src/osgPlugins/OpenFlight/LightSourcePaletteManager.h,
src/osgPlugins/OpenFlight/PrimaryRecords.cpp,
src/osgPlugins/OpenFlight/expPrimaryRecords.cpp,
src/osgPlugins/freetype/FreeTypeLibrary.cpp,
src/osgPlugins/osc/OscReceivingDevice.cpp,
src/osgPlugins/osc/osc/OscHostEndianness.h,
src/osgPlugins/osga/OSGA_Archive.h,
src/osgShadow/ConvexPolyhedron.cpp,
src/osgShadow/DebugShadowMap.cpp,
src/osgShadow/OccluderGeometry.cpp, src/osgShadow/ShadowMap.cpp,
src/osgSim/SphereSegment.cpp,
src/osgUtil/DelaunayTriangulator.cpp, src/osgUtil/Optimizer.cpp,
src/osgUtil/SceneView.cpp, src/osgViewer/View.cpp,
src/osgWrappers/deprecated-dotosg/osg/NodeCallback.cpp: Warning
fixes for Clang-3.6
2015-07-23 09:23 robert
* src/osgFX/BumpMapping.cpp, src/osgFX/Cartoon.cpp: Added missing
handling of lightnumber and associate lights
2015-07-23 07:39 robert
* src/osg/GL.in: Changed the GL_HEADER_HAS_GLINT64 and
GL_HEADER_HAS_GLUINT64 to use cmakedefine to improve handling of
when cmake doesn't find GLint64 and GLuint64.
2015-07-22 17:01 robert
* AUTHORS.txt, applications/osgversion/Contributors.cpp: Fixed
AUTHORS file
2015-07-22 14:55 robert
* applications/osgversion/Contributors.cpp: Fixed contributors list
2015-07-22 14:52 robert
* ChangeLog: Updated ChangeLog
2015-07-22 14:03 robert
* include/osg/AlphaFunc, include/osg/GLDefines: Moved GL_ALPHA_TEST