Robert Osfield
a28588a84c
Introduce GraphicsOperation subclass from osg::Operation, and osgUtil::GLObjectOperation
...
for compiling subgraphs.
2007-07-13 17:25:35 +00:00
Robert Osfield
ecf0b58a19
Renamed include/osg/OperationsThread to OperationThread.
...
Created a new GraphicsThread subclass from OperationThread which allows the
GraphicsContext specific calls to be moved out of the base OperationThread class.
Updated the rest of the OSG to respect these changes.
2007-07-12 15:54:45 +00:00
Robert Osfield
6931ae4878
Added include/osg/GLObjects + .cpp which provide osg::flush*DeletedGLObjects() methods.
...
Added and cleaned up DeleteHandler calls in osgViewer to help avoid crashes on exit.
Changed DatabasePager across to dynamically checcking osg::getCompileContext(..)
Updated wrappers.
2007-07-06 13:08:51 +00:00
Robert Osfield
eac3dc1963
From Paul Melis, "Here is a list of fixes to misspelled APIs. Unfortunately, more than one
...
of these are public APIs and therefore will break linkage to existing
shared libraries."
Note from Robert Osfield, updated wrappers.
2007-06-27 20:36:16 +00:00
Robert Osfield
1b3468413d
Added ability to compile OpenGL objects via pbuffers in the DatabasePager/Viewer
2007-06-22 14:48:18 +00:00
Robert Osfield
ad3cac84e9
Moved Block, ReentrantMutex and ReadWriteMutex into OpenThreads.
2007-02-23 16:31:34 +00:00
Robert Osfield
4f87afdbf5
Improved the robustness of thread start and cancellation
2007-01-03 16:06:12 +00:00
Robert Osfield
3177494aa4
From Bryan Thrall, "Currently, the DatabasePager always loads requested Nodes using the
...
default Registry Options object, but it would be useful to be able to
request loading with a different Options object. The attached files
allow you to do that (based off the OSG 1.2 source).
For example, I'm implementing a loader that requires context information
when it pages in subgraphs, which becomes significantly complicated when
multiple scenegraphs are requesting subgraph loads with different
contexts (the loader needs to know which context to use, and the
Registry Options needs to be carefully managed so the context settings
don't clobber each other, especially in multithreaded situations). Being
able to pass an Options instance along with the Node request resolves
this problem."
2006-12-05 14:50:46 +00:00
Robert Osfield
d0cc014f1b
Further migration to using RenderInfo
2006-11-14 12:51:31 +00:00
Robert Osfield
43e65c11b1
Added if search for the current databaseRequest in the _fileRequestList to handle
...
cases when the request is moved back in the list, or when the _fileRequestList is cleared
by an asyncronous call to DatabasePager::clear().
2006-08-03 19:14:52 +00:00
Robert Osfield
f09259f4f9
Improved the env var reporting to avoid the overlong lines.
2006-01-23 20:38:28 +00:00
Robert Osfield
4167bc3673
Standardised compile code to use _maximumNumOfObjectsToCompilePerFrame.
2006-01-02 12:03:18 +00:00
Robert Osfield
f77b38ae9c
Added DatabasePager::s/getDrawablePolicy() to allow the way that the display list/VBO settings
...
are applied to loaded databases.
2005-11-22 13:14:00 +00:00
Robert Osfield
3810d3b850
From Norman Vine, fixed small typo.
2005-08-30 09:33:42 +00:00
Robert Osfield
51faa7e43a
Various updates to support the new GraphicsThread class.
2005-08-18 20:17:51 +00:00
Robert Osfield
0d8e38f9ee
Tweaks for better OSX paging support, 6 and 9 keys for control drive manipulator
...
up and down looking, and removed redundent API from osg::Geometry.
2005-07-07 14:14:38 +00:00
Robert Osfield
44b8b0177c
Added ability to toggle on/off the pre compile of OpenGL objects in the
...
DatabasePager via the setDoPreCompile(bool) method or via the env var
OSG_DO_PRE_COMPILE=ON or OFF.
2005-05-31 05:37:13 +00:00
Robert Osfield
ac5ffa2bec
Added support for reading:
...
OSG_MINIMUM_COMPILE_TIME_PER_FRAME <float>
and
OSG_MAXIMUM_OBJECTS_TO_COMPILE_PER_FRAME <int>
environmental variable during the initialization of the DatabasePager
to allow apps to be tweaked for best database pager behavior.
2005-05-30 16:15:11 +00:00
Robert Osfield
fcd2f504e6
Added check for an empty compile lists.
2005-05-24 10:46:21 +00:00
Robert Osfield
4262366f62
Added THREAD_ infront of PRIORITY_MIN settings to reflect changes to OpentThreads
2005-04-24 19:30:01 +00:00
Robert Osfield
7d24d9fdd5
Added #include <algorithm>
2005-04-08 12:22:03 +00:00
Robert Osfield
8bb4649cd5
Added extra controls into osgDB::DatabasePager for customizing how
...
much time is allocated to compiling and deleting OpenGL objects, also
added support into osgProducer::OsgSceneHandler.cpp for these new parameters.
The new cotrols are:
DatabasePager::s/getTargetFrameRate(..)
DatabasePager::s/getMinimumTimeAvailableForGLCompileAndDeletePerFrame()
DatabasePager::s/getMaximumNumOfObjectsToCompilePerFrame()
2005-03-17 19:32:09 +00:00
Robert Osfield
65d4e0428e
Removed notify from destructor wait for cancel loop.
2004-11-19 09:02:00 +00:00
Robert Osfield
e9c403839d
Made a few of the public methods virtual, and moved more of the class
...
methods to protected scope.
2004-11-17 14:25:17 +00:00
Robert Osfield
0c24cf48b8
Added a mutex and _numFramesActive count to track multiview usages of
...
the DatabasePager.
2004-09-28 08:39:46 +00:00
Robert Osfield
1068667b86
Changed the pruning of database requests so that the frame number need
...
not be identical to pass, a delta of 1 is now pemssible
2004-09-27 10:42:14 +00:00
Robert Osfield
1b31024cd5
Clean up of new DatabasePager code, and change of osgProducer so that
...
DatabasePager support is now integrated into the OsgSceneHandler.
2004-09-23 18:50:38 +00:00
Robert Osfield
5b0739bcf0
Updates for better DatabasePager peformance w.r.t constant frame rates.
2004-09-23 12:27:56 +00:00
Robert Osfield
1a03a08f4a
Added a extra debugging comment
2004-09-22 09:28:40 +00:00
Robert Osfield
54b45ce3bc
Updated to DatabasePager support
2004-09-21 21:33:52 +00:00
Robert Osfield
0d884d66eb
Various improvements to database paing.
2004-09-21 17:26:08 +00:00
Robert Osfield
0750a19aa6
Added clear(), setDatabasePagerThreadPause() and setAcceptNewDatabaseRequests() methods
...
and new local implementation of cancel().
2004-09-19 20:09:54 +00:00
Robert Osfield
8bce22343b
Various improvements to the DatabasePager with the aim to achieve
...
constant framerates and minimizing memory consumption.
2004-09-18 19:28:45 +00:00
Robert Osfield
2bfc9c855c
Removed eroneous cancel() and join() from the DatabasePager::run() method.
2004-08-27 12:04:29 +00:00
Robert Osfield
e871adae1a
Changed the database pager run message to only output at an info level
2004-08-10 18:31:43 +00:00
Robert Osfield
c9f5749c12
Added preliminary support for thread safety in various delete GLobjects code
2004-07-21 19:16:49 +00:00
Robert Osfield
aa833acfd3
Added support for releasing GLObjects, and renamed DisplayListVisitor the
...
GLObjectVisitor to better fit its function, and added support for releasing
objects as well as compiling them.
2004-07-20 05:37:59 +00:00
Robert Osfield
47910f2c2e
Removed enabling of use client stage storage hint.
2004-07-12 17:30:36 +00:00
Robert Osfield
6fd4677868
Added OPTIMIZER_TEXTURE_SETTINGS pass to Optimizer, which enables
...
unref image data after apply, client storage hint.
2004-07-12 13:20:18 +00:00
Robert Osfield
ed08f7a5a9
Added unref image data on apply automatically to all textures being loaded.
2004-07-12 10:23:15 +00:00
Robert Osfield
f02c75f5ea
Added Vec2d, Vec3d and Vec4d classes, and remapped Vec2, Vec3 and Vec4 to
...
Vec2f, Vec3f an Vec4f respectively, with typedef's to the from Vec* to Vec*f.
2004-05-20 10:15:48 +00:00
Robert Osfield
3223a87935
Moved the destructor block->release to after the cancel().
2004-03-13 16:29:29 +00:00
Robert Osfield
675d38d6f3
Increased expiry delay from 1 second to 30 seconds
2004-02-01 17:17:16 +00:00
Robert Osfield
b49f70f0ef
Made the thread priority outwith the frame PRIORITY_MIN
2004-01-28 20:17:10 +00:00
Robert Osfield
43df3b90ef
Fixed problems with the DatabasePager free of texture objects and display
...
list before they are finished with.
2004-01-27 14:49:59 +00:00
Robert Osfield
f21a70a4e7
Set the delete of expired subgraphs in the database thread to false, to
...
prevent problems with osgText. Will need to solve the dirtyTextureObject
issue.
2004-01-26 14:51:01 +00:00
Robert Osfield
e17df6a8a5
Added release of file request block in the DatabasePager destructor.
2004-01-24 09:41:29 +00:00
Robert Osfield
84737941e1
Added controls over the datatbase pager threading priority during and outwith the frame.
2004-01-22 10:42:32 +00:00
Robert Osfield
23443aa5db
From Alberto Farre, added osgDB::SharedStateManager. Also a couple of
...
ammendments by Robert Osfield, adding get/setSharedStateManager()
methods into osgDB::Registry, and clean up fixes in SharedStateManager
for the StateSet arrays.
2004-01-10 17:13:20 +00:00
Robert Osfield
2f918d62d7
Added DatabasePager::setUseFrameBlock(bool) method
2004-01-07 12:37:44 +00:00