22 #include <unordered_map>
31 class DtInstanceContainer;
88 virtual void addUvOffsetAnnotation(
int perGeomInstanceIndex,
unsigned int uvOffsetStartId);
91 virtual void removeUvOffsets(
int instanceId);
94 virtual void setUvOffset(
const std::string& annotation,
int instanceId,
float uOffset,
float vOffset);
97 virtual void scrollUv(
int instanceId,
float uOffset,
float vOffset);
100 virtual void annotationAndUvOffsets(
int instanceId, std::vector<DtIndirectAnnotationAndUvOffset>& annotations)
const;
104 virtual void setPureSignalBasedUvOffsets(
bool val);
108 virtual bool pureSignalBasedUvOffsets(
void)
const;
111 virtual void processUvOffsets(
void);
114 virtual void releaseGLObjects(osg::State* state)
const;
117 virtual const DtGlBuffer* gpuUvOffsetBuffer(
void)
const;
122 virtual void updateUvOffsetBufferIfNecessary(
void);
125 virtual void deleteBuffers(
void);
128 virtual void tearDownBuffers(
void)
const;
MapInstancesToScrollableUvOffsetIds myMapInstancesToScrollableUvOffsetIds
Definition: DtIndirectUvOffsetManager.h:133
parent manager class for all Indirect managers.
Definition: DtIndirectManager.h:26
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
const char * creatorTypeName< DtIndirectUvOffsetManager >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectUvOffsetManager.h:43
Contains makVrv::DtIndirectManager class.
voidpf void uLong size
Definition: ioapi.h:39
bool myPureSignalBasedSwitches
Definition: DtIndirectUvOffsetManager.h:150
Definition: DtIndirectUvOffsetManager.h:59
friend DtIndirectUvOffsetManagerCreator
only creator can create
Definition: DtIndirectUvOffsetManager.h:67
float uOffset
Definition: DtIndirectUvOffsetManager.h:61
bool myMutableUvOffsetsDirty
Definition: DtIndirectUvOffsetManager.h:135
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
VectorUvOffsets myVectorUvOffsets
Definition: DtIndirectUvOffsetManager.h:146
std::map< std::string, unsigned int > AnnotationToUvOffsetMap
Definition: DtIndirectUvOffsetManager.h:53
float vOffset
Definition: DtIndirectUvOffsetManager.h:62
std::map< int, AnnotationToUvOffsetMap > MapIntToAnnotationToUvOffsetMap
Definition: DtIndirectUvOffsetManager.h:54
DtReusableMemoryVector< UvOffset, UvOffsetInitializer > VectorUvOffsets
Definition: DtIndirectUvOffsetManager.h:145
Definition: DtIndirectUvOffsetManager.h:138
A generic OpenGL buffer.
Definition: DtGlBuffer.h:27
Contains makVrv::DtIndirectAnnotationAndUvOffset class.
DtGlBuffer * myGpuUvOffsetBuffer
Definition: DtIndirectUvOffsetManager.h:148
Contains makVrv::DtReusableMemoryVector class.
std::unordered_map< int, ScrollableUvOffsetIdsAndMultipliers > MapInstancesToScrollableUvOffsetIds
Definition: DtIndirectUvOffsetManager.h:56
handles the uv offsets for all the indirect geometry.
Definition: DtIndirectUvOffsetManager.h:49
Contains DLL export macros.
DtVirtualBaseClassCreator< DtIndirectUvOffsetManager, DtInstanceContainer & > DtIndirectUvOffsetManagerCreator
creator
Definition: DtIndirectUvOffsetManager.h:36
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Helper class to manage instances This class allows you to add a DtInstance_64 Internally, however it stores this as a DtInstance (which the GPU can directly read)
Definition: DtInstanceContainer.h:31
std::unordered_map< int, Vector2_32 > ScrollableUvOffsetIdsAndMultipliers
Definition: DtIndirectUvOffsetManager.h:55
MapIntToAnnotationToUvOffsetMap myMapIntToAnnotationToUvOffsetMap
Definition: DtIndirectUvOffsetManager.h:132