19 #include <tbb/atomic.h>
21 #include <boost/thread/condition_variable.hpp>
27 class DtOsgCullVisitor;
29 class DtIndirectTextureResidencyManager;
52 virtual void operator () (osg::Object * sv);
55 virtual void release();
84 virtual void launchTextureLoadsIfNecessary(
DtOsgRenderer* renderer);
87 virtual void ts_addTexturesToLoad(
int beforeTextureIndex,
int afterTextureIndex,
OsgTexturesArray& textures);
93 virtual unsigned int streamTexturesToGpu(
const osg::RenderInfo& renderInfo);
96 virtual unsigned int texturesUpdatedFrameNum()
const;
99 virtual int numTexturesRemaining()
const;
102 virtual void releaseGLObjects(osg::State* state)
const;
105 virtual bool ts_setCompressionDisabledHint(
osg::Image* image,
bool val)
const;
108 virtual bool ts_compressionDisabledHint(
osg::Image* image)
const;
111 virtual void stopWork();
115 virtual int numTexturesToLoad()
const;
119 virtual int numTexturesLoading()
const;
125 virtual bool inJobQueue()
const;
128 virtual boost::condition_variable& waitCondition();
132 virtual bool inTextureToGCMap(
const osg::GraphicsContext* graphicsContext, osg::Texture::TextureObject* textureObject)
const;
135 virtual void makeTexturesResidentIfNeeded(
const osg::RenderInfo& renderInfo)
const;
138 virtual void setTextureLoadTimeSlicePeriod(
float period);
145 virtual float textureLoadTimeSlicePeriod(
void)
const;
158 virtual osg::Operation * createJob();
162 virtual void printStats(
void)
const;
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneG...
Definition: DtOsgRenderer.h:90
DtMeifConverter myImageCompressor
Definition: DtIndirectTextureProcessor.h:179
OpenThreads::Mutex myWorkMutex
Definition: DtIndirectTextureProcessor.h:181
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Class responsible for converting images into MAK encrypted image files.
Definition: DtMeifConverter.h:25
unsigned int myTexturesUpdatedFrameNum
Definition: DtIndirectTextureProcessor.h:177
Definition: featureContext.h:37
DtVirtualBaseClassCreator< DtIndirectTextureProcessor > DtIndirectTextureProcessorCreator
Definition: DtIndirectTextureProcessor.h:31
Definition: DtIndirectTextureProcessor.h:44
Manager class that handles texture objects and texture residency, as contexts get created and destroy...
Definition: DtIndirectTextureResidencyManager.h:48
SetTextures myMutableTexturesToLoad
Definition: DtIndirectTextureProcessor.h:167
float myTextureLoadTimeSlicePeriod
time slice period to load textures
Definition: DtIndirectTextureProcessor.h:173
tbb::atomic< bool > myInJobQueue
Definition: DtIndirectTextureProcessor.h:175
const char * creatorTypeName< DtIndirectTextureProcessor >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectTextureProcessor.h:37
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
bool myStopWork
Definition: DtIndirectTextureProcessor.h:180
std::vector< DtIndirectGeometryTexturesRefPtr > OsgTexturesArray
Definition: DtIndirectGeometryTextures.h:138
IMGUI_API void Image(ImTextureID user_texture_id, const ImVec2 &size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1), const ImVec4 &border_col=ImVec4(0, 0, 0, 0))
class to hold osg Textures (diffuse map texture + effect textures) basically just a list of osg textu...
Definition: DtIndirectGeometryTextures.h:26
DtIndirectTextureResidencyManager * myTextureResidencyManager
handle residency, textures as contexts get created/destroyed
Definition: DtIndirectTextureProcessor.h:185
std::set< osg::ref_ptr< osg::Texture > > SetTextures
Definition: DtIndirectTextureProcessor.h:165
osg::ref_ptr< DtIndirectTextureProcessor > myTextureProcessor
Definition: DtIndirectTextureProcessor.h:58
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
Definition: DtIndirectTextureProcessor.h:40
boost::condition_variable myWaitCondition
Definition: DtIndirectTextureProcessor.h:182
Contains makVrv::DtMeifConverter class.
SetTextures myMutableTexturesLoaded
Definition: DtIndirectTextureProcessor.h:169
SetTextures myMutableTexturesLoading
Definition: DtIndirectTextureProcessor.h:168
SetTextures myMutableTexturesFailed
Definition: DtIndirectTextureProcessor.h:170
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtDe & myDe
Definition: DtIndirectTextureProcessor.h:187
Contains the DtIndirectGeometryTextures class declaration.
friend DtIndirectTextureProcessorCreator
The creator class needs to be a friend so it can create this class.
Definition: DtIndirectTextureProcessor.h:63
unsigned int myLastFrameNumber
Definition: DtIndirectTextureProcessor.h:178