Compare commits
120 Commits
OpenSceneG
...
OpenSceneG
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb40a0d1db | ||
|
|
975b62c735 | ||
|
|
dff2faa63b | ||
|
|
500d3947ef | ||
|
|
2b7b051421 | ||
|
|
8a05850048 | ||
|
|
469d743bec | ||
|
|
c1dfc39706 | ||
|
|
aa5e25db8d | ||
|
|
33cb2e6f70 | ||
|
|
11e4a995c4 | ||
|
|
27fc282bb5 | ||
|
|
9d897c2555 | ||
|
|
cbcf7015bb | ||
|
|
4d5c1ff14e | ||
|
|
d01edcb540 | ||
|
|
bfa8d157c1 | ||
|
|
44b3bcc3fc | ||
|
|
89e186014e | ||
|
|
40bde873bc | ||
|
|
12db2f8011 | ||
|
|
e18a03abc3 | ||
|
|
2205506aa3 | ||
|
|
15c6b7a196 | ||
|
|
9171f12069 | ||
|
|
acf359777e | ||
|
|
a9f91a875b | ||
|
|
4665a2f033 | ||
|
|
673292b995 | ||
|
|
b1d64ee476 | ||
|
|
5fb1e9c120 | ||
|
|
801069d4cc | ||
|
|
d3706a24e4 | ||
|
|
0a4a31d17b | ||
|
|
3838267770 | ||
|
|
2c39714dff | ||
|
|
4291636619 | ||
|
|
189e4e3a64 | ||
|
|
a6ef1cd66b | ||
|
|
f2012eeeb8 | ||
|
|
e2aeab2b60 | ||
|
|
dce4b81728 | ||
|
|
e4adb509e0 | ||
|
|
eae5f9b958 | ||
|
|
9c6951e4ba | ||
|
|
dce6684c59 | ||
|
|
43058ac1d5 | ||
|
|
55c0afbe3a | ||
|
|
b34461febe | ||
|
|
e3c47b60e0 | ||
|
|
7602b868f4 | ||
|
|
880a100a60 | ||
|
|
3b563ab21b | ||
|
|
a86c6dc2c6 | ||
|
|
1476f829c4 | ||
|
|
26acc9a6b1 | ||
|
|
510a231e14 | ||
|
|
3bbbbd07ea | ||
|
|
640b03b671 | ||
|
|
7a3e0445ba | ||
|
|
00a946bc2e | ||
|
|
66251abd38 | ||
|
|
312ce9ad05 | ||
|
|
362e355db2 | ||
|
|
cf2e3227cc | ||
|
|
01f69e6b10 | ||
|
|
a211ea4e68 | ||
|
|
fcde92ad89 | ||
|
|
0fc7aa8cc0 | ||
|
|
be363ef8d4 | ||
|
|
b1daa6a693 | ||
|
|
05793cb104 | ||
|
|
a5c421863e | ||
|
|
e79edabf98 | ||
|
|
d95993554e | ||
|
|
f49e1d32c9 | ||
|
|
a15d4532fa | ||
|
|
27955ae8e9 | ||
|
|
c078968f66 | ||
|
|
f90edd0d9f | ||
|
|
62a9f87f45 | ||
|
|
f510613d55 | ||
|
|
645704dfd3 | ||
|
|
13d56b8b37 | ||
|
|
c5990c4f65 | ||
|
|
94c4baccad | ||
|
|
bb1e208d30 | ||
|
|
fce55993bc | ||
|
|
31c9dbc881 | ||
|
|
c9b0fcaa32 | ||
|
|
37a63d37e2 | ||
|
|
1daacced5a | ||
|
|
cea33e40df | ||
|
|
2b3ac015bb | ||
|
|
1aa0a80de7 | ||
|
|
4dd1156444 | ||
|
|
c10f298dc6 | ||
|
|
e8c0033f5f | ||
|
|
31c29f4318 | ||
|
|
e0be94389e | ||
|
|
d660b29ef0 | ||
|
|
490d3a8f21 | ||
|
|
02c310982e | ||
|
|
c3008512f1 | ||
|
|
22d2fae30c | ||
|
|
dac9ed17f1 | ||
|
|
709194c88c | ||
|
|
8de8af6850 | ||
|
|
7bda8083fb | ||
|
|
a082b57c3f | ||
|
|
547340659f | ||
|
|
29d12ddcbc | ||
|
|
f95fdd4d4e | ||
|
|
bf6db4eee7 | ||
|
|
fe39589771 | ||
|
|
d88f0c4cd1 | ||
|
|
a2a026e116 | ||
|
|
38ad6ed3b3 | ||
|
|
9d72bf4712 | ||
|
|
15429198b8 |
@@ -1,4 +1,4 @@
|
||||
OpenSceneGraph Library 3.6.0
|
||||
OpenSceneGraph Library 3.6.2
|
||||
|
||||
568 Contributors:
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
#
|
||||
SET(OPENSCENEGRAPH_MAJOR_VERSION 3)
|
||||
SET(OPENSCENEGRAPH_MINOR_VERSION 6)
|
||||
SET(OPENSCENEGRAPH_PATCH_VERSION 0)
|
||||
SET(OPENSCENEGRAPH_SOVERSION 156)
|
||||
SET(OPENSCENEGRAPH_PATCH_VERSION 2)
|
||||
SET(OPENSCENEGRAPH_SOVERSION 157)
|
||||
|
||||
|
||||
# set to 0 when not a release candidate, non zero means that any generated
|
||||
@@ -26,25 +26,10 @@ if(COMMAND cmake_policy)
|
||||
|
||||
# tell CMake to prefer CMake's own CMake modules when available
|
||||
# only available from cmake-2.8.4
|
||||
if(${CMAKE_MAJOR_VERSION} GREATER 2 OR
|
||||
(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 8) OR
|
||||
(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 8 AND ${CMAKE_PATCH_VERSION} GREATER 3))
|
||||
if("${CMAKE_VERSION}" VERSION_GREATER 2.8.3)
|
||||
cmake_policy(SET CMP0017 NEW)
|
||||
endif()
|
||||
|
||||
# cmake-2.6.1 introduces policy cmp0008 decide how to treat full path libraries that do not appear to be valid library file names
|
||||
# quote from cvslog "Such libraries worked by accident in the VS IDE and Xcode generators in CMake 2.4 and below."
|
||||
if(${CMAKE_MAJOR_VERSION} GREATER 2 OR
|
||||
(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 6) OR
|
||||
(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 6 AND ${CMAKE_PATCH_VERSION} GREATER 0))
|
||||
cmake_policy(SET CMP0008 OLD)
|
||||
endif()
|
||||
|
||||
# nicer version check - but needs at least CMake 2.6.2? Worth upgrading the requirements?
|
||||
#if("${CMAKE_VERSION}" VERSION_GREATER 2.8.10)
|
||||
# or even easier (available in cmake-2.6)
|
||||
#if(POLICY CMPxyzw)
|
||||
|
||||
endif()
|
||||
|
||||
IF(APPLE)
|
||||
@@ -330,13 +315,14 @@ IF(UNIX AND NOT ANDROID)
|
||||
|
||||
ENDIF()
|
||||
|
||||
INCLUDE_DIRECTORIES(${OpenSceneGraph_SOURCE_DIR}/include/)
|
||||
|
||||
# Make the headers visible to everything
|
||||
IF(NOT ${PROJECT_BINARY_DIR} EQUAL ${PROJECT_SOURCE_DIR})
|
||||
INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}/include)
|
||||
ENDIF()
|
||||
|
||||
INCLUDE_DIRECTORIES(${OpenSceneGraph_SOURCE_DIR}/include/)
|
||||
|
||||
INCLUDE_DIRECTORIES(SYSTEM ${OPENGL_INCLUDE_DIR})
|
||||
|
||||
# Common global definitions
|
||||
@@ -556,9 +542,13 @@ ELSE()
|
||||
OPTION(OSG_CPP_EXCEPTIONS_AVAILABLE "Set to OFF to disable compile of OSG components that use C++ exceptions." ON)
|
||||
ENDIF()
|
||||
|
||||
SET(OSG_GL_CONTEXT_VERSION "1.0" CACHE STRING "GL Context String to pass when creaing graphics contexts")
|
||||
|
||||
# Map the OSG_GL*_AVAILABLE settings to OpenGL header settings
|
||||
IF (OSG_GL3_AVAILABLE)
|
||||
|
||||
SET(OSG_GL_CONTEXT_VERSION "3.3")
|
||||
|
||||
IF (APPLE)
|
||||
SET(OPENGL_HEADER1 "#include <OpenGL/gl.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||
SET(OPENGL_HEADER2 "#include <OpenGL/gl3.h>" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||
@@ -571,7 +561,7 @@ IF (OSG_GL3_AVAILABLE)
|
||||
SET(OPENGL_HEADER1 "#include <GL/glcorearb.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||
SET(OPENGL_HEADER2 "" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||
ELSE()
|
||||
SET(OPENGL_HEADER1 "#include <GL3/gl3.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||
SET(OPENGL_HEADER1 "#include <GL/gl.h>" CACHE STRING "#include<> line for OpenGL Header")
|
||||
SET(OPENGL_HEADER2 "" CACHE STRING "#include<> line for additional OpenGL Headers if required")
|
||||
ENDIF()
|
||||
|
||||
@@ -762,7 +752,6 @@ ELSE()
|
||||
FIND_PACKAGE(COLLADA)
|
||||
FIND_PACKAGE(FBX)
|
||||
FIND_PACKAGE(ZLIB)
|
||||
FIND_PACKAGE(Xine)
|
||||
FIND_PACKAGE(OpenVRML)
|
||||
FIND_PACKAGE(GDAL)
|
||||
FIND_PACKAGE(GTA)
|
||||
|
||||
495
ChangeLog
495
ChangeLog
@@ -1,3 +1,498 @@
|
||||
Fri, 29 Jun 2018 10:56:01 +0100
|
||||
Author : Robert Osfield
|
||||
Updated date for 3.6.2 releases
|
||||
|
||||
Fri, 29 Jun 2018 10:54:13 +0100
|
||||
Author : Robert Osfield
|
||||
Updates for 3.6.2 stable release
|
||||
|
||||
Fri, 29 Jun 2018 10:53:23 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed isPointSpriteModeSupported assignment bug
|
||||
|
||||
Fri, 29 Jun 2018 09:52:47 +0100
|
||||
Author : Robert Osfield
|
||||
Removed the gl3.h usage for GL3 case as these headers were replaced by glcorearb.h, it's probably better to just fallback to gl.h and have the OSG get the extentions at runtime.
|
||||
|
||||
Thu, 28 Jun 2018 07:34:49 +0100
|
||||
Author : Robert Osfield
|
||||
UPdated ChangeLog
|
||||
|
||||
Thu, 28 Jun 2018 07:06:59 +0100
|
||||
Author : Robert Osfield
|
||||
Updated for rc3
|
||||
|
||||
Wed, 27 Jun 2018 21:21:31 -0700
|
||||
Author : Larry-Hu
|
||||
Remove call to nonexistent member seekpos() of std::fpos in VS 2017 version 15.8 or later
|
||||
|
||||
Wed, 27 Jun 2018 20:59:09 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Merge pull request #568 from emminizer/fix-flt-texture-export-gl3OpenFlight: Textures now correctly export in GLCORE mode.
|
||||
|
||||
Wed, 27 Jun 2018 12:57:20 -0400
|
||||
Author : Daniel Emminizer
|
||||
OpenFlight: Textures now correctly export in GLCORE mode.
|
||||
|
||||
Wed, 27 Jun 2018 09:17:00 +0100
|
||||
Author : Robert Osfield
|
||||
Updated for 3.6.2-rc2
|
||||
|
||||
Wed, 27 Jun 2018 09:06:58 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed relaseGLObjects() calls
|
||||
|
||||
Tue, 26 Jun 2018 20:50:55 +0100
|
||||
Author : Robert Osfield
|
||||
Merge branch 'OpenSceneGraph-3.6' of https://github.com/openscenegraph/OpenSceneGraph into OpenSceneGraph-3.6
|
||||
|
||||
Tue, 26 Jun 2018 20:46:49 +0100
|
||||
Author : Robert Osfield
|
||||
Replaced creation of a temporary Settings object on the heap with creation on the stack to improve performance
|
||||
|
||||
Tue, 26 Jun 2018 20:17:07 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Merge pull request #566 from emminizer/fix-gl_rb-in-gluscaleimageGL_RG is now a supported format in gluScaleImage().
|
||||
|
||||
Tue, 26 Jun 2018 20:10:51 +0100
|
||||
Author : Robert Osfield
|
||||
Added GLExtensions::isPointSpriteModeSupported to allow it to be enable for GL versions that support GL_POINT_SPRITE_ARB/GL_POINT_SPRITE_OES
|
||||
|
||||
Tue, 26 Jun 2018 14:44:34 -0400
|
||||
Author : Daniel Emminizer
|
||||
GL_RG is now a support format in gluScaleImage().
|
||||
|
||||
Mon, 25 Jun 2018 20:02:30 +0100
|
||||
Author : Robert Osfield
|
||||
Moved osg::clampProjectionMatrix() template from CullVisitor.cpp into include/osg/CullSettings to make it easier to implement custom clampProjectionMatrix callbacks
|
||||
|
||||
Wed, 20 Jun 2018 13:59:10 +0100
|
||||
Author : Robert Osfield
|
||||
Updates for 3.6.2-rc1
|
||||
|
||||
Tue, 19 Jun 2018 17:09:56 +0100
|
||||
Author : Calum Robinson
|
||||
Fix z near calculation for lines
|
||||
|
||||
Tue, 19 Jun 2018 11:50:38 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Merge pull request #558 from LaurensVoerman/submit-ffmpeg3.2resolve av sync failure with ffmpeg 3.2 and up
|
||||
|
||||
Tue, 19 Jun 2018 09:21:02 +0200
|
||||
Author : Laurens Voerman
|
||||
resolve av sync failure with ffmpeg 3.2 and up
|
||||
|
||||
Tue, 19 Jun 2018 00:33:03 +0800
|
||||
Author : 弥继平
|
||||
Fixed the position of the viewport for the cameraThe position of viewport doesn't setup properly, some part of viewer is out of CMFC_OSG_MDIView, and not visible.
|
||||
|
||||
Thu, 14 Jun 2018 14:31:28 +0200
|
||||
Author : Laurens Voerman
|
||||
remove include/osgQt from doxyfiles; add osgPresentation and osgUI
|
||||
|
||||
Thu, 14 Jun 2018 14:44:16 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Merge pull request #555 from emminizer/fix-noisy-flt-loadingFLT: Missing optional attr files on textures no longer generates a co…
|
||||
|
||||
Thu, 14 Jun 2018 07:33:08 -0400
|
||||
Author : Daniel Emminizer
|
||||
FLT: Missing optional attr files on textures no longer generates a console warning.
|
||||
|
||||
Thu, 14 Jun 2018 08:54:21 +0100
|
||||
Author : Robert Osfield
|
||||
Changed version to 3.6.2 in prep for next release
|
||||
|
||||
Thu, 14 Jun 2018 08:51:00 +0100
|
||||
Author : Robert Osfield
|
||||
To handle calling Array::setBinding() after Geometry::set*Array() call, to the Geometry::addVertexBufferObjectIfRequired(osg::Array* array) added treatment of array->getBinding()==Array::BIND_UNDEFINED as BIND_PER_VERTEX as a safe fallback.
|
||||
|
||||
Wed, 13 Jun 2018 12:23:29 +0100
|
||||
Author : Robert Osfield
|
||||
Moved Stae::setUseVertexAttributeAliasing(bool) implementation to .cpp an added call to _globalVertexArrayState->assignAllDispatchers(); to ensure state is consistent
|
||||
|
||||
Sun, 3 Jun 2018 10:27:00 +0100
|
||||
Author : Robert Osfield
|
||||
Updated LICENSE to use the WxWidgets-3.1 and updates to the LGPL-2.1-only that updates addresses and tighten up language used.Functionality the OSGPL-1.0 is the same as OSGPL-0.0, All the OpenSceneGraph users can use either OSGPL-0.0 or OSGPL-1.0.
|
||||
|
||||
|
||||
Thu, 31 May 2018 15:11:19 +0100
|
||||
Author : Robert Osfield
|
||||
Removed deprecated xine plugin to simplify licensing (xine plugin is GPL'd)
|
||||
|
||||
Thu, 31 May 2018 14:45:37 +0100
|
||||
Author : Robert Osfield
|
||||
As the author of all the files in osgPresentation and present3D have rectified the license notices to reflect their intended license rather than histoical license they had prior to being merged into the OpenSceneGraph project. OSGPL was always intended but missed during merge. Replaced the GPL notices with OSGPL usge in present3D and include/osgPresentation as this was intended when Present3D was merged back into OpenSceneGraph but missed.
|
||||
|
||||
Mon, 28 May 2018 08:58:21 +0100
|
||||
Author : Robert Osfield
|
||||
Updated for 3.6.1
|
||||
|
||||
Sun, 27 May 2018 14:21:57 +0200
|
||||
Author : Philippe Renon
|
||||
Notify: silence warning about unused argument
|
||||
|
||||
Wed, 23 May 2018 19:54:10 +0100
|
||||
Author : Robert Osfield
|
||||
Updated ChangeLog
|
||||
|
||||
Wed, 23 May 2018 19:53:12 +0100
|
||||
Author : Robert Osfield
|
||||
Updates for 3.6.1-rc7
|
||||
|
||||
Wed, 23 May 2018 17:02:28 +0100
|
||||
Author : Robert Osfield
|
||||
Updated REMOVE_SERIALIZER( ImageAttachment ); block to use 154 version to retain compatibility with binaries made with 153 SOVERSION prior to the Imageattachement change
|
||||
|
||||
Wed, 23 May 2018 14:30:31 +0100
|
||||
Author : Robert Osfield
|
||||
Implemented StateGraph reuse in in scene graph Canera's RenderStage.
|
||||
|
||||
Wed, 23 May 2018 14:13:27 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed warning of RenderLeaf's having multiple references in CullVisitor::createOrReuseRenderLeaf() but forcing a clean up of the StateGraph at the end of RenderStage::draw()
|
||||
|
||||
Wed, 23 May 2018 07:47:15 +0100
|
||||
Author : Robert Osfield
|
||||
Added check to make sure that glEnablei and glDisablei are only called when the capability is non zero to fix GL invalid value error.
|
||||
|
||||
Wed, 23 May 2018 06:32:42 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed type of Timer_t under Windows
|
||||
|
||||
Tue, 22 May 2018 09:04:48 +0100
|
||||
Author : Robert Osfield
|
||||
Updates for rc6
|
||||
|
||||
Mon, 21 May 2018 13:26:04 -0400
|
||||
Author : gwaldron
|
||||
osgText: perform pixel size computation in double-precision to prevent coordinate jitter
|
||||
|
||||
Mon, 21 May 2018 18:14:18 +0100
|
||||
Author : Robert Osfield
|
||||
Moved the rotation to before the scale
|
||||
|
||||
Mon, 21 May 2018 13:18:29 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed typos
|
||||
|
||||
Mon, 21 May 2018 13:10:40 +0100
|
||||
Author : Robert Osfield
|
||||
Restored the REGISTER_WINDOWINGSYSTEMINTERFACE macro to the include/osg/GraphicsContext header and removed the OSGVIEWER_EXPORT as this was causing compatibility issues with osgQt.In GraphicsWindowWin32 replaced REGISTER_WINDOWINGSYSTEMINTERFACE usage with locally implemented equivilant with the required OSGVIEWER_EXPORT.
|
||||
|
||||
|
||||
Sun, 20 May 2018 13:39:44 +0100
|
||||
Author : Robert Osfield
|
||||
Updated ChangeLog and README.md for rc5
|
||||
|
||||
Sun, 20 May 2018 13:22:58 +0100
|
||||
Author : Robert Osfield
|
||||
Restructed SCREEN auto scaling so that it's removes the rotation of the modelview matrix so that the XY coords of the text map directly to window xy coords for all text alignment types
|
||||
|
||||
Fri, 18 May 2018 15:49:28 +0100
|
||||
Author : Robert Osfield
|
||||
Updates in prep for 3.6.1-rc5
|
||||
|
||||
Fri, 18 May 2018 14:58:53 +0100
|
||||
Author : Robert Osfield
|
||||
Moved REGISTER_WINDOWINGSYSTEMINTERFACE from include/osg/GraphicsContext to include/osgViewer/GraphicsWindow and added OSGVIEWER_EXPORT
|
||||
|
||||
Fri, 18 May 2018 13:53:39 +0100
|
||||
Author : Robert Osfield
|
||||
Added GL_RED and GL_RG support to _readColor()/Image::getColor();
|
||||
|
||||
Fri, 18 May 2018 12:52:50 +0100
|
||||
Author : Robert Osfield
|
||||
Cleaned up the WindowingSystemInterface registration
|
||||
|
||||
Fri, 18 May 2018 12:47:34 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed create of graphics context by explicting adding USE_GRAPHICSWINDOW to force the WindowingSystemInterface to initialize
|
||||
|
||||
Fri, 18 May 2018 12:42:20 +0100
|
||||
Author : Robert Osfield
|
||||
Quitened down unsupport compression output when passing in a file with a non rgb extension
|
||||
|
||||
Fri, 18 May 2018 10:00:10 +0100
|
||||
Author : Robert Osfield
|
||||
Introduced a local StateGraph hierarchy into CullVisitor::apply(osg::Camera&) and RenderBin to fixed RTT Camera bug where multiple RTT Camera end up with the rendering back end results assigned to them which occured when RTT Camera's share the same StateSet or null StateSet.
|
||||
|
||||
Mon, 14 May 2018 09:34:04 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed support for update and event callbacks on StateSet/Uniform/StateAttributes on View(er) Cameras.
|
||||
|
||||
Mon, 14 May 2018 08:43:08 +0100
|
||||
Author : Robert Osfield
|
||||
Renamed the counter used to enable traversal order sorting
|
||||
|
||||
Mon, 14 May 2018 08:24:02 +0100
|
||||
Author : Robert Osfield
|
||||
Improved the handling of precision
|
||||
|
||||
Sun, 13 May 2018 11:52:06 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed crash when using ShapeDrawable with a TriangleMesh or ConvexHull shape due to missing texture coords
|
||||
|
||||
Sun, 13 May 2018 09:23:38 +0100
|
||||
Author : Robert Osfield
|
||||
Updated for rc
|
||||
|
||||
Sun, 13 May 2018 09:18:31 +0100
|
||||
Author : Robert Osfield
|
||||
Removed _traverseNumber variable that was duplicating the one in NodeVisitor base class
|
||||
|
||||
Sat, 12 May 2018 12:47:08 +0100
|
||||
Author : Robert Osfield
|
||||
Updates for 3.6.1-rc4
|
||||
|
||||
Sat, 12 May 2018 12:41:42 +0100
|
||||
Author : Robert Osfield
|
||||
Build fixes for OSG_USE_REF_PTR_IMPLICIT_OUTPUT set to OFF
|
||||
|
||||
Sat, 12 May 2018 11:40:25 +0100
|
||||
Author : Robert Osfield
|
||||
Rewrote TextBase::computeMatrix(..) computation of the scaling factor with slower but easier to understand and more robust code
|
||||
|
||||
Sat, 12 May 2018 07:51:51 +0100
|
||||
Author : Robert Osfield
|
||||
Removed use of deprecated cmake policy
|
||||
|
||||
Fri, 11 May 2018 11:15:45 +0100
|
||||
Author : Robert Osfield
|
||||
Moved constructors and destructors to .cpp
|
||||
|
||||
Fri, 11 May 2018 11:11:48 +0100
|
||||
Author : Robert Osfield
|
||||
Revert "Moved the Options constructors and destructor implementaions into the cpp to make it easier to do debugging"This reverts commit 0fc7aa8cc096e59b9366df60c1fdbd0803ac4481.
|
||||
|
||||
|
||||
Fri, 11 May 2018 09:00:22 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed crash the occurred when passing in a osgDB::Options to the ObjectCache that doesn't have any references to it.
|
||||
|
||||
Fri, 11 May 2018 08:58:30 +0100
|
||||
Author : Robert Osfield
|
||||
Moved the Options constructors and destructor implementaions into the cpp to make it easier to do debugging
|
||||
|
||||
Thu, 10 May 2018 18:58:29 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed build when OSG_ENVVAR_SUPPORTED is disabled and quietened down warnings using OSG_UNUSED* macros
|
||||
|
||||
Thu, 10 May 2018 18:50:17 +0100
|
||||
Author : Robert Osfield
|
||||
Changed the ordering of the build include directory and the source include directory to avoid build issues on systems where a different version of the OSG has been built in-source then another built out-of-source resulting in conflicts
|
||||
|
||||
Thu, 10 May 2018 16:59:56 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed typo
|
||||
|
||||
Sun, 6 May 2018 07:47:23 +0100
|
||||
Author : Robert Osfield
|
||||
Updates for 3.6.1-rc3
|
||||
|
||||
Sat, 5 May 2018 15:47:28 +0100
|
||||
Author : Robert Osfield
|
||||
Restructed the handling of SCREEN_COORD scaling to better handle window resizing
|
||||
|
||||
Sat, 5 May 2018 12:31:00 +0100
|
||||
Author : Robert Osfield
|
||||
Added C++ specific path for calling std::map<>::erase() to avoid issues with std::map<>::erase implementation that invalidates iterators
|
||||
|
||||
Sat, 5 May 2018 12:28:45 +0100
|
||||
Author : Robert Osfield
|
||||
Replaced std::auto_ptr<> usage as it's deprecated in C++11 and will be removed in C++17
|
||||
|
||||
Fri, 4 May 2018 16:11:31 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Merge pull request #545 from emminizer/fix-gl3-text-bad-modeText only applies GL_TEXTURE_2D modes when fixed function is availabl…
|
||||
|
||||
Fri, 4 May 2018 06:44:13 -0400
|
||||
Author : Daniel Emminizer
|
||||
Text only applies GL_TEXTURE_2D modes when fixed function is available. Prevents GL3 Core Profile console spam.
|
||||
|
||||
Fri, 4 May 2018 10:54:02 +0100
|
||||
Author : Robert Osfield
|
||||
Added non const version of State::getActiveDisplaySettings()
|
||||
|
||||
Fri, 4 May 2018 09:44:43 +0100
|
||||
Author : Robert Osfield
|
||||
Added check for null to prevent null entries getting into the cache
|
||||
|
||||
Fri, 18 Nov 2016 14:56:05 +0000
|
||||
Author : Robert Osfield
|
||||
Added osg::MakeString class to make it easier to create std::string's using std::ostream style << usage.
|
||||
|
||||
Fri, 4 May 2018 09:22:54 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed null pointer warning
|
||||
|
||||
Thu, 3 May 2018 12:56:08 +0200
|
||||
Author : Björn Blissing
|
||||
Check existence of path before reading imageWhen loading texture images inside the FBX plugin check that the path
|
||||
exists before trying to read the image. This is done to avoid
|
||||
unnecessary warnings inside the readRefImageFile function.
|
||||
|
||||
|
||||
Wed, 2 May 2018 09:14:04 +0100
|
||||
Author : Robert Osfield
|
||||
Updated ChangeLog
|
||||
|
||||
Wed, 2 May 2018 09:10:54 +0100
|
||||
Author : Robert Osfield
|
||||
Updates for the 3.6.1-rc2
|
||||
|
||||
Mon, 30 Apr 2018 11:55:17 +0100
|
||||
Author : Robert Osfield
|
||||
Updated SO version to reflect change in ABI
|
||||
|
||||
Mon, 30 Apr 2018 11:44:02 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Merge pull request #542 from psyinf/fix_particle_system_headerFIX: <osgParticle> removed unimplemented functions from header
|
||||
|
||||
Mon, 30 Apr 2018 11:16:02 +0200
|
||||
Author : Sebastian Messerschmidt
|
||||
FIX: <osgParticle> removed unimplemented functions from header
|
||||
|
||||
Fri, 27 Apr 2018 11:23:07 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed particle update bug where a ParticleSystem wouldn't start when loaded during the frame loop due to the _last_frame value not being set.
|
||||
|
||||
Thu, 26 Apr 2018 10:21:53 +0100
|
||||
Author : Robert Osfield
|
||||
Updated ChangeLog, README.md and rc number for 3.6.1-rc1
|
||||
|
||||
Thu, 26 Apr 2018 09:49:35 +0100
|
||||
Author : Robert Osfield
|
||||
Split up #pragma so that there only three parameters per line to aovid Intel driver bug crash
|
||||
|
||||
Thu, 26 Apr 2018 09:36:52 +0100
|
||||
Author : Robert Osfield
|
||||
Renamed text.vert and text.frag to osgText_Text.vert and .frag to avoid name overlapping with user shaders.
|
||||
|
||||
Wed, 25 Apr 2018 09:48:02 +0100
|
||||
Author : Julien Valentin
|
||||
add wrapper for osg::DrawIndirectBufferObject
|
||||
|
||||
Tue, 24 Apr 2018 17:05:03 +0100
|
||||
Author : Robert Osfield
|
||||
Renamed CMake variable + C++ #define to OSG_GL_CONTEXT_VERSION
|
||||
|
||||
Tue, 24 Apr 2018 16:22:13 +0100
|
||||
Author : Robert Osfield
|
||||
Added OSG_GL_CONTEXT_STRING cmake variable to set include/osg/GL headers that sets Traits::glContextVersion.
|
||||
|
||||
Tue, 24 Apr 2018 15:38:02 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Merge pull request #537 from openscenegraph/revert-536-default-gl3-contextRevert "When GL3 build is enabled, default context requested is version 3.3, …"
|
||||
|
||||
Tue, 24 Apr 2018 15:37:44 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Revert "When GL3 build is enabled, default context requested is version 3.3, …"
|
||||
|
||||
Tue, 24 Apr 2018 15:36:11 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Merge pull request #536 from emminizer/default-gl3-contextWhen GL3 build is enabled, default context requested is version 3.3, …
|
||||
|
||||
Tue, 24 Apr 2018 15:33:03 +0100
|
||||
Author : Robert Osfield
|
||||
Refactored the handling of glyph and shadow alpha values to make the text and shadow clearer for fonts with narrow glyphs
|
||||
|
||||
Tue, 24 Apr 2018 13:52:53 +0100
|
||||
Author : Robert Osfield
|
||||
Refactored the handling of text bounding box to provide more stable bounding box computation
|
||||
|
||||
Tue, 24 Apr 2018 06:31:32 -0400
|
||||
Author : Daniel Emminizer
|
||||
When GL3 build is enabled, default context requested is version 3.3, enabling core profile by default.
|
||||
|
||||
Fri, 20 Apr 2018 21:16:46 +0200
|
||||
Author : Alberto Luaces
|
||||
Small fix for uncaught typo.
|
||||
|
||||
Fri, 20 Apr 2018 18:18:22 +0200
|
||||
Author : Alberto Luaces
|
||||
Fix typos and spelling.
|
||||
|
||||
Mon, 23 Apr 2018 11:02:03 +0100
|
||||
Author : OpenSceneGraph git repository
|
||||
Merge pull request #534 from emminizer/fix-msvc-includesFix includes for MSVC 2015 build.
|
||||
|
||||
Fri, 20 Apr 2018 13:16:43 -0400
|
||||
Author : Daniel Emminizer
|
||||
Fix includes for MSVC 2015 build.
|
||||
|
||||
Fri, 20 Apr 2018 15:58:27 +0100
|
||||
Author : Robert Osfield
|
||||
Updated ChangeLog
|
||||
|
||||
Fri, 20 Apr 2018 14:32:34 +0100
|
||||
Author : Robert Osfield
|
||||
Replaced osgUtil::IntersectVisitor usage with osgUtil::InteresectionVisitor
|
||||
|
||||
Fri, 20 Apr 2018 10:24:17 +0100
|
||||
Author : Robert Osfield
|
||||
Removed TriStripVisitor for default set of Optimizer passes as it doesn't generate efficient scene graphs
|
||||
|
||||
Fri, 20 Apr 2018 09:57:04 +0100
|
||||
Author : Robert Osfield
|
||||
Added osgUtil::optimizeMesh(osg::Node* node) convinience method
|
||||
|
||||
Fri, 20 Apr 2018 11:42:31 +0100
|
||||
Author : Robert Osfield
|
||||
Removed usage of the osgUtil::TriStripVisitor is it generates osg::Geometry that perform very poorly when using VBO and VAO's vs GL DisplayLists. With DisplayLists being deprecated in GL and VBO and VAO becoming standard it's best to standardize on using the osgUtil::MeshOptimizers instead of TripStrupVisitor
|
||||
|
||||
Thu, 19 Apr 2018 19:43:14 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed the set*Binding() methods so that they assign BufferObjects when required
|
||||
|
||||
Thu, 19 Apr 2018 19:42:51 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed messages
|
||||
|
||||
Thu, 19 Apr 2018 19:41:51 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed the GLBufferObject size computation so that it takes into account padding.
|
||||
|
||||
Thu, 19 Apr 2018 19:36:19 +0100
|
||||
Author : Robert Osfield
|
||||
Replaced the use of osgUtil::TriStripVisitor with ogUtil::MeshOptimizer usage to improve performance. Fixed set setColorArray assignement to pass in the color binding
|
||||
|
||||
Wed, 18 Apr 2018 10:02:43 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed the handle of boundary equalization
|
||||
|
||||
Wed, 18 Apr 2018 09:33:12 +0100
|
||||
Author : Robert Osfield
|
||||
Added --equalize-boundaries -e command line option to call terrain->setEqualizeBoundaries(true)
|
||||
|
||||
Mon, 16 Apr 2018 17:53:38 +0100
|
||||
Author : Robert Osfield
|
||||
Updated version number in prep for future 3.6.1 release.
|
||||
|
||||
Mon, 16 Apr 2018 15:08:24 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed inline Drawable::draw(..) method
|
||||
|
||||
Mon, 16 Apr 2018 15:05:11 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed Geometry::drawImplmentation() handling of VBO's to prevent them from being used when display lists are used.
|
||||
|
||||
Sun, 15 Apr 2018 08:25:57 +0100
|
||||
Author : Robert Osfield
|
||||
Replaced osgViewer::GraphicsWindow dynamic_cast as it's not neccessary.
|
||||
|
||||
Sat, 7 Apr 2018 18:35:19 +0100
|
||||
Author : Robert Osfield
|
||||
Fixed typo
|
||||
|
||||
Sat, 7 Apr 2018 17:59:55 +0100
|
||||
Author : Robert Osfield
|
||||
Renamed osg::ComputeDispatch to osg::DispatchCompute to make sure the nameing between GL and OSG is consistent i.e glDispatchCompute -> osg::DispatchComputeUpdated AUTHORS.txt, NEWS.txt and README.txt for CMakeLists.txt for 3.6.0 release
|
||||
|
||||
|
||||
Sat, 7 Apr 2018 07:19:14 +0100
|
||||
Author : Robert Osfield
|
||||
Updated ChangeLog
|
||||
|
||||
Sat, 7 Apr 2018 07:18:41 +0100
|
||||
Author : Robert Osfield
|
||||
Updated for rc7
|
||||
|
||||
75
LICENSE.txt
75
LICENSE.txt
@@ -1,8 +1,8 @@
|
||||
OpenSceneGraph Public License, Version 0.0
|
||||
OpenSceneGraph Public License, Version 1.0
|
||||
==========================================
|
||||
|
||||
Copyright (C) 2002 Robert Osfield.
|
||||
|
||||
|
||||
Copyright (C) 2018 Robert Osfield.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
|
||||
@@ -12,18 +12,19 @@
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the OpenSceneGraph Public License (OSGPL) version 0.0
|
||||
or later.
|
||||
|
||||
Notes: the OSGPL is based on the LGPL, with the 4 exceptions laid
|
||||
out in the wxWindows section below. The LGPL is contained in the
|
||||
final section of this license.
|
||||
|
||||
Notes: the OSGPL is based on the LGPL-2.1-only WITH WxWindows-exception-3.1,
|
||||
with the 4 exceptions laid out in the wxWindows section below. The LGPL is
|
||||
contained in the final section of this license.
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
wxWindows Library Licence, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 1998 Julian Smart, Robert Roebling [, ...]
|
||||
wxWindows Library Licence, Version 3.1
|
||||
======================================
|
||||
|
||||
Copyright (c) 1998-2005 Julian Smart, Robert Roebling et al
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this licence document, but changing it is not allowed.
|
||||
@@ -43,20 +44,20 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public Licence
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licensed under the wxWindows Library Licence, applying
|
||||
either version 3 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version 3 of the
|
||||
Licence document.
|
||||
the library as licenced under the wxWindows Library Licence, applying
|
||||
either version 3.1 of the Licence, or (at your option) any later version of
|
||||
the Licence as published by the copyright holders of version
|
||||
3.1 of the Licence document.
|
||||
|
||||
2. The exception is that you may use, copy, link, modify and distribute
|
||||
under the user's own terms, binary object code versions of works based
|
||||
under your own terms, binary object code versions of works based
|
||||
on the Library.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
@@ -71,11 +72,13 @@
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
@@ -86,7 +89,7 @@
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
@@ -131,7 +134,7 @@ modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
@@ -187,8 +190,8 @@ modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
@@ -222,7 +225,7 @@ such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
@@ -234,7 +237,7 @@ Library.
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
@@ -292,7 +295,7 @@ instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
@@ -343,7 +346,7 @@ Library will still fall under Section 6.)
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
@@ -405,7 +408,7 @@ restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
@@ -446,7 +449,7 @@ subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
@@ -498,7 +501,7 @@ conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
@@ -508,7 +511,7 @@ decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
@@ -531,8 +534,8 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
|
||||
@@ -25,7 +25,7 @@ If details below are not sufficient then head over to the openscenegraph.org to
|
||||
|
||||
Robert Osfield.
|
||||
Project Lead.
|
||||
7th April 2018.
|
||||
29th June 2018.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#include "Cluster.h"
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef CLUSTER_H
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#include "ExportHTML.h"
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef EXPORTHTML_H
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#include "PointsEventHandler.h"
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef POINTSEVENTHANDLER
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#include "ReadShowFile.h"
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef P3D_READFILE
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#include <osgViewer/Viewer>
|
||||
@@ -33,7 +34,7 @@ SDLIntegration::SDLIntegration()
|
||||
atexit(SDL_Quit);
|
||||
|
||||
int numJoysticks = SDL_NumJoysticks();
|
||||
|
||||
|
||||
if (_verbose)
|
||||
{
|
||||
std::cout<<"number of joysticks "<<numJoysticks<<std::endl;
|
||||
@@ -42,9 +43,9 @@ SDLIntegration::SDLIntegration()
|
||||
std::cout<<"Joystick name '"<<SDL_JoystickName(i)<<"'"<<std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
_joystick = numJoysticks>0 ? SDL_JoystickOpen(0) : 0;
|
||||
|
||||
|
||||
_numAxes = _joystick ? SDL_JoystickNumAxes(_joystick) : 0;
|
||||
_numBalls = _joystick ? SDL_JoystickNumBalls(_joystick) : 0;
|
||||
_numHats = _joystick ? SDL_JoystickNumHats(_joystick) : 0;
|
||||
@@ -57,13 +58,13 @@ SDLIntegration::SDLIntegration()
|
||||
std::cout<<"numHats = "<<_numHats<<std::endl;
|
||||
std::cout<<"numButtons = "<<_numButtons<<std::endl;
|
||||
}
|
||||
|
||||
|
||||
addMouseButtonMapping(4, 1); // left
|
||||
addMouseButtonMapping(5, 3); // right
|
||||
addMouseButtonMapping(6, 2); // middle
|
||||
|
||||
addKeyMapping(10, ' '); // R2
|
||||
|
||||
|
||||
addKeyMapping(0, '1'); // 1
|
||||
addKeyMapping(1, '2'); // 2
|
||||
addKeyMapping(2, '3'); // 3
|
||||
@@ -88,7 +89,7 @@ void SDLIntegration::capture(ValueList& axisValues, ValueList& buttonValues) con
|
||||
if (_joystick)
|
||||
{
|
||||
SDL_JoystickUpdate();
|
||||
|
||||
|
||||
axisValues.resize(_numAxes);
|
||||
for(int ai=0; ai<_numAxes; ++ai)
|
||||
{
|
||||
@@ -107,21 +108,21 @@ void SDLIntegration::update(osgViewer::Viewer& viewer)
|
||||
{
|
||||
if (_joystick)
|
||||
{
|
||||
|
||||
|
||||
ValueList newAxisValues;
|
||||
ValueList newButtonValues;
|
||||
|
||||
|
||||
capture(newAxisValues, newButtonValues);
|
||||
|
||||
|
||||
unsigned int mouseXaxis = 0;
|
||||
unsigned int mouseYaxis = 1;
|
||||
|
||||
|
||||
float prev_mx = (float)_axisValues[mouseXaxis]/32767.0f;
|
||||
float prev_my = -(float)_axisValues[mouseYaxis]/32767.0f;
|
||||
|
||||
float mx = (float)newAxisValues[mouseXaxis]/32767.0f;
|
||||
float my = -(float)newAxisValues[mouseYaxis]/32767.0f;
|
||||
|
||||
|
||||
|
||||
osgGA::EventQueue* eq = viewer.getEventQueue();
|
||||
double time = eq ? eq->getTime() : 0.0;
|
||||
@@ -145,7 +146,7 @@ void SDLIntegration::update(osgViewer::Viewer& viewer)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for(int bi=0; bi<_numButtons; ++bi)
|
||||
{
|
||||
if (newButtonValues[bi]!=_buttonValues[bi])
|
||||
@@ -171,11 +172,11 @@ void SDLIntegration::update(osgViewer::Viewer& viewer)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
_axisValues.swap(newAxisValues);
|
||||
_buttonValues.swap(newButtonValues);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef SDLINTEGRATION
|
||||
@@ -31,12 +32,12 @@ class SDLIntegration
|
||||
typedef std::map<int, int> ButtonMap;
|
||||
|
||||
void update(osgViewer::Viewer& viewer);
|
||||
|
||||
|
||||
void addMouseButtonMapping(int joystickButton, int mouseButton)
|
||||
{
|
||||
_mouseButtonMap[joystickButton] = mouseButton;
|
||||
}
|
||||
|
||||
|
||||
int getMouseButtonMapping(int joystickButton)
|
||||
{
|
||||
ButtonMap::const_iterator itr = _mouseButtonMap.find(joystickButton);
|
||||
@@ -48,16 +49,16 @@ class SDLIntegration
|
||||
{
|
||||
_keyMap[joystickButton] = key;
|
||||
}
|
||||
|
||||
|
||||
int getKeyMapping(int joystickButton)
|
||||
{
|
||||
ButtonMap::const_iterator itr = _keyMap.find(joystickButton);
|
||||
if (itr != _keyMap.end()) return itr->second;
|
||||
else return -1;
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
void capture(ValueList& axisValues, ValueList& buttonValues) const;
|
||||
|
||||
SDL_Joystick* _joystick;
|
||||
@@ -66,7 +67,7 @@ class SDLIntegration
|
||||
int _numHats;
|
||||
int _numButtons;
|
||||
bool _verbose;
|
||||
|
||||
|
||||
ValueList _axisValues;
|
||||
ValueList _buttonValues;
|
||||
ButtonMap _mouseButtonMap;
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#include "ShowEventHandler.h"
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef SHOWEVENTHANDLER
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#include <osgDB/FileNameUtils>
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef SPELLCHCKER_H
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#include <osg/Geometry>
|
||||
|
||||
@@ -99,15 +99,16 @@ INPUT = ${OpenSceneGraph_SOURCE_DIR}/include/osg \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgGA \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgManipulator \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgParticle \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgPresentation \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgShadow \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgSim \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgTerrain \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgText \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgUI \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgUtil \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgViewer \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgVolume \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgWidget \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgQt \
|
||||
${OpenSceneGraph_SOURCE_DIR}/doc/Doxyfiles/auto_Mainpage
|
||||
INPUT_ENCODING = UTF-8
|
||||
FILE_PATTERNS = *include* \
|
||||
|
||||
@@ -89,15 +89,16 @@ INPUT = ${OpenSceneGraph_SOURCE_DIR}/include/osg \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgGA \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgManipulator \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgParticle \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgPresentation \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgShadow \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgSim \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgTerrain \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgText \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgUI \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgUtil \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgViewer \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgVolume \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgWidget \
|
||||
${OpenSceneGraph_SOURCE_DIR}/include/osgQt \
|
||||
${OpenSceneGraph_SOURCE_DIR}/doc/Doxyfiles/auto_Mainpage
|
||||
INPUT_ENCODING = UTF-8
|
||||
FILE_PATTERNS = *include* \
|
||||
|
||||
@@ -90,7 +90,7 @@ INPUT = "${OpenSceneGraph_SOURCE_DIR}/include/osg" \
|
||||
"${OpenSceneGraph_SOURCE_DIR}/include/osgGA" \
|
||||
"${OpenSceneGraph_SOURCE_DIR}/include/osgManipulator" \
|
||||
"${OpenSceneGraph_SOURCE_DIR}/include/osgParticle" \
|
||||
"${OpenSceneGraph_SOURCE_DIR}/include/osgQt" \
|
||||
"${OpenSceneGraph_SOURCE_DIR}/include/osgPresentation" \
|
||||
"${OpenSceneGraph_SOURCE_DIR}/include/osgShadow" \
|
||||
"${OpenSceneGraph_SOURCE_DIR}/include/osgSim" \
|
||||
"${OpenSceneGraph_SOURCE_DIR}/include/osgTerrain" \
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"></uses-sdk>
|
||||
<uses-feature android:glEsVersion="0x00010001"/> <!-- OpenGL min requierements (1.1) -->
|
||||
<uses-feature android:glEsVersion="0x00010001"/> <!-- OpenGL min requirements (1.1) -->
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
|
||||
<application android:label="@string/app_name" android:icon="@drawable/osg">
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"></uses-sdk>
|
||||
<uses-feature android:glEsVersion="0x00020000"/> <!-- OpenGL min requierements (2.0) -->
|
||||
<uses-feature android:glEsVersion="0x00020000"/> <!-- OpenGL min requirements (2.0) -->
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
|
||||
<application android:label="@string/app_name" android:icon="@drawable/osg">
|
||||
|
||||
@@ -393,8 +393,6 @@ public:
|
||||
while (arguments.read("--dl")) { modifyDrawableSettings = true; useDisplayLists = true; }
|
||||
|
||||
while (arguments.read("-s", simplificatioRatio)) {}
|
||||
while (arguments.read("--tristripper")) { useTriStripVisitor=true; }
|
||||
while (arguments.read("--no-tristripper")) { useTriStripVisitor=false; }
|
||||
while (arguments.read("--smoother")) { useSmoothingVisitor=true; }
|
||||
while (arguments.read("--no-smoother")) { useSmoothingVisitor=false; }
|
||||
|
||||
@@ -426,7 +424,6 @@ public:
|
||||
OSG_NOTICE<<"Running simplifier with simplification ratio="<<simplificatioRatio<<std::endl;
|
||||
float maxError = 4.0f;
|
||||
osgUtil::Simplifier simplifier(simplificatioRatio, maxError);
|
||||
simplifier.setDoTriStrip(useTriStripVisitor);
|
||||
simplifier.setSmoothing(useSmoothingVisitor);
|
||||
node->accept(simplifier);
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ struct MyRigTransformHardware : public osgAnimation::RigTransformHardware
|
||||
CommonProgram = new osg::Program;
|
||||
CommonProgram->setName("HardwareSkinning");
|
||||
|
||||
//set default source if _shader is not user setted
|
||||
//set default source if _shader is not user set
|
||||
if (!vertexshader.valid())
|
||||
{
|
||||
vertexshader = osgDB::readRefShaderFile(osg::Shader::VERTEX,"skinning.vert");
|
||||
|
||||
@@ -245,7 +245,7 @@ int main( int argc, char **argv )
|
||||
traits->depth = src_traits->depth;
|
||||
traits->pbuffer = true;
|
||||
} else {
|
||||
//viewer would use fullscreen size (unknown here) pbuffer will use 4096 x4096 (or best avaiable)
|
||||
//viewer would use fullscreen size (unknown here) pbuffer will use 4096 x4096 (or best available)
|
||||
traits->width = 1 << 12;
|
||||
traits->height = 1 << 12;
|
||||
traits->pbuffer = true;
|
||||
|
||||
@@ -509,7 +509,7 @@ int main( int argc, char **argv )
|
||||
// any option left unread are converted into errors to write out later.
|
||||
arguments.reportRemainingOptionsAsUnrecognized();
|
||||
|
||||
// report any errors if they have occurred when parsing the program aguments.
|
||||
// report any errors if they have occurred when parsing the program arguments.
|
||||
if (arguments.errors())
|
||||
{
|
||||
arguments.writeErrorMessages(std::cout);
|
||||
|
||||
@@ -91,7 +91,7 @@ private:
|
||||
bool createMap(MapMode mapMode, bool first=false);
|
||||
|
||||
/*!
|
||||
Creates a two dimensional noise map and initalizes _noiseMap with it
|
||||
Creates a two dimensional noise map and initializes _noiseMap with it
|
||||
*/
|
||||
bool createNoiseMap();
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ class DePeePass
|
||||
DePeePass();
|
||||
|
||||
/*!
|
||||
Desctructor cleans the whole depth peeling pass
|
||||
Destructor cleans the whole depth peeling pass
|
||||
*/
|
||||
~DePeePass();
|
||||
|
||||
|
||||
@@ -381,7 +381,7 @@ AppState::AppState(osgViewer::Viewer* viewer_)
|
||||
textProjection = new Projection;
|
||||
textProjection->setMatrix(Matrix::ortho2D(0,1280,0,1024));
|
||||
textProjection->addChild(textGeode);
|
||||
// "texture not available" text displayed when the user trys to
|
||||
// "texture not available" text displayed when the user tries to
|
||||
// display the depth texture while multisampling.
|
||||
osgText::Text* noCanDo = new osgText::Text;
|
||||
noCanDo->setFont(fontName);
|
||||
|
||||
@@ -74,7 +74,7 @@ int main( int argc, char **argv )
|
||||
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options]");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-i <filename>","Input scene (or presentation) filename.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-o <filename>","Base ouput filename of the images, recommended to use something like Images/image.png");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-o <filename>","Base output filename of the images, recommended to use something like Images/image.png");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--cs <filename>","Load pre-generated configuration file for run.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--ouput-cs <filename>","Output configuration file with settings provided on commandline.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-p <filename>","Use specificied camera path file to control camera position.");
|
||||
|
||||
@@ -96,7 +96,7 @@ int main(int argc, char *argv[])
|
||||
osg::ArgumentParser arguments(&argc,argv);
|
||||
|
||||
// set up the usage document, in case we need to print out how to use this program.
|
||||
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates ping pong rendering with FBOs and mutliple rendering branches. It uses Conway's Game of Life to illustrate the concept.");
|
||||
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates ping pong rendering with FBOs and multiple rendering branches. It uses Conway's Game of Life to illustrate the concept.");
|
||||
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] --startim start_image");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--startim","The initial image to seed the game of life with.");
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
but if Robert will accept its current implementations ( I mean - primitive
|
||||
sets that have osg::TextureBuffer in constructor ), I may add it to
|
||||
osg/include/PrimitiveSet header.
|
||||
- I used BufferTemplate class writen and published by Aurelien in submission forum
|
||||
- I used BufferTemplate class written and published by Aurelien in submission forum
|
||||
some time ago. For some reason this class never got into osg/include, but is
|
||||
really needed during creation of UBOs, TBOs, and possibly SSBOs in the future.
|
||||
I added std::vector specialization to that template class.
|
||||
@@ -1145,7 +1145,7 @@ osg::Group* createAirplane( float detailRatio, const osg::Vec4& hullColor, const
|
||||
return root.release();
|
||||
}
|
||||
|
||||
// createStaticRendering() shows how to use any OSG graph ( wheter it is single osg::Geode, or sophisticated osg::PagedLOD tree covering whole earth )
|
||||
// createStaticRendering() shows how to use any OSG graph ( whether it is single osg::Geode, or sophisticated osg::PagedLOD tree covering whole earth )
|
||||
// as a source of instance data. This way, the OSG graph of arbitrary size is at first culled using typical OSG mechanisms, then remaining osg::Geometries
|
||||
// are sent to cull shader ( cullProgram ). Cull shader does not draw anything to screen ( thanks to GL_RASTERIZER_DISCARD mode ), but calculates if particular
|
||||
// instances - sourced from above mentioned osg::Geometries - are visible and what LODs for these instances should be rendered.
|
||||
|
||||
@@ -125,7 +125,7 @@ int main( int argc, char **argv )
|
||||
osg::ArgumentParser arguments(&argc,argv);
|
||||
|
||||
// set up the usage document, in case we need to print out how to use this program.
|
||||
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates how to create a scene programatically, in this case a hang gliding flying site.");
|
||||
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates how to create a scene programmatically, in this case a hang gliding flying site.");
|
||||
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ...");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
#include "stdio.h"
|
||||
|
||||
|
||||
// callback to make the loaded model oscilate up and down.
|
||||
// callback to make the loaded model oscillate up and down.
|
||||
class ModelTransformCallback : public osg::NodeCallback
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -326,7 +326,7 @@ int main( int argc, char **argv )
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--texture <width> <height> <depth>","Allocate a 3D texture of specified dimensions.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--texture <width> <height>","Allocate a 2D texture of specified dimensions.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--texture <width>","Allocate a 1D texture of specified dimensions.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--geometry <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using OpenGL Dislay Lists.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--geometry <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using OpenGL Display Lists.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--geometry-va <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using Vertex Arrays.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--geometry-vbo <width> <height>","Allocate a osg::Geometry representing a grid of specified size, using Vertex Buffer Objects.");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("--fbo <width> <height>","Allocate a FrameBufferObject of specified dimensions.");
|
||||
|
||||
@@ -290,7 +290,7 @@ int main( int argc, char **argv )
|
||||
arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates use of convex planer occluders.");
|
||||
arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ...");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-m","Mannually create occluders");
|
||||
arguments.getApplicationUsage()->addCommandLineOption("-m","Manually create occluders");
|
||||
|
||||
// initialize the viewer.
|
||||
osgViewer::Viewer viewer;
|
||||
|
||||
@@ -444,7 +444,7 @@ void build_world(osg::Group *root)
|
||||
// the second one will be a little bit more complex, showing how to
|
||||
// create custom operators.
|
||||
// To avoid inserting too much code in a single function, we have
|
||||
// splitted the work into two functions which accept a Group node as
|
||||
// split the work into two functions which accept a Group node as
|
||||
// parameter, and return a pointer to the particle system they created.
|
||||
|
||||
osgParticle::ParticleSystem *ps1 = create_simple_particle_system(root);
|
||||
|
||||
@@ -317,7 +317,7 @@ public:
|
||||
// insert particle effects alongside the hit node, therefore able to track that nodes movement,
|
||||
// however, this does require us to insert the ParticleSystem itself into the root of the scene graph
|
||||
// separately from the main particle effects group which contains the emitters and programs.
|
||||
// the follow code block implements this, note the path for handling particle effects which arn't attached to
|
||||
// the follow code block implements this, note the path for handling particle effects which aren't attached to
|
||||
// moving models is easy - just a single line of code!
|
||||
|
||||
// tell the effects not to attach to the particle system locally for rendering, as we'll handle add it into the
|
||||
|
||||
@@ -155,7 +155,7 @@ int main( int argc, char** argv )
|
||||
root->addChild( parent.get() );
|
||||
root->addChild( updater.get() );
|
||||
|
||||
// FIXME 2010.9.19: the updater can't be a drawable; otehrwise the ParticleEffect will not work properly. why?
|
||||
// FIXME 2010.9.19: the updater can't be a drawable; otherwise the ParticleEffect will not work properly. why?
|
||||
updater->addParticleSystem( ps.get() );
|
||||
|
||||
osg::ref_ptr<osg::Geode> geode = new osg::Geode;
|
||||
|
||||
@@ -747,7 +747,7 @@ int main( int argc, char **argv )
|
||||
|
||||
osg::ref_ptr<Album> album = new Album(arguments,width,height);
|
||||
|
||||
// creat the scene from the file list.
|
||||
// create the scene from the file list.
|
||||
osg::ref_ptr<osg::Group> rootNode = album->getScene();
|
||||
|
||||
if (!rootNode) return 0;
|
||||
|
||||
@@ -16,9 +16,7 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* osgpick sample
|
||||
* demonstrate use of osgUtil/PickVisitor for picking in a HUD or
|
||||
* in a 3d scene,
|
||||
/* osgpick sample - Mouse picking in a 3d scene,
|
||||
*/
|
||||
|
||||
#include <osgUtil/Optimizer>
|
||||
|
||||
@@ -50,7 +50,7 @@ int main(int argc, char** argv)
|
||||
if (script.valid()) scripts.push_back(script.get());
|
||||
}
|
||||
|
||||
// assgin script engine to scene graphs
|
||||
// assign script engine to scene graphs
|
||||
model->getOrCreateUserDataContainer()->addUserObject(osgDB::readFile<osg::ScriptEngine>("ScriptEngine.lua"));
|
||||
model->getOrCreateUserDataContainer()->addUserObject(osgDB::readFile<osg::ScriptEngine>("ScriptEngine.python"));
|
||||
model->getOrCreateUserDataContainer()->addUserObject(osgDB::readFile<osg::ScriptEngine>("ScriptEngine.js"));
|
||||
|
||||
@@ -120,7 +120,7 @@ int main(int argc, char* argv[])
|
||||
sampler2=(osg::Sampler*)(*it)->getTextureAttribute(0, osg::StateAttribute::SAMPLER);
|
||||
}
|
||||
if(sampler1.valid()&&sampler2.valid()){
|
||||
OSG_WARN<<"2samplers manipulator setted"<<std::endl;
|
||||
OSG_WARN<<"2samplers manipulator set"<<std::endl;
|
||||
viewer.addEventHandler(new SamplersKeyboardEventHandler(sampler1.get(), sampler2.get()));
|
||||
}
|
||||
}
|
||||
@@ -185,7 +185,7 @@ int main(int argc, char* argv[])
|
||||
im->dirty();
|
||||
tex2->setImage(im);
|
||||
}
|
||||
///Overrided Filtering setup
|
||||
///Overridden Filtering setup
|
||||
tex1->setFilter(osg::Texture::MAG_FILTER,osg::Texture::NEAREST);
|
||||
tex1->setFilter(osg::Texture::MIN_FILTER,osg::Texture::NEAREST);
|
||||
|
||||
|
||||
@@ -26,11 +26,16 @@
|
||||
#include <osgDB/ReadFile>
|
||||
#include <osgDB/WriteFile>
|
||||
|
||||
#include <osgViewer/GraphicsWindow>
|
||||
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
|
||||
#define MIN_NEARFAROFFSET 0.1
|
||||
|
||||
// force the WIndowingSystem to initialize to allow us to create a graphics context.
|
||||
USE_GRAPHICSWINDOW()
|
||||
|
||||
class SliceProcessor
|
||||
{
|
||||
public:
|
||||
@@ -187,7 +192,7 @@ int main( int argc, char **argv )
|
||||
// pass frame stamp to the SceneView so that the update, cull and draw traversals all use the same FrameStamp
|
||||
sceneView->setFrameStamp(frameStamp.get());
|
||||
|
||||
// update the viewport dimensions, incase the window has been resized.
|
||||
// update the viewport dimensions, in case the window has been resized.
|
||||
sceneView->setViewport(0,0,traits->width,traits->height);
|
||||
|
||||
|
||||
|
||||
@@ -610,7 +610,7 @@ int main( int argc, char **argv )
|
||||
osg::TexMat* texmatLeft = new osg::TexMat;
|
||||
osg::TexMat* texmatRight = new osg::TexMat;
|
||||
|
||||
// creat the scene from the file list.
|
||||
// create the scene from the file list.
|
||||
osg::ref_ptr<osg::Switch> rootNode;
|
||||
if (!onDisk) rootNode = createScene(fileList,texmatLeft,texmatRight,radius,height,length);
|
||||
else rootNode=new osg::Switch();
|
||||
|
||||
@@ -235,7 +235,7 @@ class Teapot : public osg::Drawable
|
||||
// of OpenGL primitives.
|
||||
virtual void drawImplementation(osg::RenderInfo&) const
|
||||
{
|
||||
// teapot(..) doens't use vertex arrays at all so we don't need to toggle their state
|
||||
// teapot(..) doesn't use vertex arrays at all so we don't need to toggle their state
|
||||
// if we did we'd need to something like following call
|
||||
// state.disableAllVertexArrays(), see src/osg/Geometry.cpp for the low down.
|
||||
|
||||
|
||||
@@ -379,6 +379,11 @@ int main(int argc, char** argv)
|
||||
terrain->setVerticalScale(verticalScale);
|
||||
terrain->setBlendingPolicy(blendingPolicy);
|
||||
|
||||
if (arguments.read("--equalize-boundaries") || arguments.read("-e"))
|
||||
{
|
||||
terrain->setEqualizeBoundaries(true);
|
||||
}
|
||||
|
||||
|
||||
if (useDisplacementMappingTechnique)
|
||||
{
|
||||
|
||||
@@ -61,7 +61,7 @@ class /*OSGTEXT_EXPORT*/ TextTechnique : public osg::Object
|
||||
/// default TextTechnique implementation used if no other is specified on TextNode
|
||||
static osg::ref_ptr<TextTechnique>& getDefaultTextTechinque();
|
||||
|
||||
/// start building a new charater layout
|
||||
/// start building a new character layout
|
||||
virtual void start();
|
||||
|
||||
/// called by Layout engine to place individual characters
|
||||
@@ -70,7 +70,7 @@ class /*OSGTEXT_EXPORT*/ TextTechnique : public osg::Object
|
||||
/// called by Layout engine to place individual characters
|
||||
virtual void addCharacter(const osg::Vec3& position, const osg::Vec3& size, Glyph3D* glyph, Style* style);
|
||||
|
||||
/// finish building new charater layout
|
||||
/// finish building new character layout
|
||||
virtual void finish();
|
||||
|
||||
/// provide traversal control
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <osgGA/TrackballManipulator>
|
||||
|
||||
// This is an implementation of SimpleViewer that is designed to be subclassed
|
||||
// and used as a GtkDrawingArea in a GTK application. Because of the implemention
|
||||
// and used as a GtkDrawingArea in a GTK application. Because of the implementation
|
||||
// of GTK, I was unable to derive from GtkWidget and instead had to "wrap" it.
|
||||
// Conceptually, however, you can think of an OSGGTKDrawingArea as both an OSG
|
||||
// Viewer AND GtkDrawingArea.
|
||||
|
||||
@@ -104,7 +104,7 @@ void cOSG::InitCameraConfig(void)
|
||||
camera->setGraphicsContext(gc);
|
||||
|
||||
// Set the viewport for the Camera
|
||||
camera->setViewport(new osg::Viewport(traits->x, traits->y, traits->width, traits->height));
|
||||
camera->setViewport(new osg::Viewport(0, 0, traits->width, traits->height));
|
||||
|
||||
// set the draw and read buffers up for a double buffered window with rendering going to back buffer
|
||||
camera->setDrawBuffer(GL_BACK);
|
||||
|
||||
@@ -211,7 +211,7 @@ osg::Node * CreateAdvancedHierarchy( osg::Node * model )
|
||||
|
||||
// Set default VirtualProgram in root StateSet
|
||||
// With main vertex and main fragment shaders calling
|
||||
// lighting and texture functions defined in aditional shaders
|
||||
// lighting and texture functions defined in additional shaders
|
||||
// Lighting is done per vertex using simple directional light
|
||||
// Texture uses stage 0 TexCoords and TexMap
|
||||
|
||||
|
||||
@@ -45,10 +45,10 @@ public:
|
||||
Affinity& operator = (const Affinity& rhs) { if (&rhs!=this) { activeCPUs = rhs.activeCPUs; } return *this; }
|
||||
|
||||
|
||||
/** add a specfied cpu core from the list to have affinity to. */
|
||||
/** add a specified cpu core from the list to have affinity to. */
|
||||
void add(unsigned int cpuNmber) { activeCPUs.insert(cpuNmber); }
|
||||
|
||||
/** remove a specfied cpu core from the list to have affinity to. */
|
||||
/** remove a specified cpu core from the list to have affinity to. */
|
||||
void remove(unsigned int cpuNmber) { activeCPUs.erase(cpuNmber); }
|
||||
|
||||
/** return true if affinity has been provided for specific CPU cores.*/
|
||||
|
||||
@@ -190,7 +190,7 @@ public:
|
||||
/**
|
||||
* Set the thread's schedule priority. This is a complex method.
|
||||
* Beware of thread priorities when using a many-to-many kernel
|
||||
* entity implemenation (such as IRIX pthreads). If one is not careful
|
||||
* entity implementation (such as IRIX pthreads). If one is not careful
|
||||
* to manage the thread priorities, a priority inversion deadlock can
|
||||
* easily occur (Although the OpenThreads::Mutex & OpenThreads::Barrier
|
||||
* constructs have been designed with this scenario in mind). Unless
|
||||
|
||||
@@ -152,6 +152,14 @@ class BufferObjectProfile
|
||||
class GLBufferObjectSet;
|
||||
class GLBufferObjectManager;
|
||||
|
||||
inline unsigned int computeBufferAlignment(unsigned int pos, unsigned int bufferAlignment)
|
||||
{
|
||||
if (bufferAlignment<2) return pos;
|
||||
if ((pos%bufferAlignment)==0) return pos;
|
||||
return ((pos/bufferAlignment)+1)*bufferAlignment;
|
||||
}
|
||||
|
||||
|
||||
class OSG_EXPORT GLBufferObject : public GraphicsObject
|
||||
{
|
||||
public:
|
||||
@@ -235,9 +243,7 @@ class OSG_EXPORT GLBufferObject : public GraphicsObject
|
||||
|
||||
unsigned int computeBufferAlignment(unsigned int pos, unsigned int bufferAlignment) const
|
||||
{
|
||||
if (bufferAlignment<2) return pos;
|
||||
if ((pos%bufferAlignment)==0) return pos;
|
||||
return ((pos/bufferAlignment)+1)*bufferAlignment;
|
||||
return osg::computeBufferAlignment(pos, bufferAlignment);
|
||||
}
|
||||
|
||||
unsigned int _contextID;
|
||||
@@ -431,10 +437,10 @@ class OSG_EXPORT BufferObject : public Object
|
||||
const BufferObjectProfile& getProfile() const { return _profile; }
|
||||
|
||||
|
||||
/** Set whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately so that it may be reused.*/
|
||||
/** Set whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immediately so that it may be reused.*/
|
||||
void setCopyDataAndReleaseGLBufferObject(bool copyAndRelease) { _copyDataAndReleaseGLBufferObject = copyAndRelease; }
|
||||
|
||||
/** Get whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately.*/
|
||||
/** Get whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immediately.*/
|
||||
bool getCopyDataAndReleaseGLBufferObject() const { return _copyDataAndReleaseGLBufferObject; }
|
||||
|
||||
|
||||
|
||||
@@ -158,7 +158,7 @@ public:
|
||||
|
||||
};
|
||||
|
||||
/** Convenience function for getting the CallbackObject associated with specificed name from an Object's UserDataContainer.*/
|
||||
/** Convenience function for getting the CallbackObject associated with specified name from an Object's UserDataContainer.*/
|
||||
inline CallbackObject* getCallbackObject(osg::Object* object, const std::string& name)
|
||||
{
|
||||
osg::UserDataContainer* udc = object->getUserDataContainer();
|
||||
@@ -171,7 +171,7 @@ inline CallbackObject* getCallbackObject(osg::Object* object, const std::string&
|
||||
}
|
||||
|
||||
|
||||
/** Convenience function for getting the CallbackObject associated with specificed name from an Object's UserDataContainer.*/
|
||||
/** Convenience function for getting the CallbackObject associated with specified name from an Object's UserDataContainer.*/
|
||||
inline const CallbackObject* getCallbackObject(const osg::Object* object, const std::string& name)
|
||||
{
|
||||
const osg::UserDataContainer* udc = object->getUserDataContainer();
|
||||
|
||||
@@ -270,6 +270,88 @@ class OSG_EXPORT CullSettings
|
||||
|
||||
};
|
||||
|
||||
template<class matrix_type, class value_type>
|
||||
bool clampProjectionMatrix(matrix_type& projection, double& znear, double& zfar, value_type nearFarRatio)
|
||||
{
|
||||
double epsilon = 1e-6;
|
||||
if (zfar<znear-epsilon)
|
||||
{
|
||||
if (zfar != -FLT_MAX || znear != FLT_MAX)
|
||||
{
|
||||
OSG_INFO<<"_clampProjectionMatrix not applied, invalid depth range, znear = "<<znear<<" zfar = "<<zfar<<std::endl;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (zfar<znear+epsilon)
|
||||
{
|
||||
// znear and zfar are too close together and could cause divide by zero problems
|
||||
// late on in the clamping code, so move the znear and zfar apart.
|
||||
double average = (znear+zfar)*0.5;
|
||||
znear = average-epsilon;
|
||||
zfar = average+epsilon;
|
||||
// OSG_INFO << "_clampProjectionMatrix widening znear and zfar to "<<znear<<" "<<zfar<<std::endl;
|
||||
}
|
||||
|
||||
if (fabs(projection(0,3))<epsilon && fabs(projection(1,3))<epsilon && fabs(projection(2,3))<epsilon )
|
||||
{
|
||||
// OSG_INFO << "Orthographic matrix before clamping"<<projection<<std::endl;
|
||||
|
||||
value_type delta_span = (zfar-znear)*0.02;
|
||||
if (delta_span<1.0) delta_span = 1.0;
|
||||
value_type desired_znear = znear - delta_span;
|
||||
value_type desired_zfar = zfar + delta_span;
|
||||
|
||||
// assign the clamped values back to the computed values.
|
||||
znear = desired_znear;
|
||||
zfar = desired_zfar;
|
||||
|
||||
projection(2,2)=-2.0f/(desired_zfar-desired_znear);
|
||||
projection(3,2)=-(desired_zfar+desired_znear)/(desired_zfar-desired_znear);
|
||||
|
||||
// OSG_INFO << "Orthographic matrix after clamping "<<projection<<std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// OSG_INFO << "Persepective matrix before clamping"<<projection<<std::endl;
|
||||
|
||||
//std::cout << "_computed_znear"<<_computed_znear<<std::endl;
|
||||
//std::cout << "_computed_zfar"<<_computed_zfar<<std::endl;
|
||||
|
||||
value_type zfarPushRatio = 1.02;
|
||||
value_type znearPullRatio = 0.98;
|
||||
|
||||
//znearPullRatio = 0.99;
|
||||
|
||||
value_type desired_znear = znear * znearPullRatio;
|
||||
value_type desired_zfar = zfar * zfarPushRatio;
|
||||
|
||||
// near plane clamping.
|
||||
double min_near_plane = zfar*nearFarRatio;
|
||||
if (desired_znear<min_near_plane) desired_znear=min_near_plane;
|
||||
|
||||
// assign the clamped values back to the computed values.
|
||||
znear = desired_znear;
|
||||
zfar = desired_zfar;
|
||||
|
||||
value_type trans_near_plane = (-desired_znear*projection(2,2)+projection(3,2))/(-desired_znear*projection(2,3)+projection(3,3));
|
||||
value_type trans_far_plane = (-desired_zfar*projection(2,2)+projection(3,2))/(-desired_zfar*projection(2,3)+projection(3,3));
|
||||
|
||||
value_type ratio = fabs(2.0/(trans_near_plane-trans_far_plane));
|
||||
value_type center = -(trans_near_plane+trans_far_plane)/2.0;
|
||||
|
||||
projection.postMult(osg::Matrix(1.0f,0.0f,0.0f,0.0f,
|
||||
0.0f,1.0f,0.0f,0.0f,
|
||||
0.0f,0.0f,ratio,0.0f,
|
||||
0.0f,0.0f,center*ratio,1.0f));
|
||||
|
||||
// OSG_INFO << "Persepective matrix after clamping"<<projection<<std::endl;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -566,7 +566,7 @@ inline void Drawable::draw(RenderInfo& renderInfo) const
|
||||
|
||||
State::SetCurrentVertexArrayStateProxy setVASProxy(state, vas);
|
||||
|
||||
vas->bindVertexArrayObject();
|
||||
state.bindVertexArrayObject(vas);
|
||||
|
||||
drawInner(renderInfo);
|
||||
|
||||
@@ -576,7 +576,11 @@ inline void Drawable::draw(RenderInfo& renderInfo) const
|
||||
}
|
||||
|
||||
// TODO, add check against whether VAO is active and supported
|
||||
if (state.getCurrentVertexArrayState()) state.getCurrentVertexArrayState()->bindVertexArrayObject();
|
||||
if (state.getCurrentVertexArrayState())
|
||||
{
|
||||
//OSG_NOTICE<<"state.getCurrentVertexArrayState()->getVertexArrayObject()="<< state.getCurrentVertexArrayState()->getVertexArrayObject()<<std::endl;
|
||||
state.bindVertexArrayObject(state.getCurrentVertexArrayState());
|
||||
}
|
||||
|
||||
|
||||
#ifdef OSG_GL_DISPLAYLISTS_AVAILABLE
|
||||
|
||||
@@ -56,6 +56,13 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// helper macro's for quieten unused variable warnings
|
||||
#define OSG_UNUSED(VAR) (void)(VAR)
|
||||
#define OSG_UNUSED2(VAR1, VAR2) (void)(VAR1); (void)(VAR2);
|
||||
#define OSG_UNUSED3(VAR1, VAR2, VAR3) (void)(VAR1); (void)(VAR2); (void)(VAR2);
|
||||
#define OSG_UNUSED4(VAR1, VAR2, VAR3, VAR4) (void)(VAR1); (void)(VAR2); (void)(VAR3); (void)(VAR4);
|
||||
#define OSG_UNUSED5(VAR1, VAR2, VAR3, VAR4, VAR5) (void)(VAR1); (void)(VAR2); (void)(VAR3); (void)(VAR4); (void)(VAR5);
|
||||
|
||||
/**
|
||||
|
||||
\namespace osg
|
||||
|
||||
@@ -627,6 +627,7 @@ class OSG_EXPORT GLExtensions : public osg::Referenced
|
||||
// Point
|
||||
bool isPointParametersSupported;
|
||||
bool isPointSpriteSupported;
|
||||
bool isPointSpriteModeSupported;
|
||||
bool isPointSpriteCoordOriginSupported;
|
||||
|
||||
void (GL_APIENTRY * glPointParameteri) (GLenum pname, GLint param);
|
||||
|
||||
@@ -433,7 +433,7 @@ class OSG_EXPORT Image : public BufferData
|
||||
|
||||
/** Ensure image dimensions are a power of two.
|
||||
* Mipmapped textures require the image dimensions to be
|
||||
* power of two and are within the maxiumum texture size for
|
||||
* power of two and are within the maximum texture size for
|
||||
* the host machine.
|
||||
*/
|
||||
void ensureValidSizeForTexturing(GLint maxTextureSize);
|
||||
|
||||
@@ -194,11 +194,11 @@ class OSG_EXPORT Node : public Object
|
||||
|
||||
|
||||
/** Get the list of node paths parent paths.
|
||||
* The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specifed node. */
|
||||
* The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specified node. */
|
||||
NodePathList getParentalNodePaths(osg::Node* haltTraversalAtNode=0) const;
|
||||
|
||||
/** Get the list of matrices that transform this node from local coordinates to world coordinates.
|
||||
* The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specifed node. */
|
||||
* The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specified node. */
|
||||
MatrixList getWorldMatrices(const osg::Node* haltTraversalAtNode=0) const;
|
||||
|
||||
|
||||
|
||||
@@ -154,7 +154,7 @@ class OSG_EXPORT PagedLOD : public LOD
|
||||
/** Get the number of children that the PagedLOD must keep around, even if they are older than their expiry time.*/
|
||||
unsigned int getNumChildrenThatCannotBeExpired() const { return _numChildrenThatCannotBeExpired; }
|
||||
|
||||
/** Set wether you want to disable the paging in of external nodes.*/
|
||||
/** Set whether you want to disable the paging in of external nodes.*/
|
||||
void setDisableExternalChildrenPaging(bool flag) { _disableExternalChildrenPaging = flag; }
|
||||
|
||||
bool getDisableExternalChildrenPaging() const { return _disableExternalChildrenPaging; }
|
||||
|
||||
@@ -47,7 +47,7 @@ class OSG_EXPORT Referenced
|
||||
|
||||
Referenced();
|
||||
|
||||
/** Deprecated, Referenced is now always uses thread safe ref/unref, use default Refernced() constructor instead */
|
||||
/** Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead */
|
||||
explicit Referenced(bool threadSafeRefUnref);
|
||||
|
||||
Referenced(const Referenced&);
|
||||
|
||||
@@ -747,7 +747,7 @@ class TessellationHints : public Object
|
||||
// forward declare;
|
||||
class Geometry;
|
||||
|
||||
/** Convenience class for populating an Geomtry with vertex, normals, texture coords and primitives that can render a Shape. */
|
||||
/** Convenience class for populating an Geometry with vertex, normals, texture coords and primitives that can render a Shape. */
|
||||
class OSG_EXPORT BuildShapeGeometryVisitor : public ConstShapeVisitor
|
||||
{
|
||||
public:
|
||||
@@ -768,10 +768,13 @@ class OSG_EXPORT BuildShapeGeometryVisitor : public ConstShapeVisitor
|
||||
virtual void apply(const CompositeShape&);
|
||||
|
||||
void Normal(const Vec3f& v) { _normals->push_back(v); }
|
||||
void Normal3f(float x, float y, float z) { _normals->push_back(Vec3(x,y,z)); }
|
||||
void TexCoord2f(float x, float y) { _texcoords->push_back(Vec2(x,y)); }
|
||||
void Vertex(const Vec3f& v) { _vertices->push_back(v); }
|
||||
void Vertex3f(float x, float y, float z) { _vertices->push_back(Vec3(x,y,z)); }
|
||||
void Normal3f(float x, float y, float z) { Normal(Vec3(x,y,z)); }
|
||||
|
||||
void TexCoord(const Vec2f& tc) { _texcoords->push_back(tc); }
|
||||
void TexCoord2f(float x, float y) { TexCoord(Vec2(x,y)); }
|
||||
|
||||
void Vertex(const Vec3f& v);
|
||||
void Vertex3f(float x, float y, float z) { Vertex(Vec3(x,y,z)); }
|
||||
|
||||
void setMatrix(const Matrixd& m);
|
||||
|
||||
|
||||
@@ -252,7 +252,7 @@ class OSG_EXPORT State : public Referenced
|
||||
Polytope getViewFrustum() const;
|
||||
|
||||
|
||||
void setUseVertexAttributeAliasing(bool flag) { _useVertexAttributeAliasing = flag; }
|
||||
void setUseVertexAttributeAliasing(bool flag);
|
||||
bool getUseVertexAttributeAliasing() const { return _useVertexAttributeAliasing ; }
|
||||
|
||||
typedef std::vector<VertexAttribAlias> VertexAttribAliasList;
|
||||
@@ -834,11 +834,13 @@ class OSG_EXPORT State : public Referenced
|
||||
/** Get the const DisplaySettings */
|
||||
inline const DisplaySettings* getDisplaySettings() const { return _displaySettings.get(); }
|
||||
|
||||
/** Get the DisplaySettings that is current active DisplaySettings to be used by osg::State, - if DisplaySettings is not directly assigned then fallback to DisplaySettings::instance(). */
|
||||
inline DisplaySettings* getActiveDisplaySettings() { return _displaySettings.valid() ? _displaySettings.get() : osg::DisplaySettings::instance().get(); }
|
||||
|
||||
/** Get the const DisplaySettings that is current active DisplaySettings to be used by osg::State, - if DisplaySettings is not directly assigned then fallback to DisplaySettings::instance(). */
|
||||
inline const DisplaySettings* getActiveDisplaySettings() const { return _displaySettings.valid() ? _displaySettings.get() : osg::DisplaySettings::instance().get(); }
|
||||
|
||||
|
||||
|
||||
/** Set flag for early termination of the draw traversal.*/
|
||||
void setAbortRenderingPtr(bool* abortPtr) { _abortRenderingPtr = abortPtr; }
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
namespace osg {
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
typedef __int64 Timer_t;
|
||||
typedef unsigned __int64 Timer_t;
|
||||
#else
|
||||
typedef unsigned long long Timer_t;
|
||||
#endif
|
||||
|
||||
@@ -203,14 +203,14 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
/** Convenience function for getting the User Object associated with specificed name from an Object's UserDataContainer.*/
|
||||
/** Convenience function for getting the User Object associated with specified name from an Object's UserDataContainer.*/
|
||||
inline Object* getUserObject(osg::Object* object, const std::string& name)
|
||||
{
|
||||
osg::UserDataContainer* udc = object->getUserDataContainer();
|
||||
return udc ? udc->getUserObject(name) : 0;
|
||||
}
|
||||
|
||||
/** Convenience function for getting the User Object associated with specificed name from an Object's UserDataContainer.*/
|
||||
/** Convenience function for getting the User Object associated with specified name from an Object's UserDataContainer.*/
|
||||
inline const Object* getUserObject(const osg::Object* object, const std::string& name)
|
||||
{
|
||||
const osg::UserDataContainer* udc = object->getUserDataContainer();
|
||||
|
||||
@@ -28,7 +28,7 @@ class Vec2i
|
||||
/** Number of vector components. */
|
||||
enum { num_components = 2 };
|
||||
|
||||
/** Vec member varaible. */
|
||||
/** Vec member variable. */
|
||||
value_type _v[2];
|
||||
|
||||
Vec2i() { _v[0]=0; _v[1]=0; }
|
||||
|
||||
@@ -28,7 +28,7 @@ class Vec2ui
|
||||
/** Number of vector components. */
|
||||
enum { num_components = 2 };
|
||||
|
||||
/** Vec member varaible. */
|
||||
/** Vec member variable. */
|
||||
value_type _v[2];
|
||||
|
||||
Vec2ui() { _v[0]=0; _v[1]=0; }
|
||||
|
||||
@@ -28,7 +28,7 @@ class Vec3i
|
||||
/** Number of vector components. */
|
||||
enum { num_components = 3 };
|
||||
|
||||
/** Vec member varaible. */
|
||||
/** Vec member variable. */
|
||||
value_type _v[3];
|
||||
|
||||
Vec3i() { _v[0]=0; _v[1]=0; _v[2]=0; }
|
||||
|
||||
@@ -28,7 +28,7 @@ class Vec3ui
|
||||
/** Number of vector components. */
|
||||
enum { num_components = 3 };
|
||||
|
||||
/** Vec member varaible. */
|
||||
/** Vec member variable. */
|
||||
value_type _v[3];
|
||||
|
||||
Vec3ui() { _v[0]=0; _v[1]=0; _v[2]=0; }
|
||||
|
||||
@@ -28,7 +28,7 @@ class Vec4i
|
||||
/** Number of vector components. */
|
||||
enum { num_components = 4 };
|
||||
|
||||
/** Vec member varaible. */
|
||||
/** Vec member variable. */
|
||||
value_type _v[4];
|
||||
|
||||
Vec4i() { _v[0]=0; _v[1]=0; _v[2]=0; _v[3]=0; }
|
||||
|
||||
@@ -28,7 +28,7 @@ class Vec4ui
|
||||
/** Number of vector components. */
|
||||
enum { num_components = 4 };
|
||||
|
||||
/** Vec member varaible. */
|
||||
/** Vec member variable. */
|
||||
value_type _v[4];
|
||||
|
||||
Vec4ui() { _v[0]=0; _v[1]=0; _v[2]=0; _v[3]=0; }
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#include <ostream>
|
||||
#include <istream>
|
||||
#include <sstream>
|
||||
|
||||
#include <osg/Vec4d>
|
||||
#include <osg/Vec4ub>
|
||||
@@ -35,6 +36,43 @@
|
||||
namespace osg {
|
||||
|
||||
|
||||
/** Convinience class for building std::string using stringstream.
|
||||
* Usage:
|
||||
* MakeString str;
|
||||
* std::string s = str<<"Mix strings with numbers "<<0" ;
|
||||
* std::string s2 = str.clear()<<"and other classes such as ("<<osg::Vec3(0.0,1.0,3.0)<<)" ; */
|
||||
class MakeString
|
||||
{
|
||||
public:
|
||||
MakeString() {}
|
||||
|
||||
std::stringstream sstream;
|
||||
|
||||
template<typename T>
|
||||
MakeString& operator << (const T& t)
|
||||
{
|
||||
sstream << t;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MakeString& operator << (std::ostream& (*fun)(std::ostream&))
|
||||
{
|
||||
sstream << fun;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline MakeString& clear() { sstream.str("") ; return *this; }
|
||||
|
||||
inline operator std::string () const { return sstream.str(); }
|
||||
|
||||
inline std::string str() const { return sstream.str(); }
|
||||
inline const char* c_str() const { return sstream.str().c_str(); }
|
||||
};
|
||||
|
||||
|
||||
|
||||
inline std::ostream& operator << (std::ostream& output, const MakeString& str) { output << str.str(); return output; }
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Vec2f streaming operators
|
||||
inline std::ostream& operator << (std::ostream& output, const Vec2f& vec)
|
||||
|
||||
@@ -30,6 +30,8 @@ extern OSG_EXPORT int osg_system(const char* str);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#include <string>
|
||||
|
||||
#if defined(OSG_ENVVAR_SUPPORTED)
|
||||
#include <stdlib.h>
|
||||
#include <sstream>
|
||||
@@ -47,11 +49,16 @@ inline unsigned int getClampedLength(const char* str, unsigned int maxNumChars=4
|
||||
|
||||
inline std::string getEnvVar(const char* name)
|
||||
{
|
||||
#ifdef OSG_ENVVAR_SUPPORTED
|
||||
std::string value;
|
||||
const char* ptr = getenv(name);
|
||||
if (ptr) value.assign(ptr, getClampedLength(ptr));
|
||||
return value;
|
||||
}
|
||||
#else
|
||||
OSG_UNUSED(name);
|
||||
return std::string();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
template<typename T>
|
||||
@@ -65,6 +72,7 @@ inline bool getEnvVar(const char* name, T& value)
|
||||
str >> value;
|
||||
return !str.fail();
|
||||
#else
|
||||
OSG_UNUSED2(name, value);
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
@@ -79,6 +87,7 @@ inline bool getEnvVar(const char* name, std::string& value)
|
||||
value.assign(ptr, getClampedLength(ptr));
|
||||
return true;
|
||||
#else
|
||||
OSG_UNUSED2(name, value);
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
@@ -94,6 +103,7 @@ inline bool getEnvVar(const char* name, T1& value1, T2& value2)
|
||||
str >> value1 >> value2;
|
||||
return !str.fail();
|
||||
#else
|
||||
OSG_UNUSED3(name, value1, value2);
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
@@ -109,6 +119,7 @@ inline bool getEnvVar(const char* name, T1& value1, T2& value2, T3& value3)
|
||||
str >> value1 >> value2 >> value3;
|
||||
return !str.fail();
|
||||
#else
|
||||
OSG_UNUSED4(name, value1, value2, value3);
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
@@ -124,6 +135,7 @@ inline bool getEnvVar(const char* name, T1& value1, T2& value2, T3& value3, T4&
|
||||
str >> value1 >> value2 >> value3 >> value4;
|
||||
return !str.fail();
|
||||
#else
|
||||
OSG_UNUSED5(name, value1, value2, value3, value4);
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ class ref_ptr
|
||||
bool operator < (const ref_ptr& rp) const { return (_ptr<rp._ptr); }
|
||||
|
||||
|
||||
// follows is an implmentation of the "safe bool idiom", details can be found at:
|
||||
// follows is an implementation of the "safe bool idiom", details can be found at:
|
||||
// http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Safe_bool
|
||||
// http://lists.boost.org/Archives/boost/2003/09/52856.php
|
||||
|
||||
|
||||
@@ -135,15 +135,15 @@ namespace osgAnimation
|
||||
template <class V>
|
||||
inline void compute(const osg::Matrix& transform, const osg::Matrix& invTransform, const V* src, V* dst)
|
||||
{
|
||||
// the result of matrix mult should be cached to be used for vertexes transform and normal transform and maybe other computation
|
||||
// the result of matrix mult should be cached to be used for vertices transform and normal transform and maybe other computation
|
||||
for(VertexGroupList::iterator itvg=_uniqVertexGroupList.begin(); itvg!=_uniqVertexGroupList.end(); ++itvg)
|
||||
{
|
||||
VertexGroup& uniq = *itvg;
|
||||
uniq.computeMatrixForVertexSet();
|
||||
osg::Matrix matrix = transform * uniq.getMatrix() * invTransform;
|
||||
|
||||
const IndexList& vertexes = uniq.getVertices();
|
||||
for(IndexList::const_iterator vertIDit=vertexes.begin(); vertIDit!=vertexes.end(); ++vertIDit)
|
||||
const IndexList& vertices = uniq.getVertices();
|
||||
for(IndexList::const_iterator vertIDit=vertices.begin(); vertIDit!=vertices.end(); ++vertIDit)
|
||||
{
|
||||
dst[*vertIDit] = src[*vertIDit] * matrix;
|
||||
}
|
||||
@@ -160,8 +160,8 @@ namespace osgAnimation
|
||||
uniq.computeMatrixForVertexSet();
|
||||
osg::Matrix matrix = transform * uniq.getMatrix() * invTransform;
|
||||
|
||||
const IndexList& vertexes = uniq.getVertices();
|
||||
for(IndexList::const_iterator vertIDit=vertexes.begin(); vertIDit!=vertexes.end(); ++vertIDit)
|
||||
const IndexList& vertices = uniq.getVertices();
|
||||
for(IndexList::const_iterator vertIDit=vertices.begin(); vertIDit!=vertices.end(); ++vertIDit)
|
||||
{
|
||||
dst[*vertIDit] = osg::Matrix::transform3x3(src[*vertIDit],matrix);
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace osgAnimation
|
||||
///normalize per vertex weights given numvert of the attached mesh
|
||||
void normalize(unsigned int numvert);
|
||||
|
||||
///remove weakest influences in order to fit targetted numbonepervertex
|
||||
///remove weakest influences in order to fit targeted numbonepervertex
|
||||
void cullInfluenceCountPerVertex(unsigned int maxnumbonepervertex, float minweight=0, bool renormalize=true);
|
||||
|
||||
//compute PerVertexInfluenceList
|
||||
|
||||
@@ -110,12 +110,12 @@ DECLARE_TYPE(osg::BoundingBoxd, BOUNDINGBOXD)
|
||||
DECLARE_TYPE(osg::BoundingSpheref, BOUNDINGSPHEREF)
|
||||
DECLARE_TYPE(osg::BoundingSphered, BOUNDINGSPHERED)
|
||||
|
||||
// forward decalare
|
||||
// forward declare
|
||||
class PropertyOutputIterator;
|
||||
class PropertyInputIterator;
|
||||
|
||||
|
||||
/** ClassInterface provides a general means of checking for supported properties of classes, and getting/setting thoses properties.
|
||||
/** ClassInterface provides a general means of checking for supported properties of classes, and getting/setting those properties.
|
||||
Uses the osgDB serializers to do the actual object query/get/set.
|
||||
*/
|
||||
class OSGDB_EXPORT ClassInterface
|
||||
@@ -166,10 +166,10 @@ public:
|
||||
/// run method of object
|
||||
bool run(osg::Object* object, const std::string& methodName, osg::Parameters& inputParameters, osg::Parameters& outputParameters) const;
|
||||
|
||||
/// checked for support of specificed method
|
||||
/// checked for support of specified method
|
||||
bool hasMethod(const std::string& compoundClassName, const std::string& methodName) const;
|
||||
|
||||
/// checked for support of specificed method
|
||||
/// checked for support of specified method
|
||||
bool hasMethod(const osg::Object* object, const std::string& methodName) const;
|
||||
|
||||
|
||||
|
||||
@@ -434,7 +434,7 @@ class OSGDB_EXPORT DatabasePager : public osg::NodeVisitor::DatabaseRequestHandl
|
||||
void compileCompleted(DatabaseRequest* databaseRequest);
|
||||
|
||||
/** Iterate through the active PagedLOD nodes children removing
|
||||
* children which havn't been visited since specified expiryTime.
|
||||
* children which haven't been visited since specified expiryTime.
|
||||
* note, should be only be called from the update thread. */
|
||||
virtual void removeExpiredSubgraphs(const osg::FrameStamp &frameStamp);
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ extern OSGDB_EXPORT std::string getNameLessAllExtensions(const std::string& file
|
||||
extern OSGDB_EXPORT std::string getStrippedName(const std::string& fileName);
|
||||
/** If 'to' is in a subdirectory of 'from' then this function returns the subpath, otherwise it just returns the file name.
|
||||
* The function does \b not automagically resolve paths as the system does, so be careful to give canonical paths.
|
||||
* However, the function interprets slashes ('/') ans backslashes ('\') as they were equal.
|
||||
* However, the function interprets slashes ('/') and backslashes ('\') as they were equal.
|
||||
*/
|
||||
extern OSGDB_EXPORT std::string getPathRelative(const std::string& from, const std::string& to);
|
||||
/** Gets root part of a path ("/" or "C:"), or an empty string if none found. */
|
||||
|
||||
@@ -181,10 +181,10 @@ public:
|
||||
else return 0;
|
||||
}
|
||||
|
||||
/// set an input iterator, used directly when not using InputStream with a traditional file releated stream.
|
||||
/// set an input iterator, used directly when not using InputStream with a traditional file related stream.
|
||||
void setInputIterator( InputIterator* ii ) { _in = ii; }
|
||||
|
||||
/// start reading from InputStream treating it as a traditional file releated stream, handles headers and versioning
|
||||
/// start reading from InputStream treating it as a traditional file related stream, handles headers and versioning
|
||||
ReadType start( InputIterator* );
|
||||
|
||||
void decompress();
|
||||
|
||||
@@ -70,14 +70,17 @@ class OSGDB_EXPORT ObjectCache : public osg::Referenced
|
||||
|
||||
typedef std::pair<std::string, osg::ref_ptr<const osgDB::Options> > FileNameOptionsPair;
|
||||
|
||||
class ClassComp {
|
||||
public:
|
||||
struct ClassComp
|
||||
{
|
||||
bool operator() (const ObjectCache::FileNameOptionsPair& lhs, const ObjectCache::FileNameOptionsPair& rhs) const;
|
||||
};
|
||||
|
||||
|
||||
typedef std::pair<osg::ref_ptr<osg::Object>, double > ObjectTimeStampPair;
|
||||
typedef std::map<FileNameOptionsPair, ObjectTimeStampPair, ClassComp> ObjectCacheMap;
|
||||
|
||||
ObjectCacheMap::iterator find(const std::string& fileName, const osgDB::Options* options);
|
||||
|
||||
ObjectCacheMap _objectCache;
|
||||
OpenThreads::Mutex _objectCacheMutex;
|
||||
|
||||
|
||||
@@ -95,21 +95,9 @@ class OSGDB_EXPORT Options : public osg::Object
|
||||
};
|
||||
|
||||
|
||||
Options():
|
||||
osg::Object(true),
|
||||
_objectCacheHint(CACHE_ARCHIVES),
|
||||
_precisionHint(FLOAT_PRECISION_ALL),
|
||||
_buildKdTreesHint(NO_PREFERENCE) {}
|
||||
Options();
|
||||
|
||||
Options(const std::string& str):
|
||||
osg::Object(true),
|
||||
_str(str),
|
||||
_objectCacheHint(CACHE_ARCHIVES),
|
||||
_precisionHint(FLOAT_PRECISION_ALL),
|
||||
_buildKdTreesHint(NO_PREFERENCE)
|
||||
{
|
||||
parsePluginStringData(str);
|
||||
}
|
||||
Options(const std::string& str);
|
||||
|
||||
Options(const Options& options,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY);
|
||||
|
||||
@@ -257,10 +245,11 @@ class OSGDB_EXPORT Options : public osg::Object
|
||||
|
||||
bool operator < (const Options &rhs) const;
|
||||
bool operator == (const Options &rhs) const;
|
||||
virtual ~Options() {}
|
||||
|
||||
protected:
|
||||
|
||||
virtual ~Options();
|
||||
|
||||
std::string _str;
|
||||
FilePathList _databasePaths;
|
||||
|
||||
|
||||
@@ -173,10 +173,10 @@ public:
|
||||
void writeObjectFields( const osg::Object* obj );
|
||||
void writeObjectFields( const osg::Object* obj, const std::string& compoundName );
|
||||
|
||||
/// set an output iterator, used directly when not using OutputStream with a traditional file releated stream.
|
||||
/// set an output iterator, used directly when not using OutputStream with a traditional file related stream.
|
||||
void setOutputIterator( OutputIterator* oi ) { _out = oi; }
|
||||
|
||||
/// start writing to OutputStream treating it as a traditional file releated stream, handles headers and versioning
|
||||
/// start writing to OutputStream treating it as a traditional file related stream, handles headers and versioning
|
||||
void start( OutputIterator* outIterator, WriteType type );
|
||||
|
||||
void compress( std::ostream* ostream );
|
||||
|
||||
@@ -554,7 +554,7 @@ class OSGDB_EXPORT Registry : public osg::Referenced
|
||||
|
||||
public:
|
||||
/** Functor used in internal implementations.*/
|
||||
struct ReadFunctor
|
||||
struct ReadFunctor : public osg::Referenced
|
||||
{
|
||||
ReadFunctor(const std::string& filename, const Options* options):
|
||||
_filename(filename),
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace osgFX
|
||||
Cartoon();
|
||||
Cartoon(const Cartoon& copy, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
|
||||
|
||||
// effect class informations
|
||||
// effect class information
|
||||
META_Effect(
|
||||
osgFX,
|
||||
Cartoon,
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace osgFX
|
||||
Scribe();
|
||||
Scribe(const Scribe& copy, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
|
||||
|
||||
// effect class informations
|
||||
// effect class information
|
||||
META_Effect(
|
||||
osgFX,
|
||||
Scribe,
|
||||
|
||||
@@ -107,7 +107,7 @@ class OSGGA_EXPORT EventVisitor : public osg::NodeVisitor
|
||||
}
|
||||
|
||||
// The following overrides are technically redundant as the default implementation would eventually trickle down to
|
||||
// apply(osg::Node&); - however defining these explicitely should save a couple of virtual function calls
|
||||
// apply(osg::Node&); - however defining these explicitly should save a couple of virtual function calls
|
||||
virtual void apply(osg::Geode& node) { handle_callbacks_and_traverse(node); }
|
||||
virtual void apply(osg::Billboard& node) { handle_callbacks_and_traverse(node); }
|
||||
virtual void apply(osg::LightSource& node) { handle_callbacks_and_traverse(node); }
|
||||
|
||||
@@ -66,7 +66,7 @@ as appropriate for the viewer.
|
||||
|
||||
Events from the windowing environment are adpated, and then fed into the GUIEventHandlers.
|
||||
The GUIEventHandlers analyse and take action, and make requests of the windowing
|
||||
environemnt via the GUIActionAdapter. The viewer writer should then honour these
|
||||
environment via the GUIActionAdapter. The viewer writer should then honour these
|
||||
requests, translating them into calls to the windowing API.
|
||||
|
||||
*/
|
||||
|
||||
@@ -44,7 +44,7 @@ class OSGGA_EXPORT KeySwitchMatrixManipulator : public CameraManipulator
|
||||
void addMatrixManipulator(int key, std::string name, CameraManipulator *cm);
|
||||
|
||||
/**
|
||||
Add a camera manipulator with an autogenerated keybinding which is '1' + previous number of camera's registerd.
|
||||
Add a camera manipulator with an autogenerated keybinding which is '1' + previous number of camera's registered.
|
||||
*/
|
||||
void addNumberedMatrixManipulator(CameraManipulator *cm);
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
#include <osg/BoundingSphere>
|
||||
#include <osg/MatrixTransform>
|
||||
#include <osgUtil/SceneView>
|
||||
#include <osgUtil/IntersectVisitor>
|
||||
#include <osgGA/GUIEventAdapter>
|
||||
#include <osgGA/GUIActionAdapter>
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <osgManipulator/RotateSphereDragger>
|
||||
#include <osg/ShapeDrawable>
|
||||
#include <osg/Geometry>
|
||||
#include <osg/Geode>
|
||||
#include <osg/LineWidth>
|
||||
|
||||
namespace osgManipulator {
|
||||
|
||||
@@ -279,10 +279,6 @@ namespace osgParticle
|
||||
ParticleSystem& operator=(const ParticleSystem&) { return *this; }
|
||||
|
||||
inline void update_bounds(const osg::Vec3& p, float r);
|
||||
void single_pass_render(osg::RenderInfo& renderInfo, const osg::Matrix& modelview) const;
|
||||
void render_vertex_array(osg::RenderInfo& renderInfo) const;
|
||||
|
||||
void new_drawImplementation(osg::RenderInfo& renderInfo) const;
|
||||
|
||||
typedef std::vector<Particle> Particle_vector;
|
||||
typedef std::stack<Particle*> Death_stack;
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2018 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef OSG_ANIMATIONMATERIAL
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2018 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef OSG_COMPILESLIDECALLBACK
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
|
||||
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2018 Robert Osfield
|
||||
*
|
||||
* This software is open source and may be redistributed and/or modified under
|
||||
* the terms of the GNU General Public License (GPL) version 2.0.
|
||||
* The full license is in LICENSE.txt file included with this distribution,.
|
||||
* This library is open source and may be redistributed and/or modified under
|
||||
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
||||
* (at your option) any later version. The full license is in LICENSE file
|
||||
* included with this distribution, and on the openscenegraph.org website.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* include LICENSE.txt for more details.
|
||||
* OpenSceneGraph Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef KEYEVENTHANDLER
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user