Commit Graph

542 Commits

Author SHA1 Message Date
Robert Osfield
b70ffc9b8a Moved constructors and destructors to .cpp 2018-05-11 11:15:45 +01:00
Robert Osfield
5e6b081bb0 Revert "Moved the Options constructors and destructor implementaions into the cpp to make it easier to do debugging"
This reverts commit 479a4eefc5.
2018-05-11 11:13:19 +01:00
Robert Osfield
747162e5b6 Fixed crash the occurred when passing in a osgDB::Options to the ObjectCache that doesn't have any references to it. 2018-05-11 09:01:50 +01:00
Robert Osfield
479a4eefc5 Moved the Options constructors and destructor implementaions into the cpp to make it easier to do debugging 2018-05-11 09:01:50 +01:00
Robert Osfield
863dee52e2 Replaced std::auto_ptr<> usage as it's deprecated in C++11 and will be removed in C++17 2018-05-05 12:35:51 +01:00
Alberto Luaces
bc4f181d41 Fix typos and spelling. 2018-04-20 18:18:22 +02:00
Daniel Emminizer
5063a0b41a osgDB: Added missing extern OSGDB_EXPORT. 2018-04-05 18:01:29 +01:00
Robert Osfield
decaf57fef Quietened down debug message output for osgText shader setup and Drawable::createVertexArrayStateImplementation 2018-04-05 14:14:49 +01:00
OpenSceneGraph git repository
4c3141b62e
Fixed indentation 2018-03-23 17:00:00 +00:00
Haojia Yu
415a747049 Revert "Revert "write binary file with a specific so version""
This reverts commit 0ae6f7fea6.
2018-03-23 22:49:47 +08:00
Haojia Yu
0ae6f7fea6 Revert "write binary file with a specific so version"
This reverts commit b5bf8864b1.
2018-03-23 22:48:11 +08:00
Haojia Yu
b5bf8864b1 write binary file with a specific so version
when write binary file, like osgb file, users can set plugin string data, such as "TargetFileVersion=80", to options object, then the features of output file will be limitted to so version 80.
2018-03-23 22:31:12 +08:00
Hartwig
41e9cd3157 Replacement of commas with semicolons 2017-10-22 15:04:33 +02:00
Robert Osfield
ddf8c68d26 Added support for multiple --login url username password entries to osgviewer 2017-10-05 15:37:03 +01:00
Robert Osfield
9f3533632a Added ability for OSG serializers to get the file version number when writing out via the OutputStream object 2017-06-19 12:04:03 +01:00
Laurens Voerman
36fc30d8e7 avoid INFO message about duplicate enums with and without _EXT 2017-04-07 15:56:32 +02:00
Robert Osfield
61782d8f29 Build fixes 2017-03-11 12:31:19 +00:00
d-a-heitbrink
7b3fc0925c Merge branch 'master' of https://github.com/openscenegraph/OpenSceneGraph 2017-03-01 16:12:49 -06:00
scrawl
09ca132102 Remove redundant handling of Geode in SharedStateManager 2017-02-03 17:35:40 +01:00
d-a-heitbrink
3d2f4ea404 Added support for Bindless texture extension,
64 bit uniforms, 64 bit buffers
Added new bindless texture example
2017-01-13 09:56:42 -06:00
Robert Osfield
ddbb1cb064 Removed todo that is not required 2016-11-15 09:47:48 +00:00
Robert Osfield
87a3648e68 To avoid noise in documentation replaced nested namespaced enum with enum with FILE_COPY_ wording prefixed into enum values. 2016-11-15 08:57:24 +00:00
Robert Osfield
80f75bcbdd Fixed doxygen warnings 2016-11-15 08:37:05 +00:00
Robert Osfield
ee97db3488 Introduced OpenThreads::Affinity support into osg::Camera, osg::GraphicsContext::Traitse, osgDB::DatabasePager and osgViewer::ViewerBase/Viewer/CompositeViewer.
Added ViewerBase::configureAffinity() to help with the setting of the affinity of camera, graphics context and pager threads
2016-10-07 12:17:03 +01:00
Robert Osfield
77c5e96ccb Added DatabasePager::setProcessorAffinity(const OpenThreads::Affinity&) support to allow the database threads to have affinity to user controls sets of CPU cores. 2016-10-07 12:17:03 +01:00
James Turner
ea9f479674 Attempt to fix broken DLL exports from osgDB
Only export the osgDB method implementations, instead of the entire
class, and hence avoid exporting symbols from the base class, which
then conflict with other compilation units when linking.

This avoids the need for /FORCE:MULTIPLE linker option with MSVC.
2016-08-15 22:21:44 +01:00
Robert Osfield
74f1cc1ec4 Improved casting to address crashes when handling classes that use virtual inheritance. 2016-07-06 11:36:47 +01:00
Philippe Renon
22d53357d3 split requiresUpdateSceneGraph() into requires update and requires redraw (wip) 2016-07-04 23:19:20 +02:00
Robert Osfield
ca0fff8313 Added extern and export 2016-06-25 16:32:58 +01:00
Robert Osfield
1204c32430 Changed back to requiring osgDB namespace so it's clearer where function comes from. 2016-06-25 16:13:56 +01:00
Robert Osfield
ed59753741 Added namespace prefix 2016-06-25 16:10:56 +01:00
Robert Osfield
6d7d58fa12 Added osgDB::stringcopy and stringcopyfixedsize 2016-06-25 16:08:15 +01:00
Cedric Pinson
0ecb52ff82 Submitted with fixes by Julian Valentin 2016-06-25 07:49:56 +01:00
Robert Osfield
a5ec8b7eda Added initializers 2016-06-22 12:08:10 +01:00
Robert Osfield
1d7f75c490 Added initializer 2016-06-22 12:03:10 +01:00
Robert Osfield
f7afd3bab2 Added initializer 2016-06-22 11:51:04 +01:00
Robert Osfield
acaf9fd720 Added initializer 2016-06-22 11:48:30 +01:00
Ralf Habacker
7876c7915b clang 6.0 compile fixes. 2016-06-20 10:32:42 +01:00
Ralf Habacker
69929f596f Fix finding object cache entries. 2016-06-20 10:26:12 +01:00
Ralf Habacker
85cd1c456f Identify files in object cache by filename and optional provided options.
Objects with the same filename may be different from others based on the provided
plugin options. Using filename *and* the provided options as object cache key
helps to avoid fetching the wrong object.
2016-06-14 12:27:33 +01:00
Julien Valentin
2ac8379cfc osgDB Wrapper Associates Revision Tagging 2016-06-14 11:43:45 +01:00
Robert Osfield
d3c6dc6f34 Fixed doxygen warnings 2016-06-01 14:20:14 +01:00
Pjotr Svetachov
1823341cce small optimization to the osgb/t serializers. 2016-05-31 11:27:30 +01:00
Robert Osfield
c36c0033fd Fixed shadows warnings 2016-05-23 20:02:36 +01:00
Robert Osfield
58f940c0f1 Updated the AuthenticationDetails::HttpAuthentication enum to reflect current libcurl values 2016-02-18 19:53:36 +00:00
Robert Osfield
4deca2d38b From Jannik Heller and Robert Osfield, introduced ReadResult/WriteResult::statusMessage() method that creates a std::string from the stutus value and message string. 2016-01-25 12:23:04 +00:00
Robert Osfield
dd996a3289 Introduced CMake option OSG_PROVIDE_READFILE option that defaults to ON, but when switched to OFF disables the building of the osgDB::read*File() methods,
forcing users to use osgDB::readRef*File() methods.  The later is preferable as it closes a potential threading bug when using paging databases in conjunction
with the osgDB::Registry Object Cache.  This threading bug occurs when one thread gets an object from the Cache via an osgDB::read*File() call where only
a pointer to the object is passed back, so taking a reference to the object is delayed till it gets reassigned to a ref_ptr<>, but at the same time another
thread calls a flush of the Object Cache deleting this object as it's referenceCount is now zero.  Using osgDB::readREf*File() makes sure the a ref_ptr<> is
passed back and the referenceCount never goes to zero.

To ensure the OSG builds when OSG_PROVIDE_READFILE is to OFF the many cases of osgDB::read*File() usage had to be replaced with a ref_ptr<> osgDB::readRef*File()
usage.  The avoid this change causing lots of other client code to be rewritten to handle the use of ref_ptr<> in place of C pointer I introduced a serious of
templte methods in various class to adapt ref_ptr<> to the underly C pointer to be passed to old OSG API's, example of this is found in include/osg/Group:

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

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

These changes together cover 149 modified files, so it's a large submission. This extent of changes are warrent to make use of the Object Cache
and multi-threaded loaded more robust.



git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15164 16af8721-9629-0410-8352-f15c8da7e697
2015-10-22 13:42:19 +00:00
Robert Osfield
34794c5c27 From Laurens Voerman, "I found that using an ImageSequence with mode PAGE_AND_DISCARD_USED_IMAGES triggers the (3) imageThreads to run and never stop, even when no more work is to be done. This is due to a bug in the stop condition currently setting the thread to stop and wait for a signal only when no work needs to be done AND the databasepager is paused.
It should stop and wait for a signal on either of those two. Due to a few logical inversions it boils down to replacing || with &&

OLD _block->set((!_requestList.empty() || !_pager->_databasePagerThreadPaused));
NEW _block->set((!_requestList.empty() && !_pager->_databasePagerThreadPaused));//release the threads to run IF (work_to_be_done && not_paused)

This bug is present since svn rev 8663 (just before 2.6.0 release)


attached is a zip with the files:

OpenSceneGraph\include\osgDB\ImagePager



This file is valid for svn branch and stable 3.2 and 3.4
branches 2.6 - 3.0 have the same bug, but other differences in the file."


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15125 16af8721-9629-0410-8352-f15c8da7e697
2015-09-04 15:04:58 +00:00
Robert Osfield
53a850c671 Fixed warning by removing redundent check
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15118 16af8721-9629-0410-8352-f15c8da7e697
2015-09-04 14:23:55 +00:00
Robert Osfield
11a55ea6de Added supoort for osg::CullSettings/Camera::InheritanceMaskActionOnAttributeSetting and InheritanceMask properties.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14904 16af8721-9629-0410-8352-f15c8da7e697
2015-06-09 16:49:20 +00:00