Commit Graph

409 Commits

Author SHA1 Message Date
Robert Osfield
7d7c0daa5e Added check against GCC version when adding the -Wshadow warning to OSG_AGGRESSIVE_WARNING_FLAGS so that it's only used in versions later than 4.9. 2016-06-02 20:00:42 +01:00
Robert Osfield
dd9bcf6013 Set default value of OSG_USE_REF_PTR_SAFE_DEREFERENCE of OFF to avoid the check overhead polutting all OSG applications. 2016-06-02 13:03:07 +01:00
Robert Osfield
c0b560175c Fixed typo 2016-06-02 12:43:09 +01:00
Robert Osfield
88a01aa09d Bumped version number for 3.5.3 dev release 2016-06-02 11:25:40 +01:00
Robert Osfield
045fa05b0d Restructed the control of OSG_AGGRESSIVE_WARNINGS_FLAGS to make it possible to edit them in ccmake/CMakeSetup.
Changed the name of OSG_USE_AGGRESSIVE_WARNINGS to OSG_AGGRESSIVE_WARNINGS to make sure it sits alongside the OSG_AGGRESSIVE_WARNINGS_FLAGS within ccmake
so that it's easier to see how the two variables are coupled.
2016-06-02 11:06:50 +01:00
rdiankov
da34da18ca add safety checking when dereferencing ref_ptr 2016-05-21 21:29:14 +02:00
Robert Osfield
e900ecc4c7 Added -Wshadow tp OSG_AGGRESSIVE_WARNING_FLAGS for GNU compiler 2016-05-20 10:51:40 +01:00
Robert Osfield
92ee6de05e Changed svn reference to git 2016-03-01 20:35:58 +00:00
Robert Osfield
cd00f7b558 Fixed the make tag-run and branch-run 2016-03-01 20:24:19 +00:00
Robert Osfield
a1aecc024e 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 2016-03-01 19:44:32 +00:00
Robert Osfield
0d1c8286a2 Updated version number for 3.5.2 dev release 2016-03-01 15:33:16 +00:00
Robert Osfield
9bde2ef631 Added support for NodeMask to osg::Drawable serializers 2016-02-11 16:25:47 +00:00
Robert Osfield
44130fc527 Cleaned up OSX option selection code.
Updated version for 3.5.1 dev release


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15180 16af8721-9629-0410-8352-f15c8da7e697
2015-11-09 15:52:06 +00:00
Robert Osfield
dd996a3289 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()
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
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:

    bool addChild(Node* child); // old method which can only be used with a Node*

    tempalte<class T> bool addChild(const osg::ref_ptr<T>& child) { return addChild(child.get()); } // adapter template method

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
and multi-threaded loaded more robust.



git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15164 16af8721-9629-0410-8352-f15c8da7e697
2015-10-22 13:42:19 +00:00
Robert Osfield
d7cd5b1811 Updated SO version for svn/trunk.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15120 16af8721-9629-0410-8352-f15c8da7e697
2015-09-04 14:24:40 +00:00
Robert Osfield
6a41ccf537 Added GL1 to the docs of the GL_PROFILE string
Updated the date of the 3.4.0 release in the README.


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15100 16af8721-9629-0410-8352-f15c8da7e697
2015-08-12 06:39:57 +00:00
Robert Osfield
41f284b678 Moved FIND_PACKAGE(Boost) to within the individual Find scripts that actually need it rather in the root CMakeLists.txt.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15093 16af8721-9629-0410-8352-f15c8da7e697
2015-08-11 08:43:40 +00:00
Robert Osfield
5194d81a89 Fixed line endings
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15085 16af8721-9629-0410-8352-f15c8da7e697
2015-08-10 19:40:36 +00:00
Robert Osfield
000c9af7c2 Added CMake test for presence of GLuint64 and GLint64 in OpenGL/GLES headers to better handle when/where GL defines the 64 bit typedefs
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15001 16af8721-9629-0410-8352-f15c8da7e697
2015-07-22 13:49:14 +00:00
Robert Osfield
466a4a5d69 Added cmake version check to cmake_policy usage
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14973 16af8721-9629-0410-8352-f15c8da7e697
2015-07-17 08:21:06 +00:00
Robert Osfield
47fd0423ec Moved the cmake_policy(SET CMP0043 NEW) to work for all script paths that Qt5 usage could pass through.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14953 16af8721-9629-0410-8352-f15c8da7e697
2015-07-14 13:33:12 +00:00
Robert Osfield
d85d98e916 Added cmake_policy(SET CMP0043 NEW) usage when compiling against Qt5 as it was causing a warning we couldn't fix on the OSG side otherwise.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14952 16af8721-9629-0410-8352-f15c8da7e697
2015-07-14 13:26:40 +00:00
Robert Osfield
1477e046f6 Updated version number to 3.5.0 after 3.4 branch.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14941 16af8721-9629-0410-8352-f15c8da7e697
2015-07-03 06:51:09 +00:00
Robert Osfield
04f4b542bd Updated ChangeLog and AUTHORS file in prep for 3.4 branch.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14935 16af8721-9629-0410-8352-f15c8da7e697
2015-07-02 10:25:14 +00:00
Robert Osfield
08d2d322d9 Upated version number
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14916 16af8721-9629-0410-8352-f15c8da7e697
2015-06-15 13:51:09 +00:00
Robert Osfield
11a55ea6de Added supoort for osg::CullSettings/Camera::InheritanceMaskActionOnAttributeSetting and InheritanceMask properties.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14904 16af8721-9629-0410-8352-f15c8da7e697
2015-06-09 16:49:20 +00:00
Robert Osfield
89fd422c98 Changed the CMP0020 check to > 2.8.10
Updated SO version number


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14864 16af8721-9629-0410-8352-f15c8da7e697
2015-05-05 11:05:09 +00:00
Robert Osfield
ed7629351f Updated dev release number
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14845 16af8721-9629-0410-8352-f15c8da7e697
2015-04-17 14:36:05 +00:00
Robert Osfield
bf0425f628 Updated version number of dev release
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14837 16af8721-9629-0410-8352-f15c8da7e697
2015-04-15 18:05:43 +00:00
Robert Osfield
166c49eedd From Konstantin Matveyev, "I've added GLES3 profile, which also enables GLES2 features (OSG_GLES3_AVAILABLE=true => OSG_GLES2_AVAILABLE=true).
If OSG_OPENGL_PROFILE="GLES3" =>
GraphicsWindowIOS will create gles3 context.
If failed, GraphicsWindowIOS will create gles2 context.
Multisampling also working.

"


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14831 16af8721-9629-0410-8352-f15c8da7e697
2015-04-13 10:11:32 +00:00
Robert Osfield
e2f208af54 Refactored how the callbacks for updating geometry are managed in MorphGeometry and RigGeometry to address bugs in serialization.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14784 16af8721-9629-0410-8352-f15c8da7e697
2015-03-12 17:11:11 +00:00
Robert Osfield
6a860e5e82 Updated dev release number
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14767 16af8721-9629-0410-8352-f15c8da7e697
2015-03-05 19:33:17 +00:00
Robert Osfield
efb90a6a80 Updated SO_VERSION after changes to osgPresentation
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14760 16af8721-9629-0410-8352-f15c8da7e697
2015-03-04 18:39:04 +00:00
Robert Osfield
925c37b783 Updated SO_VERSION to take account of API changes in osgDB
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14749 16af8721-9629-0410-8352-f15c8da7e697
2015-03-02 14:38:17 +00:00
Robert Osfield
e3e1a55702 Updated version number after dev release.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14740 16af8721-9629-0410-8352-f15c8da7e697
2015-02-27 10:01:56 +00:00
Robert Osfield
47202acc24 From Dmitry Marakasov, "While packaging osg-3.3.3 I've discovered that gstreamer detection is
broken:

-- Could NOT find GStreamer (missing:  GSTREAMER_BASE_INCLUDE_DIRS GSTREAMER_BASE_LIBRARIES GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS GSTREAMER_GSTREAMER-APP_LIBRARIES GSTREAMER_GSTREAMER-PBUTILS_INCLUDE_DIRS GSTREAMER_GSTREAMER-PBUTILS_LIBRARIES) (found version "1.4.5")

though all required modules are installed.

There are two problems: first, module names are spelled incorrectly in root
CMakeLists.txt (e.g. gstreamer-app instead of app), so variables expected
for them are e.g. GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS instead of
GSTREAMER_APP_INCLUDE_DIRS.

Second, gstreamer base component is detected as GSTREAMER while checked
later as GSTREAMER_BASE. I've uncommented the detection as
GSTREAMER_BASE, but obviously that should be revisited and only one
detection left. With this patch, gstreamer is detected properly and
the plugins is successfully built and installed."


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14719 16af8721-9629-0410-8352-f15c8da7e697
2015-02-25 19:25:34 +00:00
Robert Osfield
bbb54cedc7 Commented out the experimental V8 and Python plugins as these plugins only existed as a proof of concept test linkage with these dependenices, and have no functionality beyond this.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14678 16af8721-9629-0410-8352-f15c8da7e697
2015-02-02 09:53:55 +00:00
Robert Osfield
f9f480b935 Updates SO_VERSION in prep for API modifications since the 3.3.3 dev release
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14650 16af8721-9629-0410-8352-f15c8da7e697
2015-01-06 17:09:44 +00:00
Robert Osfield
dd650921b1 Added comment about using -DCMAKE_DISABLE_FINDPACKAGE_* command line.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14632 16af8721-9629-0410-8352-f15c8da7e697
2014-12-22 10:35:33 +00:00
Robert Osfield
8e901ebbac Updated version number after dev release
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14628 16af8721-9629-0410-8352-f15c8da7e697
2014-12-22 09:49:17 +00:00
Robert Osfield
8be71caeaf From Aitor Moreno, LAS plugin - depends upon boost and liblas and liblas-c
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14622 16af8721-9629-0410-8352-f15c8da7e697
2014-12-18 17:47:08 +00:00
Robert Osfield
4ce6b07886 From Mattias Helsing, "CMake have release 3.0 and 3.1 and we have some bad checks for cmake
major version when settings cmake policies in CMakeLists.txt. This fixes it"


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14620 16af8721-9629-0410-8352-f15c8da7e697
2014-12-18 15:59:16 +00:00
Robert Osfield
adf9596316 Added support for using SDL2 to the osgmovie to enable it to handle floating point audio formats
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14610 16af8721-9629-0410-8352-f15c8da7e697
2014-12-17 19:21:32 +00:00
Robert Osfield
6cd9932780 From Julen Garcia, "Here there is a small plugin I use to play video files. It is based on GStreamer http://gstreamer.freedesktop.org and I have used the FFmpeg plugin as inspiration."
From Robert Osfield, fixed handled of row widths so that they are padded to a 4 byte boundary as certain row widths were being rendered incorrectly.


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14604 16af8721-9629-0410-8352-f15c8da7e697
2014-12-16 11:20:42 +00:00
Robert Osfield
e5f5c30e4d Removed include/osg/Version and include/OpenThreads/Version headers as these are autogenerated.
Changed the paths for the OpenThreads/osg Version headers to be placed in the PROJECT_BINARY_DIR.


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14557 16af8721-9629-0410-8352-f15c8da7e697
2014-11-28 16:10:14 +00:00
Robert Osfield
53e337611a From Jan Klimke, "i noticed, that there are a couple of additional flaws when building osg for Mac OS X 10.10 Yosemite.
The mac os sdk version is recognized by the current CMAKE script as 10.1 instead of 10.10 since it cuts the version string from the 4th place. I introduced a more reliable version checking based on splitting the returned version code into MAJOR MINOR and PATCH parts and reassemble the OSG sdk version afterwards.

I replaced the existing CMake code against the following (returning now version 10.10 as expected):

 # Determine the canonical name of the selected Platform SDK
   EXECUTE_PROCESS(COMMAND "/usr/bin/sw_vers" "-productVersion"
                   OUTPUT_VARIABLE OSG_OSX_SDK_NAME
                   OUTPUT_STRIP_TRAILING_WHITESPACE)
   STRING(REPLACE "." ";" MACOS_VERSION_LIST ${OSG_OSX_SDK_NAME})
   LIST(GET MACOS_VERSION_LIST 0 MACOS_VERSION_MAJOR)
   LIST(GET MACOS_VERSION_LIST 1 MACOS_VERSION_MINOR)
   LIST(GET MACOS_VERSION_LIST 2 MACOS_VERSION_PATCH)

   SET(OSG_OSX_SDK_NAME "macosx${MACOS_VERSION_MAJOR}.${MACOS_VERSION_MINOR}")

Also i added the check for the new Version to some more find scripts.

Additionally the nil object in Objective C now seems to be equivalent with a null_ptr that cannot be passed as GLInt anymore. So i switched this in the PixelBufferCocoa.mm to pass a zero instead of nil.
"


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14527 16af8721-9629-0410-8352-f15c8da7e697
2014-11-24 15:19:20 +00:00
Robert Osfield
b9a529148a From Rafa Gaitan, "I finally had some time to change the build system for Android using a Toolchain, which, I think, will be easier to maintain and uses cmake standard system to build it.
My changes:
-------------------
- I changed the cmake files and added a toolchain for building OSG in Android. The toolchain is based on the one used at OpenCV. For building OSG for android you just need to do:

    mkdir build_android_static_gles2 && cd build_android_static_gles2
    cmake .. -DANDROID_NDK=<path-to-the-android-ndk>
                  -DCMAKE_TOOLCHAIN_FILE=../PlatformSpecifics/Android/android.toolchain.cmake
                  -DOPENGL_PROFILE="GLES2"
                  -DDYNAMIC_OPENTHREADS=OFF
                  -DDYNAMIC_OPENSCENEGRAPH=OFF
                  -DANDROID_NATIVE_API_LEVEL=15 # optional
                  -DANDROID_ABI=armeabim #optional
                  -DCMAKE_INSTALL_PREFIX=<path-to-the-install-path> #optional
make -j 8
make install

    The OPENGL_PROFILE works as expected, changing it to "GLES1" it builds and links OSG using GLES1.
    The DYNAMIC_OPENTHREADS/DYNAMIC_OPENSCENEGRAPH parameters also allows to build the dynamic libraries

- I also added some build fixes for android related to the texture formats and added some missing USE_OSG_SERIALIZER_WRAPPER in the osg serializer library to support loading osgb files in static."


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14514 16af8721-9629-0410-8352-f15c8da7e697
2014-11-21 10:37:33 +00:00
Robert Osfield
f3eb245e98 Added CMake script to set the default CMAKE_BUILD_TYPE to Release. Approach taken from simgear.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14489 16af8721-9629-0410-8352-f15c8da7e697
2014-11-19 17:42:11 +00:00
Robert Osfield
99cbab1806 Changes to support building against ANDROID under OSX.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14399 16af8721-9629-0410-8352-f15c8da7e697
2014-08-08 09:28:26 +00:00
Robert Osfield
cbfcac6f63 Update SO version to account for new changes to osg::StateSet and osgUI
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14393 16af8721-9629-0410-8352-f15c8da7e697
2014-07-30 12:47:45 +00:00