22 #include <unordered_map>
31 class DtInstanceContainer;
98 virtual void addUvOffsetAnnotation(
int perGeomInstanceIndex,
unsigned int uvOffsetStartId);
101 virtual void removeUvOffsets(
int instanceId);
104 virtual void setUvOffset(
const std::string& annotation,
int instanceId,
float uOffset,
float vOffset);
107 virtual void scrollUv(
int instanceId,
const std::tuple<float, float, float>& uvSpeeds);
110 virtual void annotationAndUvOffsets(
int instanceId, std::vector<DtIndirectAnnotationAndUvOffset>& annotations)
const;
114 virtual void setPureSignalBasedUvOffsets(
bool val);
118 virtual bool pureSignalBasedUvOffsets(
void)
const;
121 virtual void processUvOffsets(
void);
124 virtual void releaseGLObjects(osg::State* state)
const;
127 virtual const DtGlBuffer* gpuUvOffsetBuffer(
void)
const;
132 virtual void updateUvOffsetBufferIfNecessary(
void);
135 virtual void deleteBuffers(
void);
138 virtual void tearDownBuffers(
void)
const;
MapInstancesToScrollableUvOffsetIds myMapInstancesToScrollableUvOffsetIds
Definition: DtIndirectUvOffsetManager.h:143
parent manager class for all Indirect managers. Managers handle information about a specific feature ...
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:160
Definition: DtIndirectUvOffsetManager.h:69
friend DtIndirectUvOffsetManagerCreator
only creator can create
Definition: DtIndirectUvOffsetManager.h:77
float uOffset
Definition: DtIndirectUvOffsetManager.h:71
bool myMutableUvOffsetsDirty
Definition: DtIndirectUvOffsetManager.h:145
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
VectorUvOffsets myVectorUvOffsets
Definition: DtIndirectUvOffsetManager.h:156
std::map< std::string, unsigned int > AnnotationToUvOffsetMap
Definition: DtIndirectUvOffsetManager.h:53
std::unordered_map< int, MultiplierAndTrackSide > ScrollableUvOffsetIdsAndMultipliers
Definition: DtIndirectUvOffsetManager.h:65
float vOffset
Definition: DtIndirectUvOffsetManager.h:72
std::map< int, AnnotationToUvOffsetMap > MapIntToAnnotationToUvOffsetMap
Definition: DtIndirectUvOffsetManager.h:54
DtReusableMemoryVector< UvOffset, UvOffsetInitializer > VectorUvOffsets
Definition: DtIndirectUvOffsetManager.h:155
Definition: DtIndirectUvOffsetManager.h:148
Vector2_32 myMultiplier
Definition: DtIndirectUvOffsetManager.h:61
A generic OpenGL buffer. This can be: -> a vertex buffer -> an index buffer -> a shader storage buffe...
Definition: DtGlBuffer.h:29
Contains makVrv::DtIndirectAnnotationAndUvOffset class.
DtGlBuffer * myGpuUvOffsetBuffer
Definition: DtIndirectUvOffsetManager.h:158
Definition: DtIndirectUvOffsetManager.h:56
Contains makVrv::DtReusableMemoryVector class.
std::unordered_map< int, ScrollableUvOffsetIdsAndMultipliers > MapInstancesToScrollableUvOffsetIds
Definition: DtIndirectUvOffsetManager.h:66
handles the uv offsets for all the indirect geometry. Sets up the default state of the uv offset...
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. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
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
MapIntToAnnotationToUvOffsetMap myMapIntToAnnotationToUvOffsetMap
Definition: DtIndirectUvOffsetManager.h:142
int mySide
Definition: DtIndirectUvOffsetManager.h:62