Hi All,
I made a bug fix to the handling of events in CompositeViewer today,
and checked in a couple of fixes from users but each of these is low
risk w.r.t build and runtime so I've gone ahead and checked these into
the OSG-3.2 and used this as the bases for OpenSceneGraph-3.2.1
release candidate 4 that I've just tagged.
3.2.1 will be binary compatible with OSG-3.2.0, and is contains bug
and build fixes to the 3.2.0 stable release. No new features are
added, for new features you'll need to use the OSG-3.3.x dev release
branch or svn/trunk.
My plan is to release the stable 3.2.1 release next week so would
appreciate testing out in the community and feedback on success or
failure to build and to work against your platforms and applications.
Thanks in advance for your assistance in putting 3.2.1 to bed.
Robert.
-- ChangeLog since the 3.2.0 release:
2014-06-27 15:55 robert
* src/osgUtil/DelaunayTriangulator.cpp: Removed unused method.
2014-06-27 15:48 robert
* src/osgUtil/Tessellator.cpp: From Laurens Voerman, "attached is a
modified version of src/osgUtil/Tessellator.cpp
current code checks for a Nullpointer and on notify level info or
above will inform you with a crash, by dereferencing it."
2014-06-27 15:39 robert
* AUTHORS.txt: Updated AUTHORS file
2014-06-27 15:38 robert
* src/osg/ApplicationUsage.cpp: Added a render order sort to the
list of Cameras being tested by the
*Viewer::generatePointerData(..) method to ensure that the
highest Camera gets focus.
2014-06-27 15:30 robert
* include/osg/Camera, src/osg/GraphicsContext.cpp,
src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp:
Added a render order sort to the list of Cameras being tested by
the *Viewer::generatePointerData(..) method to ensure that the
highest Camera gets focus.
2014-06-27 15:26 robert
* AUTHORS.txt: Updated AUTHORS file
2014-06-26 15:54 robert
* ChangeLog: Updated ChangeLog for 3.2.1-rc4
2014-06-26 15:18 robert
* CMakeLists.txt: Updated RC number to 4.
2014-06-26 11:49 robert
* src/osg/Sequence.cpp: From Sebastian Messerschmidt, "I've applied
a simple fix for the backward animation support in osg::Sequence.
It will simply use the sign of the speed set in the getNextValue.
Attached file is against trunk."
2014-06-26 11:11 robert
* src/osgDB/Registry.cpp: From Laurens Voerman, "In order to speed
up loading large scenes (especially from network disk) I added
code to our viewer to setup multiple database-pagers and request
the files trough a database-request:
databasePager->setUpThreads(16, 1);
We experienced problems with multiple databasepagers loading
files in parallel, when two threads start to load the same file
(usually a texture referenced by multiple models). The second
thread to add the file to the cache (sometimes) manages to do so
while the refcount from the cached object still is zero, causing
the object loaded to be destroyed.
Sometimes the second thread manages to ref() the object before
Referenced::signalObserversAndDelete does the final recount
check, causing a warning:
"Warning Referenced::signalObserversAndDelete(,,) doing delete
with _refCount=1"
With a deleted object added to the scenegraph we get some
undesired results, I think the program only crashes if the object
was a Node, and just has some untextured surfaces if it was a
texture, but I'm not completely sure.
Attached is a modified version of the Registry.cpp, returning the
object in cache and let the duplicate loaded object to be
destroyed.
A more efficient option would be to add some sort of blocking
entry to the objectcache to stop the second thread from reading
the file, and just wait until the first thread added it to the
cache. If you think that's worthwile we would be happy to
implement that version. A bit tricky to implement and test,
that's why I submit a simple version that stops my program from
crashing.
"
2014-06-26 11:09 robert
* src/osgDB/Registry.cpp: Removed erroneous character
2014-06-26 10:53 robert
* src/osgText/Text3D.cpp, src/osgText/TextBase.cpp: From Farshid
Lashkari,
"I noticed that Text3D objects would change there z alignment
depending on the alignment mode. I'm not sure if this was
intentional or just a simple mistake. My expectation was that the
front of the object would always stay aligned to the 0 z-plane,
regardless of the alignment mode. I've attached an updated
version that retains a consistent z-alignment."
"I just now noticed another issue with Text3D objects. It was not
properly computing the bounding box when non-axis aligned
rotations were being applied. In this case all corners of the
bounding box need to be transformed in order to get the correct
containing box. I've attached the updated file."
"The incorrect bounding box problem also applies to regular Text
objects. I've attached the fix for that as well as the original
Text3D fix."
2014-06-26 10:24 robert
* src/osg/ImageSequence.cpp: From Laurens Voerman, "while debugging
ImageSequence I had a crash, due to the very large frametimes
caused by halting the program. The problem is that when the frame
time exceeds the length of the entire image sequence, a looping
sequence will try to read it's _imageDataList beyond its size.
fix attached for src/osg/ImageSequence.cpp"
2014-06-26 10:05 robert
* src/osgPlugins/ive/ImageSequence.cpp,
src/osgWrappers/deprecated-dotosg/osg/ImageSequence.cpp,
src/osgWrappers/serializers/osg/ImageSequence.cpp: From Laurens
Voerman, "while testing databasepager stuff I noticed that the
various loaders (osg/ive/osgx) do not pass the current options to
the imagePager, therefore the images cannot be found if not in
the global OSG_FILE_PATH. Attached is a fix, containing modified
versions of
From Robert Osfield, add check to only apply Options object when
a valid Option object is assigned.
src\osgPlugins\ive\ImageSequence.cpp
src\osgWrappers\deprecated-dotosg\osg\ImageSequence.cpp
src\osgWrappers\serializers\osg\ImageSequence.cpp"
2014-06-26 09:39 robert
* src/osgPlugins/ply/plyfile.cpp: From Farshid Lashkari, "I've
attached a small fix for the ply loader to support Windows style
line endings when reading the header."
2014-06-26 09:33 robert
* src/osgPlugins/osg/BinaryStreamOperator.h,
src/osgPlugins/osga/OSGA_Archive.cpp: From Aurelien Albert, "This
submission fix all my problems with reading / writing "osgb"
files inside "osga" archive with final archive size > 2 Go, with
Windows OS (didn't tested with Linux)"
2014-06-25 16:05 robert
* src/osgDB/Registry.cpp: From Riccardo Corsi, "there's an
inconsistency between the behavior of the method and the
debug message it prints out on the console.
Around line 1040 of Registry.cpp (see code below) the method
returns
"simpleFileName" but prints about returning "filename".
In attachment the modified file, based on osg 3.2.0
ricky
<code>
if(fileExists(simpleFileName))
{
OSG_DEBUG << "FindFileInPath(" << filename << "): returning " <<
filename << std::endl;
return simpleFileName;
}
</code>
"
2014-06-25 15:47 robert
* src/osg/CollectOccludersVisitor.cpp: Refactored the way that hole
are pruned from the occluder hole list.
2014-06-25 11:07 robert
* applications/osgconv/osgconv.cpp: From Laurens Voerman, "a minor
patch for osgconv to make sure the helptext is printed if you run
"osgconv -h" with OSG_NOTIFY_LEVEL set too low.
applys to both trunk and stable branch."
2014-06-25 10:45 robert
* src/osgUtil/StateGraph.cpp: From Mikhail Izmestev, "Attached fix
to avoid vector usage in StateGraph::prune and reduce heap
allocations."
Notes from Robert Osfield, ammended the erase so that it
explictly increments the iterator before the erase call.
2014-06-25 08:21 robert
* include/osg/Math: From Björn Blissing, "I found a minor error in
documentation in include/osg/Math.
Function: absolute() had the same description as the function
minimum()
I removed the erroneous text."
2014-06-25 08:17 robert
* src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp: From Björn
Blissing, "Fix to support correct shininess and transparency in
FBX plugin
2014-06-24 19:57 robert
* src/osgDB/ObjectWrapper.cpp: From Pjotr Svetachov, "There were
some modes missing when exporting to .ogst so I added them."
2014-06-24 14:59 robert
* src/osgPlugins/osg/ReaderWriterOSG2.cpp: "I've attached a small
for the osg ReaderWriter. It was performing a case sensitive
comparison to the file extension to determine whether to write
the file in ascii or binary. This meant that if the filename was
"model.OSGT" it would be treated as binary, instead of ascii.
I've updated the plugin to ignore case."
2014-06-24 11:24 robert
* src/osgUtil/Optimizer.cpp: Fix to merge Geometries.
2014-06-16 16:18 robert
* src/osgUtil/Optimizer.cpp: Fixed check against number of vertices
2014-06-16 08:54 robert
* src/osgPlugins/osg/BinaryStreamOperator.h: From Aurelien Albert,
"I've got some issues using osgb files within an big osga archive
(file size > 2Go).
Issue is described here :
http://forum.openscenegraph.org/viewtopic.php?t=13914
Here is a fix, using "std::streampos" standard type for stream
positions up to 64bits.
"
2014-06-12 16:00 robert
* src/osgViewer/GraphicsWindowX11.cpp: Removed generation of scroll
event on the X11 button release event as X11 was generating both
a pair of press/release events for a single scroll when movement.
2014-06-12 15:24 robert
* src/osg/State.cpp: Added if () blocks to
State::convertVertexShaderSourceToOsgBuiltIns() to ensure that
only parts of the shader than need replacing are replaced.
2014-05-22 14:52 robert
* CMakeLists.txt: Updated release candidate for 3.2.1-rc3
2014-05-22 14:43 robert
* AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp:
Upated ChangeLog and AUTHORS in prep for release candidate
2014-05-15 14:58 robert
* src/osg/Notify.cpp: From Sebastian Messershmidt, "There was some
small error due to MS non-conformity handling comments
correctly."
2014-04-29 13:41 robert
* include/osgDB/OutputStream: From Pjotr Svetachov, "Today I found
a bug in the IutputStream class when saving array
attributes in vec3b format. It looks like my compiler takes the
wrong
overload and outputs integers instead of characters. The problem
is
that vec3b is of type signed char and that is not the same as
char (
see
http://stackoverflow.com/questions/436513/char-signed-char-char-unsigned-char
) and visual studio 2013 will promote it to integer when choosing
an
overload.
It looks like that the InputStream class already takes care of
this
issue (if it didn't it would have read everything ok and I would
have
not even stumbled upon this bug. :) )"
2014-04-28 14:58 robert
* src/osg/Image.cpp: From Pjotr Svetachov, "I had the osgvolume
example crash on me when loading large volume
datasets due to an overflow in image.cpp after a unneeded cast
from
unsigned int to int. Here is a small fix."
2014-04-28 14:57 robert
* src/osgDB/FileUtils.cpp: From Jason Beverage, "Here is a fix for
a small race condition in osgDB::makeDirectory. It attempts to
create all the directories in the given path and stops attempting
to make directories when one of them fails. I've added a check to
see if the failure occurred b/c the directory was created by
another thread or process.
We were running into issues occasionally in osgEarth where
multiple threads were writing out files like /1/2/3.jpg and
/1/3/4.jpg. Both threads would try to create the /1 directory and
only one of them would succeed. So the first thread would write
out the full /1/2/3.jpg while the second thread wouldn't create
the /1/3 directory b/c /1 was already created and the writing of
/1/3/4.jpg would fail.
"
2014-04-28 11:53 robert
* src/osgSim/SphereSegment.cpp: Fixed type error
2014-04-24 17:26 robert
* src/osgPlugins/dae/daeRMaterials.cpp: From Farshid Lashkari,
"I've attached a small fix to the Collada loader which prevents a
null pointer access in some cases."
2014-04-24 17:23 robert
* src/osg/Texture2DArray.cpp: In the ::apply method, when the image
data need to be re-uploaded, the Texture2DArray checks if the
TextureObject can be re-used. The test was made using the
constant 1 instead of the real texture depth, so the
TextureObject was never re-used.
2014-04-24 10:39 robert
* src/osgSim/SphereSegment.cpp: Fixed reference invalidation bug.
2014-04-14 16:16 robert
* include/osgManipulator/TranslatePlaneDragger: Fixed comment
2014-04-13 16:04 robert
* CMakeLists.txt, CMakeModules/FindFreeType.cmake,
CMakeModules/FindFreetype.cmake: Renamed FindFreeType.cmake to
FindFreetype.cmake to enable CMake build to pick up on CMake's
own FindFreetype.cmake when it's available.
2014-04-13 16:03 robert
* CMakeModules/OsgMacroUtils.cmake: Merged changes from svn/trunk
to add the REMOVE_CXX_FLAGS macro
2014-04-09 17:21 robert
* src/osgPlugins/fbx/CMakeLists.txt: Disabled warnings that FBX
headers are generating that we can't fix
2014-04-08 19:44 robert
* CMakeModules/FindFreeType.cmake: Added extra search files for
K/Ubuntu 14.04 new location for freetype headers
2014-04-08 12:00 robert
* src/osgPlugins/tiff/ReaderWriterTIFF.cpp: From Remo Eichenberger,
"I have extended the TIFF plugin that allows you to write LZW or
JPEG compressed TIFF's. Options are:
tiff_compression = lzw | jpeg"
2014-04-08 11:17 robert
* src/osgWrappers/serializers/osgAnimation/Animation.cpp: From
Pjotr Svetachov, "We had a small problem converting skeleton
animations from fbx to osgt
format. Turned out that the serializer didn't handle bone names
with
spaces very well (the 3ds studio max biped for instance has
spaces by
default). Here is a small fix for the problem."
2014-04-08 11:07 robert
* src/osgPlugins/obj/obj.cpp: From Pjotr Svetachov, previous obj
"commit broke compilation under visual studio 2013. To use
std::not1 you need to include the functional header. Here is a
fix."
2014-04-07 15:04 robert
* include/osg/BoundingBox, include/osg/BoundingSphere: Fixed build
when using of double BoundingBox/BoundingSphere
2014-04-07 14:18 robert
* src/osgPlugins/obj/obj.cpp: From Jan Peciva, "I am sending four
fixes to obj plugin:
- materialName used to be not stripped of whitespace, making
number of models
fail to load materials; now fixed
- stripping was considering spaces only, thus models using tabs
had problems
to load correctly; fixed
- fixed references to textures; they did not performed conversion
to native
directory separators
- make d (dissolve) takes precedence over Tr (transparency);
there seems to be
a confusion about the Tr item - some claiming 1 to be opaque and
0
transparent, while number of models uses exactly the opposite. d
(dissolve),
if present in the model, does not suffer from this confusion,
thus using it
instead fixes the problem for many many models.
I put many comments to the file concerning d and Tr item as
others may further
investigate. Let me know in the case of any problems."
2014-04-07 14:11 robert
* src/OpenThreads/pthreads/PThread.cpp: From Marcel Pursche, "The
problem is that when OpenThreads is build with the Linux pthreads
implementation all threads inherit the processor affinity from
their parent thread.
This behavior is also described in the pthreads man page
(http://man7.org/linux/man-pages/man3/pthread_create.3.html):
>
> Linux-specific details
> The new thread inherits copies of the calling thread's
capability
> sets (see capabilities(7)) and CPU affinity mask (see
> sched_setaffinity(2)).
>
To prevent this behaviour I wrote a patch that explicitly sets
the affinity mask to all cores of the system, if no specific
affinity was defined with PThread::setProcessorAffinity(unsigned
int) .
Thank you!
"
2014-04-07 14:03 robert
* src/osgPlugins/3ds/lib3ds/lib3ds.h,
src/osgPlugins/3ds/lib3ds/lib3ds_chunktable.c,
src/osgPlugins/3ds/lib3ds/lib3ds_impl.h,
src/osgPlugins/3ds/lib3ds/lib3ds_material.c: From Bjorn Blessing,
"I got bored of the constant reports of "missing chunk 0xA08A"
when reading 3ds-files. After a bit of research I discovered that
this property is related to the advanced transparency settings
for the material in 3D studio. In this case the falloff
parameter. These controls affect the opacity falloff of a
transparent material. And the property chooses whether falloff is
in or out. I have added the property to the file reader BUT no
changes are made to make this property propagate into the
osgMaterial. But at least we get rid of this annoying error
message."
2014-04-07 13:48 robert
* include/osg/GL2Extensions: From Paul Martz, "We discussed the
issue of GL_RED_SNORM and GL_RG_SNORM some time ago, but the
issue was never completely resolved. Please see the attached
submission to fix the issue.
osg/GL2Extensions was incorrectly defining GL_RED_SNORM and
GL_RG_SNORM as part of the definitions for OpenGL v3.1. However,
a quick review of the 3.1 spec indicates that these are not part
of the 3.1 standard.
My attached change moves these definitions out of the #ifndef
GL_VERSION_3_1 conditional block, and defines them conditionally
if not already defined. This allows the DDS plugin to build for
GL3.
"
2014-02-05 11:06 robert
* src/osgDB/XmlParser.cpp: Improved white space trimming
2014-01-31 19:18 robert
* src/osgText/Glyph.cpp: Replaced C cast to long with a
static_cast<const void*>() to avoid a build error under Mingw 64.
2014-01-29 11:08 robert
* ChangeLog: Updated ChangeLog
2014-01-28 16:48 robert
* CMakeModules/OsgMacroUtils.cmake: Fixed MingW build's handling of
debug d postfix.
2014-01-28 16:47 robert
* src/osgPlugins/cfg/ConfigParser.cpp: Disabled the compiler
invocation at runtime.
2014-01-24 17:31 robert
* src/osg/Geometry.cpp: From Laurens Voerman, "I experienced a
crash in Geometry::fixDeprecatedData(), on certain files, and
brought the problem down to a very simple test file, attached as
test3.zip.
There are two problems:
1> for DrawElementsUShortPrimitiveType (and UInt) the
source_pindex still equals -1 and causes a crash
in DrawElementsUBytePrimitiveType source_pindex is incremented,
and in DrawElementsU(Short/Int)PrimitiveType primitiveNum is
incremented, but never used
2> The drawelements need to be rewritten as the vertices are
reordered.
created a patch for osg stable branch(r14038): attached as
Geometry-osg-3.2.zip
and for svn brach(r14044): attached as Geometry_osg_svn.zip"
2014-01-24 17:06 robert
* src/osg/FrameBufferObject.cpp: From Aurelien Albert, "In the
"apply" method of osg::FrameBufferObject, the draw buffers are
always enabled, even if the target is only "READ_FRAMEBUFFER".
This can lead to inconsistency if you bind a framebuffer with
multiple attachments in DRAW mode and then a framebuffer with
different attachment count in READ mode (for example to manually
"blit" from a FBo to another).
On some ATI cards (at least RADEON HD) this also leads to an
"incomplete " FBO status
I've added a test to enable drawbuffers only if target is "DRAW"
or "READ_DRAW", this solves my problems on ATI cards."
2014-01-24 16:45 robert
* src/osg/KdTree.cpp: From Michael Schanne, "small fix for a
duplicate OR operand in KdTree.cpp."
2014-01-24 16:28 robert
* CMakeModules/FindCOLLADA.cmake: From Torben Dannahuer, "modified
findcollada.cmake which can now detect Boost 1.55 libraries,
which are used by Collada in my 3rdParty package"
2014-01-24 16:24 robert
* src/osgPlugins/dxf/dxfEntity.cpp, src/osgPlugins/txf/TXFFont.cpp:
From Torben Dannhauer, VisualStudio 2013 build fixes
2014-01-24 16:02 robert
* src/osgPlugins/ply/plyfile.cpp: From Marc Helbling, "I am sending
a small fix in the PLY pseudo-loader; the extension was checked
in plyfile.cpp thus preventing the loading of any .PLY file
(extension in uppercase). The extension filtering is already
handled by ReaderWriter::acceptsExtension in a case unsensitive
way."
2014-01-23 19:55 robert
* src/osgPlugins/3ds/WriterCompareTriangle.cpp,
src/osgPlugins/3ds/WriterCompareTriangle.h,
src/osgPlugins/3ds/lib3ds/lib3ds_file.c,
src/osgPlugins/dxf/ReaderWriterDXF.cpp,
src/osgPlugins/lwo/lwo2parser.h, src/osgPlugins/zip/unzip.cpp:
Fixed warnings
2014-01-23 10:09 robert
* CMakeLists.txt, examples/osgviewerQt/osgviewerQt.cpp: Cleaned up
the Qt find package, and made changed the default threading model
to SingleThreaded when using Qt5 to avoid crash due to
regresssion since Qt4.
2014-01-23 09:41 robert
* src/osgUtil/GLObjectsVisitor.cpp: Added clean up of osg::Program
that are applied by the GLObjectsVisitor, which addresses a state
leak that creates GL error once the main scene graph is rendered.
2014-01-23 07:59 robert
* src/osg/StateSet.cpp: Added GL_TEXTURE_2D_MULTISAMPLE to texture
mode list.
2014-01-17 18:22 robert
* src/osgDB/CMakeLists.txt: From Stephan Huber, OSX build fix
2014-01-17 14:02 robert
* src/osgQt/CMakeLists.txt: From Kristofer Tingdahl, "the patch I
sent to src/osgQt/CMakeModules.txt did not do the work on
windows. I have fixed that, and also made it more generic so
there is no special handling of qt5.2, but all qt5 are the same.
I have tested this on:
mac/qt5.2
linux/qt5.2
windows/qt5.2, and
mac/qt5.1
All platforms perform as expected.
The previous fix removed the -f flag to the moc-pre-processor,
but on windows, it turned out that -f "osgQt/QGraphicsViewer" was
needed.
This becomes an include-statement in the file generated by moc
which is needed for compiling it. I ask you consider this patch
for the trunk and the 3.2 branch.
Secondly, I wonder if it would be possible to apply my patch for
FindRSVG.cmake from 22nd November in the 3.2 branch.
In short, the version of librsvg must be equal or higher to 2.35:
PKG_CHECK_MODULES(RSVG librsvg-2.0>=2.35)
"
2014-01-17 13:53 robert
* src/osgPlugins/curl/ReaderWriterCURL.cpp: From Jordi Torres,
"Fixed a typo in ReaderWriterCURL::ReaderWriterCURL() changed
Psuedo for Pseudo."
2014-01-08 10:32 robert
* src/osgPlugins/dae/daeRMaterials.cpp: From Farshid Lashkari,
"I've attached a fix for the Collada loader that prevents a crash
with some files containing textures. I also converted an
OSG_NOTICE to OSG_INFO to be consistent with other log messages
within the loader."
2014-01-08 10:31 robert
* src/osgPlugins/dae/daeRMaterials.cpp: Removed more odd characters
2014-01-08 10:28 robert
* src/osgPlugins/dae/daeRMaterials.cpp: Removed more odd characters
2014-01-08 10:24 robert
* src/osgPlugins/dae/daeRMaterials.cpp: Removed odd characters
2014-01-07 16:43 robert
* CMakeModules/FindAsio.cmake, CMakeModules/FindZeroConf.cmake:
Removed execute permissions using svn propdel svn:executable file
2014-01-07 16:29 robert
* src/osgPlugins/dae/daeWTransforms.cpp: From Farshid Lashkari,
"I've attached a small change to the DAE writer to support
writing out unknown transform types. It will essentially treat it
as a matrix transform, using the the local to world matrix
value."
2014-01-07 16:16 robert
* examples/osgcomputeshaders/osgcomputeshaders.cpp: From Sebastian
Messerschmidt, "Original shader was not running on various NVidia
cards due to old syntax in shader."
2014-01-07 11:02 robert
* include/OpenThreads/Version, src/OpenThreads/CMakeLists.txt:
Updated SO_VERSION of OpenThreads to avoid conflicts with Debian
increments to the SO version they have bumped for OpenThreads
2014-01-07 11:01 robert
* include/osg/State: Added State::getMaxTextureCoords() and
State::getMaxTextureUnits() inline methods.
2014-01-06 10:23 robert
* CMakeModules/FindOSG.cmake: Renamed the OSGSIM cmake variable to
OSGSIM_LIBRARY to be consistent with the rest of the variables.
2013-12-19 17:13 robert
* src/osgQt/CMakeLists.txt: From Kristofer Tingdahl, "the syntax of
the moc executable has changed between 5.1.1 and 5.2.0 versions
of qt (see below). The difference is that the <file> argument has
become mandatory after the -f option.
Hence, moc will complain when osg throws in a -f without anything
after it. Hence I propose removing the -f on Qt5 builds. I have
tested building without -f on both qt520 and qt511, and that
works well.
The attached src/osgQt/CMakeLists.txt that can be patched into
3.2 safely. For the trunk, I would consider dropping the check on
the version, and simply remove the option on qt5. I have tested
that on qt5.1.1, and that worked fine. Question is however if it
works on qt5.0. Probably it does, so the question is simplicity
of CMakeList.txt vs safety."
2013-12-06 09:36 robert
* src/osgPlugins/freetype/FreeTypeFont.cpp: From Mike Krus, compile
fix to enable compiling across a wider set of versions.
2013-11-22 10:33 robert
* src/osgWrappers/serializers/osgGA/CMakeLists.txt: From Stephan
Huber, workaround for Clang bug under Apple
2013-11-22 10:27 robert
* src/osg/glu/libutil/mipmap.cpp, src/osgShadow/DebugShadowMap.cpp,
src/osgViewer/ViewerEventHandlers.cpp: Warning fixes
2013-11-22 10:10 robert
* include/osgShadow/ShadowSettings, include/osgViewer/Keystone,
src/osg/glu/libutil/error.cpp,
src/osgViewer/config/WoWVxDisplay.cpp: Clean up of line endings
2013-11-21 14:09 robert
* CMakeModules/CheckAtomicOps.cmake,
examples/osgviewerIPhone/iphoneViewerAppDelegate.h,
src/osgViewer/GraphicsWindowIOS.mm: From Stephan Huber, "attached
you'll find some minor ios-fixes/-enhancements
* force _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC for IOS device +
simulator as the test does not pick the right implementation
* fixed a small compile-bug for iphone-example
* added a check to prevent multiple realization of a
GraphicsWindowIOS-object
"
2013-11-21 13:58 robert
* src/osgDB/InputStream.cpp, src/osgPlugins/ive/Image.cpp: From
Farshid Lashkari, "I recently encountered an issue attempting to
load an IVE file generated by an older version of OSG. The file
contained dxt1 compressed image data with mipmaps. The loaded
model would cause crashes when passing the mipmap data to
glCompressedTexImage2D. It seems that the size of the data array
within the IVE file did not match the computed size from
Image::getTotalSizeInBytesIncludingMipmaps(). This essentially
made the mipmap offsets invalid within the Image object.
I'm not sure if the IVE was simply generated incorrectly, or if
the Image::getTotalSizeInBytesIncludingMipmaps() was modified
since the file was generated. Either way, I added a simple check
in the IVE loader so that it clears the mipmap offsets if the
actual data size does not match the computed data size. This
seems like a safe fallback since the mipmap data can be
automatically generated, and it fixes the problem in my case.
Also, while looking into this issue, I noticed that the
osgDB::InputStream class applies the serialized image allocation
mode. However, since the serializer is allocating the image data
itself, it seems like it should force the allocation mode to
USE_NEW_DELETE.
"
2013-11-21 11:00 robert
* src/osgText/Glyph.cpp: Changed std::max to osg::minimum to addres
build error under VS2013.
2013-10-25 15:48 robert
* CMakeLists.txt, src/osgWrappers/serializers/osg/Geometry.cpp:
Removed -fpermissive flag from GCC build, and fixed warning
2013-10-25 15:47 robert
* src/osgViewer/Keystone.cpp: Added explict setting of the
PolygonMode to over the distion mesh being toggled to wireframe.
2013-10-24 20:22 robert
* examples/osghangglide/terrain.cpp: Fixed warning
2013-10-24 19:56 robert
* src/osgPlugins/pdf/ReaderWriterPDF.cpp: Removed deprecated glib
call
2013-10-24 19:31 robert
* src/osgPlugins/dicom/ReaderWriterDICOM.cpp: Fixed FileInfo self
initialization bug
2013-10-22 16:28 robert
* src/osgPlugins/svg/ReaderWriterSVG.cpp: Fixed warnings
2013-10-22 11:33 robert
* src/osgPlugins/osg/ReaderWriterOSG2.cpp,
src/osgPlugins/osga/OSGA_Archive.cpp: From Colin McDonald, two
submissions merged from svn/trunk:
"The osgb file reader uses seek to position within the file.
But the nested stream implementation for osga archive files
doesn't
support seeking. So osgb files can't currently be used in an osga
archive e.g. if osgdem is used to output a osgb format database
it
can't be packaged in an archive file, in the same manner that ive
files could.
I've added seek support to the osga nested stream
implementation."
"The osgt/osgb file formats output a scenegraph node with the
type
set to "SCENE" in the file header. But if the file is stored and
then extracted again from an osga archive this header info is
lost,
and the resulting file is just an "OBJECT". Possibly other plugin
operations would have the same effect. The osgt/osgb plugin won't
then return the scenegraph contents.
I have updated the osgt/osgb plugin to return a node from an
"OBJECT"
file."
2013-10-22 11:17 robert
* src/osg/State.cpp: Fixed handling of in scene graph osg::Program
being overriden by shader composition.
2013-10-21 17:44 robert
* src/osg/GraphicsContext.cpp: From Robert Milharcic, workaround
for ShaderComposer clean up bug.
2013-10-21 09:56 robert
* src/osgPlugins/imageio/ReaderWriterImageIO.cpp,
src/osgPlugins/vtf/ReaderWriterVTF.cpp,
src/osgPlugins/x/directx.cpp: Build fixes for clang
2013-10-18 09:57 robert
* src/osgPlugins/dae/daeReader.cpp: From Farshid Lashkari,
"previously discussed change to the dae loader which applies the
node ID as a "dae_node_id" user value."
2013-10-18 08:37 robert
* include/osg/Node: From Vladimir Chebeav, fix for removal of
nested callbacks
2013-10-18 07:54 robert
* src/osgPlugins/fbx/fbxRLight.cpp: From Konstantin Matveyev,
"Multiple light fix in FBX-importer"
2013-10-18 07:52 robert
* src/osgWrappers/serializers/osg/LibraryWrapper.cpp: From Colin
McDonald, "Added some missing updates to the serializer static
build support."
2013-10-17 18:34 robert
* examples/osgviewerCocoa/CMakeLists.txt,
examples/osgviewerCocoa/main.m, examples/osgviewerCocoa/main.mm:
Build fix
2013-10-17 18:29 robert
* src/osg/Program.cpp: Fix for error in getting the uniform block
max name length, fix suggested by Christopher Fennell.
2013-10-10 20:42 robert
* src/osgAnimation/RigTransformHardware.cpp: From Pjotr Svetachov,
"With the new osg::Geometry the binding for arrays now default to
undefined. This breaks previously working code in
osgAnimation::RigTransformHardware where the arrays got an
undefined bounding and because of this the bone indices and
weights were not loaded by the shader. Here is a little patch to
fix this."
2013-10-07 10:40 robert
* CMakeLists.txt: Updated rc number
2013-10-07 10:38 robert
* CMakeLists.txt, CMakeModules/FindAVFoundation.cmake,
CMakeModules/OsgMacroUtils.cmake,
examples/osgviewerIPhone/CMakeLists.txt,
examples/osgviewerIPhone/iphoneViewerAppDelegate.h,
examples/osgviewerIPhone/iphoneViewerAppDelegate.mm,
examples/osgviewerIPhone/osgPlugins.h,
src/osgPlugins/RestHttpDevice/RestHttpDevice.cpp,
src/osgPlugins/RestHttpDevice/RestHttpDevice.hpp,
src/osgPlugins/ZeroConfDevice/AutoDiscoveryBonjourImpl.mm,
src/osgPlugins/avfoundation/CMakeLists.txt,
src/osgPlugins/osc/OscSendingDevice.cpp,
src/osgViewer/GraphicsWindowCocoa.mm,
src/osgViewer/GraphicsWindowIOS.mm: From Stephan Huber, "attached
you'll find a bunch of fixes + enhancements for iOS and OS X
based on current trunk. I incorporated + tested the submission
from Colin Cochran, so his submission is not needed anymore.
* fixed a bug with multi-touch and touch-id-generation on iOS and
OS X. (will fix a bug reported by Colin Cochran, without ditching
the existing logic)
* removed unnecessary warning-flagss when generating
xcode-projects via cmake, will enable the usage of
OSG_AGGRESSIVE_WARNING_FLAGS
* added support for 10.9 (OS X)
* new cmake-variable: IPHONE_VERSION_MIN, this will set the
deployment-target (previously hard-coded) If you set the
IPHONE_VERSION_MIN to something like 7.0 osg gets compiled also
for 64bit (amd64)
* cmake defaults now to the clang compiler if IPHONE_VERSION_MIN
> 4.2
* cmake now sets some xcode-settings so the compiler uses the
c++98-standard (clang defaults to c++11, w/o this I got a lot of
linking errors)
* removed include-dir for avfoundation-plugin as not needed on
OSX/IOS.
* enhanced the ios-example, will now show multitouch-information
on a hud (similar to the osgmultitouch-example), and more
importantly, will compile + link out of the box
* small enhancements for the osc-device-plugin (send only one msg
for MOVE/DRAG, even if multiple msgs/event is enabled)
* better memory-handling for the zeroconf-plugin
* fixed a possible bug in the rest-http-plugin when receiving
mouse-events.
* incorporated a fix from Colin Cochran "forwarded touch events
are not transformed into the GL UIView"
"
2013-10-03 16:13 robert
* AUTHORS.txt, applications/osgversion/Contributors.cpp: Updated
Controbutors to fix errors
2013-10-03 15:40 robert
* AUTHORS.txt, ChangeLog: Updated AUTHORS and ChangeLog for
3.2.1-rc1
2013-10-03 15:29 robert
* CMakeLists.txt, include/osg/Version: Updated versions in prep for
3.2.1-rc1
2013-10-03 15:24 robert
* AUTHORS.txt, ChangeLog, applications/osgversion/Contributors.cpp:
Updated AUTHORS for for rc
2013-10-02 11:29 robert
* src/osgPlugins/osc/osc/OscHostEndianness.h: From Dmitry
Marakasov, "These are FreeBSD bits for
src/osgPlugins/osc/osc/OscHostEndianness.h,
required to build newever OSG on this OS. Also corrects file name
in the error message - I was confused not to find
OSCHostEndianness.h
after I've got this error.
Tested by successfully building OSG 3.2.0 with this patch on
FreeBSD
9.1."
2013-10-02 11:09 robert
* src/osgPlugins/stl/ReaderWriterSTL.cpp: From Björn Hein, "it
seems that for generating "per vertex normals" as stated in the
comment, two of them are missing. This results in wrong display
of
STL-files regarding normals. Following simple fix seems to work:
Index: ReaderWriterSTL.cpp
===================================================================
--- ReaderWriterSTL.cpp (Revision 13797)
+++ ReaderWriterSTL.cpp (Arbeitskopie)
@@ -108,6 +108,8 @@
++itr)
{
perVertexNormals->push_back(*itr);
+ perVertexNormals->push_back(*itr);
+ perVertexNormals->push_back(*itr);
}
geom->setNormalArray(perVertexNormals.get(),
osg::Array::BIND_PER_VERTEX);
"
2013-10-01 16:20 robert
* src/osgAnimation/LinkVisitor.cpp,
src/osgAnimation/RigGeometry.cpp: From Björn Blissing, "I propose
making the following outputs a little bit more silent. In my mind
it would suffice with OSG_DEBUG (compared to OSG_NOTICE) for
these information messages."
2013-10-01 09:37 robert
* src/osgPlugins/Inventor/ConvertFromInventor.cpp: From Christopher
Baker, submitted by Alberto Luacas, "there is a bug report in the
Ubuntu tracker that points to a bug when
loading multiple VRML files in parallel. Christopher R. Baker has
detected this bug and crafted a patch. In addition, libcoin has
to be
also built with the "--enable-threadsafe" option.
I copy here his report, extracted from
(https://bugs.launchpad.net/ubuntu/+source/openscenegraph/+bug/1211993)
and attach his fix. All credit is due to him:
<<
There are three instances of a classical method-local-static
multithreaded initialization bug in the Inventor plugin for OSG
that
trigger various memory faults when reading multiple VRML files in
parallel via osgDB::readNodeFile. These bugs are of the form:
static std::map<Stuff,OtherStuff> myHandyMap;
static bool once = true;
if(once) { ...fill myHandyMap; once = false }
... use myHandyMap;
To repeat: try loading multiple VRML files from multiple threads.
The
liklihood of the bug depends on many factors, but my application,
which
parallel-loads some dozens of small (<100K) VRML files on
startup,
triggers this problem 25% of the time or more.
The attached patch (inventor-plugin-multithread.patch) rectifies
this
problem by:
1 - Inheriting MyHandyMap from std::map, then
2 - Moving the map initialization into the derived constructor,
which
3 - Is intrinsically protected from multithread issues by g++
(and is
part of the C++ standard), unless you pass
-fno-threadsafe-statics,
which is strongly discouraged by the man page.
>>
"
2013-10-01 09:11 robert
* src/osgViewer/GraphicsWindowWin32.cpp: From Adrien Grandemange,
"On Windows 7 and 8, mouse messages are generated in addition to
touch messages, which leads to duplicate PUSH, DRAG and RELEASE
events in OSG. Besides, the mouse and touch messages referring to
the same user input are not necessarily sent at the same time,
due to gesture translation done by Windows by default, such as
double-tap => double-click and long-push => right-click.
The delay between the 2 types of messages is more noticeable on
Windows 8 and leads to serious disruptions in our application.
Mouse messages generated by touch input are only present for
legacy support. I think they should be filtered out by OSG (real
click events originating from a physical mouse will of course
still go through).
This is what this patch does, according to this suggestion:
http://msdn.microsoft.com/en-us/library/dd693088%28v=VS.85%29.aspx
(third issue in this page)."
2013-10-01 09:05 robert
* src/osg/PointSprite.cpp: From Thomas Hogarth, "Attached is a
small build fix for PointSprite when compiling under GLES2
(r13788)
GL_POINT_SPRITE_OES does not exist in GLES2, instead you just
draw using GL_POINTS then use gl_PointSize in a vertex shader to
set the size."
2013-09-30 18:32 robert
* src/osgPlugins/avfoundation/CMakeLists.txt,
src/osgPlugins/avfoundation/OSXAVFoundationCoreVideoTexture.cpp,
src/osgPlugins/avfoundation/OSXAVFoundationCoreVideoTexture.h,
src/osgPlugins/avfoundation/OSXAvFoundationCoreVideoTexture.cpp,
src/osgPlugins/avfoundation/OSXAvFoundationCoreVideoTexture.h:
2013-09-30 18:16 robert
* src/osg/StateSet.cpp: From Farshid Lashkari, "I have a scene that
makes heavy use of the StateSet::compare method and my profiler
showed that a lot of time was being spent inside it. I made a
small change to the method so that it performs a quick size
comparison between the attribute/mode lists and bin mode before
iterating through all the attributes. This made a noticeable
improvement in my scene. I've attached the change."
2013-09-30 10:45 robert
* src/osgUtil/LineSegmentIntersector.cpp: Refactored the epsilon
code to use the same one now used in svn/trunk.
2013-09-20 15:43 robert
* src/osgVolume/VolumeTile.cpp: Removed unnceccesary
setNumChildrenRequiringUpdateTraversal from VolumeTile
constructor.
2013-09-10 15:18 robert
* src/osgPlugins/dds/ReaderWriterDDS.cpp: From Giuseppe Donvito,
"I'm using OSG 320 and I need to flush a DDS 3D texture on disk.
I found a bug on DDS ReaderWriter that generates a false positive
on a guard for the size check on writing operation. This is due
to a wrong imageSize computation that uses
img->getImageSizeInBytes() method instead of
img->getTotalSizeInBytes(), that actually ignores the r()
dimension, contrariwise taken into account by the function
ComputeImageSizeInBytes() later.
The line 1062 on file ReaderWriterDDS.cpp should be fixed with:
[code]unsigned int imageSize =
img->getTotalSizeInBytes();[/code]"
2013-09-10 13:29 robert
* include/osgUtil/SceneView: From Giuseppe Donvito, Fixed typo of
"CLEAR_GLOBAL_STATESET = 0x16," to indended
"CLEAR_GLOBAL_STATESET = "0x10".
2013-09-09 14:58 robert
* src/osg/PointSprite.cpp: From Colin Cochran, OES support for
point sprites
2013-09-09 13:33 robert
* src/osg/FrameBufferObject.cpp, src/osg/Texture.cpp: osg uses
osg::FBOExtensions to check if Frame Buffer Objects are
available. But this just checks if the fbo functions can be
called.
It doesn't check if the OpenGL renderer supports fbos. For
indirect
rendering on linux the client side capability may be different
from
the display server, which can lead to mipmapped textures failing
to
render. I've added a fbo extension check.
2013-09-09 12:44 robert
* CMakeModules/FindAVFoundation.cmake: From Ulrich Hertlein, "Patch
for FindAVFoundation to work with OS X 10.9"
2013-09-09 12:37 robert
* examples/osgviewerMFC/MFC_OSG.cpp: From Wang Rui, "Some
developers report that the osgviewerMFC example is broken in 3.2,
in which depth test is not enabled by default so all models
loaded look awkward. I submit this patch to make it work again. I
haven't gone deep to check why previous example goes wrong in
newer version but I believe the problem was because the newly
created camera object missed some important global statesets
before set as the main camera."
2013-09-09 12:33 robert
* examples/osgmultiplemovies/CMakeLists.txt,
src/osgPlugins/osg/CMakeLists.txt: From Laurens Voerman, "two
minor fixes, both in a CMakeList.txt file,
1> osgmultiplemovies example does not use SDL so needs no link to
SDL
2> Added header files to "Plugins osg" project, so visual studio
can find the source of
OSG_WARN << "AsciiInputIterator::readProperty(): Unmatched
property "
"
2013-09-05 10:23 robert
* include/osgUtil/SceneView, src/osg/Uniform.cpp,
src/osgDB/OutputStream.cpp, src/osgPlugins/lws/SceneLoader.cpp:
From Colin McDonald, "Attached are some fixes to build osg using
the Solaris Studio compiler.
I've also checked the modified files still build ok with other
compilers (Linux gcc, Windows Visual Studio).
osgDB/OutputStream.cpp and osgPlugins/lws/SceneLoader.cpp require
stdlib.h for atoi use.
In osg/Uniform.cpp the compiler complains that base_class is
unknown
unless I add a class name qualifier.
Not a build fix, but I spotted a typo in osgUtil/SceneView."
2013-09-05 10:08 robert
* src/osgWrappers/serializers/osg/PagedLOD.cpp: From Laurens
Voerman, "like the "Bug in ProxyNode serializer" Farshid Lashkari
found (svn submit 13754) the PagedLOD serializer attempts to read
begin and and brackets.
Fix is identical (don't read brackets when num_chidren is zero)
and applies both to trunk and 3.2 branch."
2013-09-05 10:05 robert
* src/osgPlugins/ffmpeg/FFmpegDecoder.cpp,
src/osgPlugins/ffmpeg/FFmpegParameters.cpp: Fixed warnings
2013-09-05 08:41 robert
* src/osgPlugins/ffmpeg/FFmpegDecoder.cpp: From Alberto Luaces,
"current versions of ffmpeg render <<url_feof>> macro as obsolete.
The fix
is very simple and it is contained in the attached file."
2013-09-02 10:57 robert
* src/osgWrappers/serializers/osg/ProxyNode.cpp: From Farshid
Lashkari, "The ProxyNode serializer was not correctly reading the
"Children" field. It conditionally writes the begin/end brackets,
depending on whether it has children. However, during input it
unconditionally attempts to read the begin/end brackets. I've
modified the code to only read the brackets if it has children."
2013-09-02 09:13 robert
* src/osgAnimation/StackedTransform.cpp: Merged from svn/trunk,
fixed double copy in StackedTransform constructor
2013-08-05 12:00 robert
* src/osg/State.cpp: From Aurelien Albert, "I've go some problem
with the method "State_Utils::replace" : if the original_phrase
is empty, it leads to an infinite loop.
Here is a path to prevent this."
2013-08-01 11:25 robert
* src/osgUtil/DelaunayTriangulator.cpp: From Anish Thomas, added
catch for to an empty DrawElementsUInt creation.
2013-08-01 10:28 robert
* src/osgPlugins/shp/ESRIShapeReaderWriter.cpp,
src/osgPlugins/shp/XBaseParser.cpp,
src/osgPlugins/shp/XBaseParser.h: From Ulrich Hertlein, "Based on
the exchange on osg-users I went ahead and reworked
shp/XBaseParser to avoid
weird behaviour (closing stdin) and leaking file descriptors, as
well as some const-ness."
2013-08-01 10:04 robert
* src/osgPlugins/OpenFlight/PrimaryRecords.cpp: From Sebastian
Messerschmidt, "Seems like your re-factoring didn't really
produces the correct results.
You can check with the tester2.flt provided earlier and check
with the result image.
I double checked this with OpenFlight creator, and it seems the
yaw is broken.
With my initial quaternion version is seems correct and if I
change the
float cos_yaw = cosf(osg::inDegrees(yaw));
float sin_yaw = sinf(osg::inDegrees(yaw));
to be
float cos_yaw = cosf(osg::inDegrees(-yaw));
float sin_yaw = sinf(osg::inDegrees(-yaw));
it seems to work as well."
2013-08-01 10:00 robert
* src/osg/Geometry.cpp: From Tom Jolley, "I found a couple more
bugs after closely looking at the small piece of deprecated
geometry in my model. There were problems with more than one
primitive in a couple places. The first was the number of
vertices were not being accumulated for DrawArraysPrimitiveType
(caused another crash). The second is I had to move target_vindex
and source_pindex before the PrimitiveSetList loop so they don't
get reset on the next primitive (otherwise you end up with a lot
of zeros in per vertex lists)."
2013-07-31 07:11 robert
* include/osg/FrameBufferObject: From Aurelien Albert, "Here is the
code to get access to OpenGL handle of an osg::FrameBufferObject"
2013-07-31 06:56 robert
* src/osg/Geometry.cpp: From Tom Jolly, "I ran across this error
reading one of our older files. An iterator was being changed
inside a loop that caused a crash."
2013-07-31 06:43 robert
* src/osg/State.cpp: From Sergey Kurdakov, merged from svn/trunk
fix for GLES2 runtime invalid enumerant warning.
2013-07-30 06:39 robert
* applications/present3D/present3D.cpp: From svn/trunk merged
"Changed default cull mask to match the left cull mask so that
mono rendering of presentations with left/right stereo
images/movies works fine."
2013-07-30 06:39 robert
* applications/present3D/present3D.cpp: Removed trailing spaces
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org