| virtual makVrv::DtIndirectTextureProcessor::~DtIndirectTextureProcessor |
( |
| ) |
|
|
virtual |
| makVrv::DtIndirectTextureProcessor::DtIndirectTextureProcessor |
( |
| ) |
|
|
privatedelete |
cannot create without DtDe
Copy Constructor not implemented – Copy Not Allowed.
Assignment Operator Not implemented – Assignment Not Allowed.
| virtual void makVrv::DtIndirectTextureProcessor::launchTextureLoadsIfNecessary |
( |
DtOsgRenderer * |
renderer | ) |
|
|
virtual |
called by cull thread and pager threads to starts the job in the main thread if there is anything to load
adds textures myWorkMutex is used as a guard internally.
| virtual void makVrv::DtIndirectTextureProcessor::ts_addTextureToLoad |
( |
osg::Texture * |
texture, |
|
|
int |
flags |
|
) |
| |
|
virtual |
thread safe function for adding a single osg texture to the list of textures to load.
| virtual void makVrv::DtIndirectTextureProcessor::ts_unloadTextures |
( |
const std::set< osg::ref_ptr< osg::Texture > > & |
texturesToUnload | ) |
|
|
virtual |
thread safe function for unloading a specific set of textures loaded here (used by gt)
| virtual void makVrv::DtIndirectTextureProcessor::ts_moveToToLoadIfNotInToLoadOrLoadingOrNotLoaded |
( |
const std::map< osg::ref_ptr< osg::Texture >, int > & |
texturesToUnload | ) |
|
|
virtual |
thread safe function for reloading a specific set of textures (previously loaded here) (used by gt)
| virtual unsigned int makVrv::DtIndirectTextureProcessor::streamTexturesToGpu |
( |
const osg::RenderInfo & |
renderInfo | ) |
|
|
virtual |
Called by jobs system job to actually send the texture data down.
| virtual unsigned int makVrv::DtIndirectTextureProcessor::texturesUpdatedFrameNum |
( |
| ) |
const |
|
virtual |
gets the last frame that the textures were updated in
| virtual int makVrv::DtIndirectTextureProcessor::numTexturesRemaining |
( |
| ) |
const |
|
virtual |
get the number of textures that are still needing to be loaded or in the process of loading.
| virtual void makVrv::DtIndirectTextureProcessor::releaseGLObjects |
( |
osg::State * |
state | ) |
const |
|
virtual |
release internal gl data.
| virtual void makVrv::DtIndirectTextureProcessor::stopWork |
( |
| ) |
|
|
virtual |
stops the texture loading job
| virtual int makVrv::DtIndirectTextureProcessor::numTexturesToLoad |
( |
| ) |
const |
|
virtual |
helps figure out if there's still work to do returns the number of textures yet to load
| virtual int makVrv::DtIndirectTextureProcessor::numTexturesLoading |
( |
| ) |
const |
|
virtual |
helps figure out if there's still work to do returns the number of textures still loading
| virtual bool makVrv::DtIndirectTextureProcessor::texureFailed |
( |
osg::Texture * |
texture | ) |
const |
|
virtual |
check to see if a particular texture falied to load.
| virtual bool makVrv::DtIndirectTextureProcessor::inJobQueue |
( |
| ) |
const |
|
virtual |
is texture processor still running in the main thread job system?
| virtual boost::condition_variable& makVrv::DtIndirectTextureProcessor::waitCondition |
( |
| ) |
|
|
virtual |
used as sync point between CDB background pagers and indirect system
| virtual bool makVrv::DtIndirectTextureProcessor::inTextureToGCMap |
( |
const osg::GraphicsContext * |
graphicsContext, |
|
|
unsigned int |
textureObject |
|
) |
| const |
|
virtual |
Check if we have already added a texture object to our list of textures object by graphics context if we have already added then return true.
| virtual bool makVrv::DtIndirectTextureProcessor::readyForBindless |
( |
const DtIndirectGlTextureObject * |
indirectGlTextureObject, |
|
|
const osg::GraphicsContext * |
graphicsContext |
|
) |
| const |
|
virtual |
whether a valid gl texture object and resident in the given graphics context
| virtual void makVrv::DtIndirectTextureProcessor::makeTexturesResidentIfNeeded |
( |
const osg::GraphicsContext * |
graphicsContext | ) |
const |
|
virtual |
makes textures ready for bindless.
| virtual void makVrv::DtIndirectTextureProcessor::setTextureLoadTimeSlicePeriod |
( |
float |
period | ) |
|
|
virtual |
Set the time slice period/budget to load textures per tick (in seconds). Textures are loaded in incrementally in time slices. In a tick, if the time taken to load texture(s) exceeds the time slice period/budget, the remainder textures are loaded in the subsequent ticks (again in time slices). Default value is 2ms (0.002 seconds)
| virtual float makVrv::DtIndirectTextureProcessor::textureLoadTimeSlicePeriod |
( |
void |
| ) |
const |
|
virtual |
Set the time slice period/budget to load textures per tick (in seconds). Textures are loaded in incrementally in time slices. In a tick, if the time taken to load texture(s) exceeds the time slice period/budget, the remainder textures are loaded in the subsequent ticks (again in time slices). Default value is 2ms (0.002 seconds)
get the gl texture object corresponding to this osg::Texture (that was loaded here) If the texture is still loading internally, nullptr is returned
| virtual void makVrv::DtIndirectTextureProcessor::addTextureToLoad |
( |
osg::Texture * |
texture, |
|
|
int |
flags |
|
) |
| |
|
protectedvirtual |
adds an individual texture to the queue
| virtual osg::Operation* makVrv::DtIndirectTextureProcessor::createTextureLoadJob |
( |
| ) |
|
|
protectedvirtual |
creates a job for the main thread to run
| virtual void makVrv::DtIndirectTextureProcessor::printStats |
( |
void |
| ) |
const |
|
protectedvirtual |
for debugging. print textures to load, loading loaded, failed
so that the job can access/mark the above atomic
| friend makVrv::DtIndirectTextureProcessor::DtIndirectTextureProcessorCreator |
The creator class needs to be a friend so it can create this class.
| SetTextures makVrv::DtIndirectTextureProcessor::myMutableTexturesFailed |
|
mutableprotected |
| float makVrv::DtIndirectTextureProcessor::myTextureLoadTimeSlicePeriod |
|
protected |
time slice period to load textures
| tbb::atomic<bool> makVrv::DtIndirectTextureProcessor::myInJobQueue |
|
protected |
| unsigned int makVrv::DtIndirectTextureProcessor::myTexturesUpdatedFrameNum |
|
mutableprotected |
| unsigned int makVrv::DtIndirectTextureProcessor::myLastFrameNumber |
|
protected |
| bool makVrv::DtIndirectTextureProcessor::myStopWork |
|
protected |
| OpenThreads::Mutex makVrv::DtIndirectTextureProcessor::myWorkMutex |
|
mutableprotected |
| boost::condition_variable makVrv::DtIndirectTextureProcessor::myWaitCondition |
|
protected |
handle residency, textures as contexts get created/destroyed
| DtDe& makVrv::DtIndirectTextureProcessor::myDe |
|
protected |
cached reference to the de keyed texture object manager
The documentation for this class was generated from the following file: