Compare commits
27 Commits
OpenSceneG
...
OpenSceneG
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7f2eaa4339 | ||
|
|
789d435abe | ||
|
|
6b8db67c91 | ||
|
|
2975f9c20a | ||
|
|
ebc855cf50 | ||
|
|
c9547497cc | ||
|
|
75d32b3af6 | ||
|
|
a844a278ab | ||
|
|
94dcfb4ec2 | ||
|
|
8528449dff | ||
|
|
8d7fd88d5f | ||
|
|
28dd1cf8a8 | ||
|
|
14de2266ba | ||
|
|
cc02695822 | ||
|
|
2c442c9e9a | ||
|
|
ca44b9cbce | ||
|
|
0483912e32 | ||
|
|
21b5109089 | ||
|
|
549e20fbe7 | ||
|
|
b4b7a13063 | ||
|
|
8b58890975 | ||
|
|
871521cfea | ||
|
|
f19018a03d | ||
|
|
2709a5e946 | ||
|
|
52d5d80508 | ||
|
|
86e465d5d8 | ||
|
|
50ed5ebd1c |
@@ -1,6 +1,6 @@
|
||||
OpenSceneGraph Library 3.2.0
|
||||
|
||||
510 Contributors:
|
||||
511 Contributors:
|
||||
|
||||
Firstname Surname
|
||||
-----------------
|
||||
@@ -70,11 +70,11 @@ Adrian Egli
|
||||
Ruben Lopez
|
||||
Randall Hopper
|
||||
Jan Ciger
|
||||
Torben Dannhauer
|
||||
Glenn Waldron
|
||||
Gideon May
|
||||
Don Tidrow
|
||||
Aurelien Albert
|
||||
Torben Dannhauer
|
||||
Stephane Lamoliatte
|
||||
Romano Jos<6F> Magacho da Silva
|
||||
Michael Gronager
|
||||
@@ -84,10 +84,10 @@ David Spilling
|
||||
Daniel Sj<53>lie
|
||||
Bryan Thrall
|
||||
Fabien Lavignotte
|
||||
Andreas Ekstrand
|
||||
Mike Connell
|
||||
Melchior Franz
|
||||
Johannes Baeuerle
|
||||
Andreas Ekstrand
|
||||
Riccardo Corsi
|
||||
Rafa Gaitan
|
||||
Neil Hughes
|
||||
@@ -294,6 +294,7 @@ Daniel Trstenjak
|
||||
Craig Bosma
|
||||
Claus Scheiblauer
|
||||
Christophe Loustaunau
|
||||
Christian Ruzicka
|
||||
Brad Anderegg
|
||||
Aric Aumann
|
||||
Andrew Sampson
|
||||
@@ -340,6 +341,7 @@ Ross Anderson
|
||||
Ronny Krueger
|
||||
Ronald van Maarseveen
|
||||
Romain Charbit
|
||||
Rocco Martino
|
||||
Robert Swain
|
||||
Rob Smith
|
||||
Rob Radtke
|
||||
@@ -481,7 +483,6 @@ Clay Fowler
|
||||
Chuck Sembroski
|
||||
Christopher Blaesius
|
||||
Christophe Herreman
|
||||
Christian Ruzicka
|
||||
Christian Noon
|
||||
Christian Kaser
|
||||
Christian Ehrlicher
|
||||
|
||||
@@ -49,11 +49,11 @@ PROJECT(OpenSceneGraph)
|
||||
SET(OPENSCENEGRAPH_MAJOR_VERSION 3)
|
||||
SET(OPENSCENEGRAPH_MINOR_VERSION 2)
|
||||
SET(OPENSCENEGRAPH_PATCH_VERSION 0)
|
||||
SET(OPENSCENEGRAPH_SOVERSION 99)
|
||||
SET(OPENSCENEGRAPH_SOVERSION 100)
|
||||
|
||||
# set to 0 when not a release candidate, non zero means that any generated
|
||||
# svn tags will be treated as release candidates of given number
|
||||
SET(OPENSCENEGRAPH_RELEASE_CANDIDATE 1)
|
||||
SET(OPENSCENEGRAPH_RELEASE_CANDIDATE 0)
|
||||
|
||||
SET(OPENSCENEGRAPH_VERSION ${OPENSCENEGRAPH_MAJOR_VERSION}.${OPENSCENEGRAPH_MINOR_VERSION}.${OPENSCENEGRAPH_PATCH_VERSION})
|
||||
|
||||
@@ -174,8 +174,8 @@ ENDIF()
|
||||
OPTION(OSG_MAINTAINER "Enable OpenSceneGraph maintainer build methods, such as making svn branches, tags, updating ChangeLog." OFF)
|
||||
IF (OSG_MAINTAINER)
|
||||
|
||||
SET(OPENSCENEGRAPH_SVN "trunk")
|
||||
#SET(OPENSCENEGRAPH_SVN "branches")
|
||||
#SET(OPENSCENEGRAPH_SVN "trunk")
|
||||
SET(OPENSCENEGRAPH_SVN "branches")
|
||||
SET(OPENSCENEGRAPH_BRANCH OpenSceneGraph-${OPENSCENEGRAPH_MAJOR_VERSION}.${OPENSCENEGRAPH_MINOR_VERSION})
|
||||
|
||||
#
|
||||
@@ -535,7 +535,9 @@ ELSE()
|
||||
FIND_PACKAGE(GtkGl)
|
||||
FIND_PACKAGE(DirectInput)
|
||||
FIND_PACKAGE(NVTT)
|
||||
FIND_PACKAGE(Asio)
|
||||
IF (NOT WIN32)
|
||||
FIND_PACKAGE(Asio)
|
||||
ENDIF()
|
||||
FIND_PACKAGE(ZeroConf)
|
||||
ENDIF()
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ ENDMACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST D
|
||||
|
||||
|
||||
################################################################################################
|
||||
# this Macro is tailored to Mike dependencies
|
||||
# this Macro is tailored to Mike and Torbens dependencies
|
||||
################################################################################################
|
||||
|
||||
MACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
|
||||
@@ -86,14 +86,14 @@ MACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
|
||||
MARK_AS_ADVANCED(PNG_PNG_INCLUDE_DIR)
|
||||
ENDIF(PNG_FOUND)
|
||||
ENDIF(ZLIB_FOUND)
|
||||
FIND_DEPENDENCY(LIBXML2 libxml "libxml2" ${OSG_3RDPARTY_BIN} "D" "")
|
||||
FIND_DEPENDENCY(LIBXML2 libxml2 "libxml2" ${OSG_3RDPARTY_BIN} "D" "")
|
||||
IF(LIBXML2_FOUND)
|
||||
# The CMAKE find libxml module uses LIBXML2_LIBRARIES -> fill it.... kind of a hack
|
||||
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY} CACHE FILEPATH "" FORCE)
|
||||
SET(LIBXML2_XMLLINT_EXECUTABLE ${OSG_3RDPARTY_BIN}/bin/xmllint.exe CACHE FILEPATH "Path to xmllint executable" FORCE)
|
||||
ENDIF(LIBXML2_FOUND)
|
||||
#FIND_DEPENDENCY(DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST DEBUGSUFFIX EXSUFFIX)
|
||||
FIND_Package(NVTT)
|
||||
FIND_Package(NVTT)
|
||||
#luigi#INCLUDE(FindOSGDepends.cmake)
|
||||
ENDMACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
|
||||
|
||||
|
||||
@@ -28,6 +28,10 @@ IF(APPLE)
|
||||
SET(COLLADA_BUILDNAME "mac")
|
||||
ELSEIF(MINGW)
|
||||
SET(COLLADA_BUILDNAME "mingw")
|
||||
ELSEIF(MSVC12)
|
||||
SET(COLLADA_BUILDNAME "vc12")
|
||||
ELSEIF(MSVC11)
|
||||
SET(COLLADA_BUILDNAME "vc11")
|
||||
ELSEIF(MSVC10)
|
||||
SET(COLLADA_BUILDNAME "vc10")
|
||||
ELSEIF(MSVC90)
|
||||
@@ -238,7 +242,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
|
||||
)
|
||||
|
||||
FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY
|
||||
NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-vc90-mt libboost_filesystem-vc100-mt
|
||||
NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BUILDNAME}0-mt libboost_filesystem-${COLLADA_BUILDNAME}0-mt-1_54
|
||||
PATHS
|
||||
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
|
||||
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
|
||||
@@ -246,7 +250,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
|
||||
)
|
||||
|
||||
FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY_DEBUG
|
||||
NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-vc90-mt-gd libboost_filesystem-vc100-mt-gd
|
||||
NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-${COLLADA_BUILDNAME}0-mt-gd libboost_filesystem-${COLLADA_BUILDNAME}0-mt-gd-1_54
|
||||
PATHS
|
||||
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
|
||||
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
|
||||
@@ -254,7 +258,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
|
||||
)
|
||||
|
||||
FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY
|
||||
NAMES libboost_system boost_system boost_system-mt libboost_system-vc90-mt libboost_system-vc100-mt
|
||||
NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BUILDNAME}0-mt libboost_system-${COLLADA_BUILDNAME}0-mt-1_54
|
||||
PATHS
|
||||
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
|
||||
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
|
||||
@@ -262,7 +266,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
|
||||
)
|
||||
|
||||
FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY_DEBUG
|
||||
NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-vc90-mt-gd libboost_system-vc100-mt-gd
|
||||
NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-${COLLADA_BUILDNAME}0-mt-gd libboost_system-${COLLADA_BUILDNAME}0-mt-gd-1_54
|
||||
PATHS
|
||||
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
|
||||
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
|
||||
|
||||
@@ -15,6 +15,7 @@ FIND_PATH(NVTT_INCLUDE_DIR nvtt/nvtt.h
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
# NVTT
|
||||
FIND_LIBRARY(NVTT_LIBRARY
|
||||
NAMES nvtt
|
||||
PATHS
|
||||
@@ -25,6 +26,17 @@ FIND_LIBRARY(NVTT_LIBRARY
|
||||
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
|
||||
)
|
||||
|
||||
FIND_LIBRARY(NVTT_LIBRARY_DEBUG
|
||||
NAMES nvtt_d
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
$ENV{NVTT_DIR}
|
||||
${3rdPartyRoot}
|
||||
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
|
||||
)
|
||||
|
||||
# NVIMAGE
|
||||
FIND_LIBRARY(NVIMAGE_LIBRARY
|
||||
NAMES nvimage
|
||||
PATHS
|
||||
@@ -35,6 +47,17 @@ FIND_LIBRARY(NVIMAGE_LIBRARY
|
||||
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
|
||||
)
|
||||
|
||||
FIND_LIBRARY(NVIMAGE_LIBRARY_DEBUG
|
||||
NAMES nvimage_d
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
$ENV{NVTT_DIR}
|
||||
${3rdPartyRoot}
|
||||
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
|
||||
)
|
||||
|
||||
# NVMATH
|
||||
FIND_LIBRARY(NVMATH_LIBRARY
|
||||
NAMES nvmath
|
||||
PATHS
|
||||
@@ -45,6 +68,17 @@ FIND_LIBRARY(NVMATH_LIBRARY
|
||||
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
|
||||
)
|
||||
|
||||
FIND_LIBRARY(NVMATH_LIBRARY_DEBUG
|
||||
NAMES nvmath_d
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
$ENV{NVTT_DIR}
|
||||
${3rdPartyRoot}
|
||||
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
|
||||
)
|
||||
|
||||
# NVCORE
|
||||
FIND_LIBRARY(NVCORE_LIBRARY
|
||||
NAMES nvcore
|
||||
PATHS
|
||||
@@ -54,6 +88,18 @@ FIND_LIBRARY(NVCORE_LIBRARY
|
||||
${3rdPartyRoot}
|
||||
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
|
||||
)
|
||||
FIND_LIBRARY(NVCORE_LIBRARY_DEBUG
|
||||
NAMES nvcore_d
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
$ENV{NVTT_DIR}
|
||||
${3rdPartyRoot}
|
||||
PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
SET(NVTT_FOUND "NO")
|
||||
IF(NVTT_LIBRARY AND NVTT_INCLUDE_DIR)
|
||||
|
||||
78
README.txt
78
README.txt
@@ -1,18 +1,14 @@
|
||||
Welcome to the OpenSceneGraph (OSG).
|
||||
|
||||
For up-to-date information on the project, in-depth details on how to
|
||||
compile and run libraries and examples, see the documentation on the
|
||||
For up-to-date information on the project, in-depth details on how to
|
||||
compile and run libraries and examples, see the documentation on the
|
||||
OpenSceneGraph website:
|
||||
|
||||
http://www.openscenegraph.org
|
||||
|
||||
For support subscribe to our public mailing list:
|
||||
http://www.openscenegraph.org/index.php/documentation
|
||||
|
||||
http://www.openscenegraph.org/projects/osg/wiki/MailingLists
|
||||
For support subscribe to our public mailing list or forum, details at:
|
||||
|
||||
or forum:
|
||||
|
||||
http://forum.openscenegraph.org/
|
||||
http://www.openscenegraph.org/index.php/support
|
||||
|
||||
For the impatient, we've included quick build instructions below, these
|
||||
are are broken down is three parts:
|
||||
@@ -27,41 +23,41 @@ more indepth instructions.
|
||||
|
||||
Robert Osfield.
|
||||
Project Lead.
|
||||
26th April 2013.
|
||||
24th July 2013.
|
||||
|
||||
--
|
||||
|
||||
Section 1. How to build the OpenSceneGraph
|
||||
==========================================
|
||||
|
||||
The OpenSceneGraph uses the CMake build system to generate a
|
||||
platform-specific build environment. CMake reads the CMakeLists.txt
|
||||
files that you'll find throughout the OpenSceneGraph directories,
|
||||
checks for installed dependenciesand then generates the appropriate
|
||||
The OpenSceneGraph uses the CMake build system to generate a
|
||||
platform-specific build environment. CMake reads the CMakeLists.txt
|
||||
files that you'll find throughout the OpenSceneGraph directories,
|
||||
checks for installed dependenciesand then generates the appropriate
|
||||
build system.
|
||||
|
||||
If you don't already have CMake installed on your system you can grab
|
||||
it from http://www.cmake.org, use version 2.4.6 or later. Details on the
|
||||
If you don't already have CMake installed on your system you can grab
|
||||
it from http://www.cmake.org, use version 2.4.6 or later. Details on the
|
||||
OpenSceneGraph's CMake build can be found at:
|
||||
|
||||
http://www.openscenegraph.org/projects/osg/wiki/Build/CMake
|
||||
|
||||
Under unices (i.e. Linux, IRIX, Solaris, Free-BSD, HP-Ux, AIX, OSX)
|
||||
use the cmake or ccmake command-line utils, or use the included tiny
|
||||
configure script that'll run cmake for you. The configure script
|
||||
simply runs 'cmake . -DCMAKE_BUILD_TYPE=Release' to ensure that you
|
||||
Under unices (i.e. Linux, IRIX, Solaris, Free-BSD, HP-Ux, AIX, OSX)
|
||||
use the cmake or ccmake command-line utils, or use the included tiny
|
||||
configure script that'll run cmake for you. The configure script
|
||||
simply runs 'cmake . -DCMAKE_BUILD_TYPE=Release' to ensure that you
|
||||
get the best performance from your final libraries/applications.
|
||||
|
||||
|
||||
cd OpenSceneGraph
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
|
||||
Alternatively, you can create an out-of-source build directory and run
|
||||
cmake or ccmake from there. The advantage to this approach is that the
|
||||
temporary files created by CMake won't clutter the OpenSceneGraph
|
||||
source directory, and also makes it possible to have multiple
|
||||
independent build targets by creating multiple build directories. In a
|
||||
|
||||
Alternatively, you can create an out-of-source build directory and run
|
||||
cmake or ccmake from there. The advantage to this approach is that the
|
||||
temporary files created by CMake won't clutter the OpenSceneGraph
|
||||
source directory, and also makes it possible to have multiple
|
||||
independent build targets by creating multiple build directories. In a
|
||||
directory alongside the OpenSceneGraph use:
|
||||
|
||||
mkdir build
|
||||
@@ -70,22 +66,22 @@ directory alongside the OpenSceneGraph use:
|
||||
make
|
||||
sudo make install
|
||||
|
||||
Under Windows use the GUI tool CMakeSetup to build your VisualStudio
|
||||
files. The following page on our wiki dedicated to the CMake build
|
||||
Under Windows use the GUI tool CMakeSetup to build your VisualStudio
|
||||
files. The following page on our wiki dedicated to the CMake build
|
||||
system should help guide you through the process:
|
||||
|
||||
http://www.openscenegraph.org/projects/osg/wiki/Support/PlatformSpecifics/VisualStudio
|
||||
http://www.openscenegraph.org/index.php/documentation/platform-specifics/windows
|
||||
|
||||
Under OSX you can either use the CMake build system above, or use the
|
||||
Xcode projects that you will find in the OpenSceneGraph/Xcode
|
||||
Under OSX you can either use the CMake build system above, or use the
|
||||
Xcode projects that you will find in the OpenSceneGraph/Xcode
|
||||
directory. See release notes on OSX CMake build below.
|
||||
|
||||
For further details on compilation, installation and platform-specific
|
||||
For further details on compilation, installation and platform-specific
|
||||
information read "Getting Started" guide:
|
||||
|
||||
http://www.openscenegraph.org/projects/osg/wiki/Support/GettingStarted
|
||||
|
||||
|
||||
http://www.openscenegraph.org/index.php/documentation/10-getting-started
|
||||
|
||||
|
||||
Section 2. Release notes on OSX build, by Eric Sokolowsky, August 5, 2008
|
||||
=========================================================================
|
||||
|
||||
@@ -169,11 +165,11 @@ Section 3. Release notes on iOS build, by Thomas Hoghart
|
||||
* Check that CMAKE_OSX_ARCHITECTURE is i386 for the simulator or armv6;armv7 for the device
|
||||
* Disable DYNAMIC_OPENSCENEGRAPH, DYNAMIC_OPENTHREADS
|
||||
This will give us the static build we need for iPhone.
|
||||
* Disable OSG_GL1_AVAILABLE, OSG_GL2_AVAILABLE, OSG_GL3_AVAILABLE,
|
||||
* Disable OSG_GL1_AVAILABLE, OSG_GL2_AVAILABLE, OSG_GL3_AVAILABLE,
|
||||
OSG_GL_DISPLAYLISTS_AVAILABLE, OSG_GL_VERTEX_FUNCS_AVAILABLE
|
||||
* Enable OSG_GLES1_AVAILABLE *OR* OSG_GLES2_AVAILABLE
|
||||
* Ensure OSG_WINDOWING_SYSTEM is set to IOS
|
||||
* Change FREETYPE include and library paths to an iPhone version
|
||||
* Change FREETYPE include and library paths to an iPhone version
|
||||
(OpenFrameworks has one bundled with its distribution)
|
||||
* Ensure that CMake_OSX_SYSROOT points to your iOS SDK.
|
||||
* Generate the Xcode project
|
||||
@@ -206,9 +202,9 @@ $ cmake -G Xcode \
|
||||
|
||||
|
||||
Known issues:
|
||||
* When Linking final app against ive plugin, you need to add -lz to
|
||||
* When Linking final app against ive plugin, you need to add -lz to
|
||||
the 'Other linker flags' list.
|
||||
* Apps and exes don't get created
|
||||
* You can only select Simulator, or Device projects. In the XCode
|
||||
project you will see both types but the sdk they link will
|
||||
* You can only select Simulator, or Device projects. In the XCode
|
||||
project you will see both types but the sdk they link will
|
||||
be the same.
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
|
||||
extern "C" {
|
||||
|
||||
#define OPENTHREADS_MAJOR_VERSION 2
|
||||
#define OPENTHREADS_MINOR_VERSION 6
|
||||
#define OPENTHREADS_MAJOR_VERSION 3
|
||||
#define OPENTHREADS_MINOR_VERSION 2
|
||||
#define OPENTHREADS_PATCH_VERSION 0
|
||||
#define OPENTHREADS_SOVERSION 12
|
||||
#define OPENTHREADS_SOVERSION 13
|
||||
|
||||
/** OpenThreadsGetVersion() returns the library version number.
|
||||
* Numbering convention : OpenThreads-1.0 will return 1.0 from OpenThreadsGetVersion. */
|
||||
|
||||
@@ -400,7 +400,7 @@ namespace osg
|
||||
FrameBufferObject();
|
||||
FrameBufferObject(const FrameBufferObject& copy, const CopyOp& copyop = CopyOp::SHALLOW_COPY);
|
||||
|
||||
META_StateAttribute(osg, FrameBufferObject, (StateAttribute::Type)0x101010/*FrameBufferObject*/);
|
||||
META_StateAttribute(osg, FrameBufferObject, FRAME_BUFFER_OBJECT);
|
||||
|
||||
inline const AttachmentMap& getAttachmentMap() const;
|
||||
|
||||
|
||||
@@ -530,6 +530,8 @@ class OSG_EXPORT GL2Extensions : public osg::Referenced
|
||||
void setShaderAtomicCounterSupported(bool flag) { _isShaderAtomicCountersSupported = flag; }
|
||||
bool isShaderAtomicCounterSupported() const {return _isShaderAtomicCountersSupported; }
|
||||
|
||||
bool isDrawBuffersSupported() const { return _glDrawBuffers!=0; }
|
||||
|
||||
/** Function to call to get the extension of a specified context.
|
||||
* If the Exentsion object for that context has not yet been created then
|
||||
* and the 'createIfNotInitalized' flag been set to false then returns NULL.
|
||||
|
||||
@@ -192,8 +192,10 @@ class OSG_EXPORT StateAttribute : public Object
|
||||
TRANSFORMFEEDBACKBUFFERBINDING,
|
||||
|
||||
ATOMICCOUNTERBUFFERBINDING,
|
||||
|
||||
PATCH_PARAMETER
|
||||
|
||||
PATCH_PARAMETER,
|
||||
|
||||
FRAME_BUFFER_OBJECT
|
||||
};
|
||||
|
||||
/** Simple pairing between an attribute type and the member within that attribute type group.*/
|
||||
|
||||
@@ -21,7 +21,7 @@ extern "C" {
|
||||
#define OPENSCENEGRAPH_MAJOR_VERSION 3
|
||||
#define OPENSCENEGRAPH_MINOR_VERSION 2
|
||||
#define OPENSCENEGRAPH_PATCH_VERSION 0
|
||||
#define OPENSCENEGRAPH_SOVERSION 99
|
||||
#define OPENSCENEGRAPH_SOVERSION 100
|
||||
|
||||
/* Convenience macro that can be used to decide whether a feature is present or not i.e.
|
||||
* #if OSG_MIN_VERSION_REQUIRED(2,9,5)
|
||||
|
||||
@@ -314,6 +314,11 @@ class OSGWIDGET_EXPORT EventInterface
|
||||
return _eventMask;
|
||||
}
|
||||
|
||||
typedef std::list<osg::ref_ptr<Callback> > CallbackList;
|
||||
|
||||
inline CallbackList& getCallbacks() { return _callbacks; }
|
||||
inline const CallbackList& getCallbacks() const { return _callbacks; }
|
||||
|
||||
void addCallback(Callback* cb) {
|
||||
_callbacks.push_back(cb);
|
||||
}
|
||||
@@ -400,7 +405,6 @@ class OSGWIDGET_EXPORT EventInterface
|
||||
bool canKeyUp () const { return (_eventMask & EVENT_KEY_UP) != 0; }
|
||||
|
||||
private:
|
||||
typedef std::list<osg::ref_ptr<Callback> > CallbackList;
|
||||
|
||||
unsigned int _eventMask;
|
||||
CallbackList _callbacks;
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
# what to do with it.
|
||||
ADD_DEFINITIONS(-DOPENTHREADS_EXPORTS)
|
||||
|
||||
SET(OPENTHREADS_MAJOR_VERSION 2)
|
||||
SET(OPENTHREADS_MINOR_VERSION 6)
|
||||
SET(OPENTHREADS_MAJOR_VERSION 3)
|
||||
SET(OPENTHREADS_MINOR_VERSION 2)
|
||||
SET(OPENTHREADS_PATCH_VERSION 0)
|
||||
SET(OPENTHREADS_SOVERSION 12)
|
||||
SET(OPENTHREADS_SOVERSION 13)
|
||||
|
||||
SET(OPENTHREADS_VERSION ${OPENTHREADS_MAJOR_VERSION}.${OPENTHREADS_MINOR_VERSION}.${OPENTHREADS_PATCH_VERSION})
|
||||
|
||||
@@ -55,10 +55,10 @@ SET(OpenThreads_PUBLIC_HEADERS
|
||||
${HEADER_PATH}/Block
|
||||
${HEADER_PATH}/Condition
|
||||
${HEADER_PATH}/Exports
|
||||
${HEADER_PATH}/Mutex
|
||||
${HEADER_PATH}/ReadWriteMutex
|
||||
${HEADER_PATH}/ReentrantMutex
|
||||
${HEADER_PATH}/ScopedLock
|
||||
${HEADER_PATH}/Mutex
|
||||
${HEADER_PATH}/ReadWriteMutex
|
||||
${HEADER_PATH}/ReentrantMutex
|
||||
${HEADER_PATH}/ScopedLock
|
||||
${HEADER_PATH}/Thread
|
||||
${HEADER_PATH}/Version
|
||||
${OPENTHREADS_CONFIG_HEADER}
|
||||
@@ -96,7 +96,7 @@ ELSEIF(WIN32)
|
||||
SUBDIRS(pthreads)
|
||||
ELSE()
|
||||
# Everybody else including Msys should probably go here
|
||||
SUBDIRS(win32)
|
||||
SUBDIRS(win32)
|
||||
# examples)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
|
||||
@@ -96,7 +96,7 @@ void DisplaySettings::setDisplaySettings(const DisplaySettings& vs)
|
||||
_glContextFlags = vs._glContextFlags;
|
||||
_glContextProfileMask = vs._glContextProfileMask;
|
||||
_swapMethod = vs._swapMethod;
|
||||
|
||||
|
||||
_keystoneHint = vs._keystoneHint;
|
||||
_keystoneFileNames = vs._keystoneFileNames;
|
||||
_keystones = vs._keystones;
|
||||
@@ -137,7 +137,7 @@ void DisplaySettings::merge(const DisplaySettings& vs)
|
||||
_swapMethod = vs._swapMethod;
|
||||
|
||||
_keystoneHint = _keystoneHint | vs._keystoneHint;
|
||||
|
||||
|
||||
// insert any unique filenames into the local list
|
||||
for(FileNames::const_iterator itr = vs._keystoneFileNames.begin();
|
||||
itr != vs._keystoneFileNames.end();
|
||||
@@ -146,7 +146,7 @@ void DisplaySettings::merge(const DisplaySettings& vs)
|
||||
const std::string& filename = *itr;
|
||||
FileNames::iterator found_itr = std::find(_keystoneFileNames.begin(), _keystoneFileNames.end(), filename);
|
||||
if (found_itr == _keystoneFileNames.end()) _keystoneFileNames.push_back(filename);
|
||||
}
|
||||
}
|
||||
|
||||
// insert unique Keystone object into local list
|
||||
for(Objects::const_iterator itr = vs._keystones.begin();
|
||||
@@ -156,7 +156,7 @@ void DisplaySettings::merge(const DisplaySettings& vs)
|
||||
const osg::Object* object = itr->get();
|
||||
Objects::iterator found_itr = std::find(_keystones.begin(), _keystones.end(), object);
|
||||
if (found_itr == _keystones.end()) _keystones.push_back(const_cast<osg::Object*>(object));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DisplaySettings::setDefaults()
|
||||
@@ -197,7 +197,7 @@ void DisplaySettings::setDefaults()
|
||||
#endif
|
||||
|
||||
_compileContextsHint = false;
|
||||
_serializeDrawDispatch = true;
|
||||
_serializeDrawDispatch = false;
|
||||
_useSceneViewForStereoHint = true;
|
||||
|
||||
_numDatabaseThreadsHint = 2;
|
||||
@@ -633,7 +633,7 @@ void DisplaySettings::readEnvironmentalVariables()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ((ptr = getenv("OSG_KEYSTONE_FILES")) != 0)
|
||||
{
|
||||
#if defined(WIN32) && !defined(__CYGWIN__)
|
||||
@@ -641,7 +641,7 @@ void DisplaySettings::readEnvironmentalVariables()
|
||||
#else
|
||||
char delimitor = ':';
|
||||
#endif
|
||||
|
||||
|
||||
std::string paths(ptr);
|
||||
if (!paths.empty())
|
||||
{
|
||||
@@ -743,10 +743,10 @@ void DisplaySettings::readCommandLine(ArgumentParser& arguments)
|
||||
if (arguments.read("--keystone",str))
|
||||
{
|
||||
_keystoneHint = true;
|
||||
|
||||
|
||||
if (!_keystoneFileNames.empty()) _keystoneFileNames.clear();
|
||||
_keystoneFileNames.push_back(str);
|
||||
|
||||
|
||||
while(arguments.read("--keystone",str))
|
||||
{
|
||||
_keystoneFileNames.push_back(str);
|
||||
|
||||
@@ -916,10 +916,14 @@ void FrameBufferObject::apply(State &state, BindTarget target) const
|
||||
if (_drawBuffers.size() > 0)
|
||||
{
|
||||
GL2Extensions *gl2e = GL2Extensions::Get(state.getContextID(), true );
|
||||
if (gl2e)
|
||||
if (gl2e && gl2e->isDrawBuffersSupported())
|
||||
{
|
||||
gl2e->glDrawBuffers(_drawBuffers.size(), &(_drawBuffers[0]));
|
||||
}
|
||||
else
|
||||
{
|
||||
OSG_WARN <<"Warning: FrameBufferObject: could not set draw buffers, glDrawBuffers is not supported!" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
if (dirtyAttachmentList)
|
||||
@@ -939,7 +943,7 @@ void FrameBufferObject::apply(State &state, BindTarget target) const
|
||||
{
|
||||
OSG_WARN <<
|
||||
"Warning: FrameBufferObject: could not attach PACKED_DEPTH_STENCIL_BUFFER, "
|
||||
"EXT_packed_depth_stencil is not supported !" << std::endl;
|
||||
"EXT_packed_depth_stencil is not supported!" << std::endl;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -161,12 +161,14 @@ void Geometry::setTexCoordArray(unsigned int index,Array* array, osg::Array::Bin
|
||||
if (_texCoordList.size()<=index)
|
||||
_texCoordList.resize(index+1);
|
||||
|
||||
if (array && binding!=osg::Array::BIND_UNDEFINED) array->setBinding(binding);
|
||||
if (array)
|
||||
{
|
||||
if (binding!=osg::Array::BIND_UNDEFINED) array->setBinding(binding);
|
||||
else array->setBinding(osg::Array::BIND_PER_VERTEX);
|
||||
}
|
||||
|
||||
_texCoordList[index] = array;
|
||||
|
||||
// do we set to array BIND_PER_VERTEX?
|
||||
|
||||
dirtyDisplayList();
|
||||
|
||||
if (_useVertexBufferObjects && array)
|
||||
|
||||
@@ -475,7 +475,11 @@ bool Node::containsOccluderNodes() const
|
||||
|
||||
void Node::setDescriptions(const DescriptionList& descriptions)
|
||||
{
|
||||
getOrCreateUserDataContainer()->setDescriptions(descriptions);
|
||||
// only assign a description list (and associated UseDataContainer) if we need to.
|
||||
if (!descriptions.empty() || getUserDataContainer())
|
||||
{
|
||||
getOrCreateUserDataContainer()->setDescriptions(descriptions);
|
||||
}
|
||||
}
|
||||
|
||||
Node::DescriptionList& Node::getDescriptions()
|
||||
|
||||
@@ -515,8 +515,8 @@ const Program::UniformBlockMap& Program::getUniformBlocks(unsigned contextID) co
|
||||
|
||||
Program::PerContextProgram::PerContextProgram(const Program* program, unsigned int contextID, GLuint programHandle ) :
|
||||
osg::Referenced(),
|
||||
_loadedBinary(false),
|
||||
_glProgramHandle(programHandle),
|
||||
_loadedBinary(false),
|
||||
_contextID( contextID ),
|
||||
_ownsProgramHandle(false)
|
||||
{
|
||||
|
||||
@@ -582,7 +582,7 @@ bool daeWriter::processGeometry( osg::Geometry *geom, domGeometry *geo, const st
|
||||
{
|
||||
sName = name + "-positions";
|
||||
unsigned int elementSize = verts.getDAESize();
|
||||
unsigned int numElements = verts.valArray->getNumElements();
|
||||
unsigned int numElements = verts.valArray ? verts.valArray->getNumElements() : 0;
|
||||
pos = createSource( mesh, sName, elementSize );
|
||||
pos->getFloat_array()->setCount( numElements * elementSize );
|
||||
pos->getTechnique_common()->getAccessor()->setCount( numElements );
|
||||
@@ -608,7 +608,7 @@ bool daeWriter::processGeometry( osg::Geometry *geom, domGeometry *geo, const st
|
||||
{
|
||||
sName = name + "-normals";
|
||||
unsigned int elementSize = normals.getDAESize();
|
||||
unsigned int numElements = normals.valArray->getNumElements();
|
||||
unsigned int numElements = normals.valArray ? normals.valArray->getNumElements() : 0;
|
||||
norm = createSource( mesh, sName, elementSize );
|
||||
norm->getFloat_array()->setCount( numElements * elementSize );
|
||||
norm->getTechnique_common()->getAccessor()->setCount( numElements );
|
||||
@@ -631,7 +631,7 @@ bool daeWriter::processGeometry( osg::Geometry *geom, domGeometry *geo, const st
|
||||
{
|
||||
sName = name + "-colors";
|
||||
unsigned int elementSize = colors.getDAESize();
|
||||
unsigned int numElements = colors.valArray->getNumElements();
|
||||
unsigned int numElements = colors.valArray ? colors.valArray->getNumElements() : 0;
|
||||
color = createSource( mesh, sName, elementSize, true );
|
||||
color->getFloat_array()->setCount( numElements * elementSize );
|
||||
color->getTechnique_common()->getAccessor()->setCount( numElements );
|
||||
@@ -660,7 +660,7 @@ bool daeWriter::processGeometry( osg::Geometry *geom, domGeometry *geo, const st
|
||||
sName = name + "-texcoord_" + intstr.str();
|
||||
|
||||
unsigned int elementSize = texcoords[ti].getDAESize();
|
||||
unsigned int numElements = texcoords[ti].valArray->getNumElements();
|
||||
unsigned int numElements = texcoords[ti].valArray ? texcoords[ti].valArray->getNumElements() : 0;
|
||||
domSource *t = createSource( mesh, sName, elementSize, false, true );
|
||||
t->getFloat_array()->setCount( numElements * elementSize );
|
||||
t->getTechnique_common()->getAccessor()->setCount( numElements );
|
||||
@@ -684,7 +684,7 @@ bool daeWriter::processGeometry( osg::Geometry *geom, domGeometry *geo, const st
|
||||
sName = name + "-vertexAttribute_" + intstr.str();
|
||||
|
||||
unsigned int elementSize = vertexAttributes[ti].getDAESize();
|
||||
unsigned int numElements = vertexAttributes[ti].valArray->getNumElements();
|
||||
unsigned int numElements = vertexAttributes[ti].valArray ? vertexAttributes[ti].valArray->getNumElements() : 0;
|
||||
domSource *t = createSource( mesh, sName, elementSize, false, true ); // Sukender: should we *REALLY* call createSource(... false, true)? (I mean with such flags)
|
||||
t->getFloat_array()->setCount( numElements * elementSize );
|
||||
t->getTechnique_common()->getAccessor()->setCount( numElements );
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
//#include <iostream>
|
||||
|
||||
|
||||
#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
|
||||
#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
namespace osgFFmpeg {
|
||||
|
||||
|
||||
@@ -29,17 +29,17 @@ SET(TARGET_H
|
||||
OscSendingDevice.hpp
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
if(WIN32 AND NOT ANDROID)
|
||||
SET(TARGET_SRC
|
||||
${TARGET_SRC}
|
||||
ip/win32/NetworkingUtils.cpp
|
||||
ip/win32/NetworkingUtils.cpp
|
||||
ip/win32/UdpSocket.cpp
|
||||
)
|
||||
SET(TARGET_EXTERNAL_LIBRARIES "${TARGET_EXTERNAL_LIBRARIES};Ws2_32.lib;winmm")
|
||||
ELSE()
|
||||
SET(TARGET_SRC
|
||||
${TARGET_SRC}
|
||||
ip/posix/NetworkingUtils.cpp
|
||||
ip/posix/NetworkingUtils.cpp
|
||||
ip/posix/UdpSocket.cpp
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
@@ -87,13 +87,12 @@ XBaseParser::XBaseParser(const std::string fileName):
|
||||
if (fileName.empty() == false)
|
||||
{
|
||||
#ifdef WIN32
|
||||
if( (fd = open( fileName.c_str(), O_RDONLY | O_BINARY )) <= 0 )
|
||||
if( (fd = open( fileName.c_str(), O_RDONLY | O_BINARY )) < 0 )
|
||||
#else
|
||||
if( (fd = ::open( fileName.c_str(), O_RDONLY )) <= 0 )
|
||||
if( (fd = ::open( fileName.c_str(), O_RDONLY )) < 0 )
|
||||
#endif
|
||||
{
|
||||
perror( fileName.c_str() );
|
||||
if (fd) close( fd );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -587,6 +587,7 @@ typedef std::map<void*, unsigned int> TouchPointsIdMapping;
|
||||
}
|
||||
}
|
||||
|
||||
[super touchesBegan:touches withEvent:event];
|
||||
}
|
||||
|
||||
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||
@@ -607,9 +608,9 @@ typedef std::map<void*, unsigned int> TouchPointsIdMapping;
|
||||
} else {
|
||||
osg_event->addTouchPoint(touch_id, [self convertTouchPhase: [touch phase]], pixelPos.x(), pixelPos.y());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[super touchesMoved:touches withEvent:event];
|
||||
}
|
||||
|
||||
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
|
||||
@@ -630,8 +631,9 @@ typedef std::map<void*, unsigned int> TouchPointsIdMapping;
|
||||
} else {
|
||||
osg_event->addTouchPoint(touch_id, [self convertTouchPhase: [touch phase]], pixelPos.x(), pixelPos.y(), [touch tapCount]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[super touchesEnded:touches withEvent:event];
|
||||
}
|
||||
|
||||
-(void) touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
|
||||
|
||||
Reference in New Issue
Block a user