15 #include <osg/StateSet>
61 virtual void acquireTextures() = 0;
70 virtual void releaseTextures() = 0;
73 bool isInitialized()
const;
76 unsigned int length()
const;
88 unsigned int width()
const;
91 unsigned int height()
const;
94 unsigned int layers()
const;
100 GLuint getFbo(
unsigned int index)
const;
103 virtual void copyTextures(osg::RenderInfo& renderInfo,
unsigned int srcColorId,
unsigned int srcDepthId,
unsigned int srcStencilId,
bool copySrcAlpha =
false,
bool srcIsArray =
true,
int mode = 0)
const;
107 virtual void blitTextureToScreen(
int swidth,
int sheight,
bool showleftEye);
116 virtual bool initaliseFbos()
const;
119 virtual bool initCopyProgram(
bool copyDepth,
bool copyStencil,
bool copySrcAlpha,
bool srcIsArray)
const;
122 virtual bool initBlendProgram()
const;
osg::ref_ptr< osg::StateSet > myCopyStateSet
state set to encapsulate state changes when doing swapchain fill
Definition: DtSwapChain.h:163
DtGlProgram * myCopyProgram
shader to copy sources texture into swapchain
Definition: DtSwapChain.h:157
Contains DLL export macros.
std::vector< DtGlImageType > myFormats
the format of the texture swap chain
Definition: DtSwapChain.h:139
Definition: DtSwapChain.h:29
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:17
unsigned int myLastStencilTexId
the current source depth texture id, tracked so we can recreate stencil view if it changes ...
Definition: DtSwapChain.h:169
DtGlProgram * myBlendProgram
shader to blend two swapchains into one (scene and overlay)
Definition: DtSwapChain.h:175
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:65
std::vector< DtSwapChainTextureType > myTextureTypes
the type of the texture swap chain
Definition: DtSwapChain.h:136
#define DT_DLL_VRVVR
Definition: vrvVirtualReality.h:19
DtEye
A virtual reality eye.
Definition: vrvVirtualReality.h:37
int myLastCopyProgramConfig
the bit mask for the last complied version of the copy program
Definition: DtSwapChain.h:160
Definition: DtFxParticleSystem.h:98
Base implementation of a texture swapchain.
Definition: DtSwapChain.h:35
DtGlImageType
Definition: DtGlImageType.h:15
unsigned int myCopyQuadVbo
vbo for draw command used for swapchain fill
Definition: DtSwapChain.h:166
std::map< DtSwapChainTextureType, unsigned int > mySwapChainIndexes
active swapchain index for each format
Definition: DtSwapChain.h:151
unsigned int myWidth
the pixel width of the texture swap chain
Definition: DtSwapChain.h:142
unsigned int mySrcStencilTexId
the current depth textures stencil view texture id
Definition: DtSwapChain.h:172
Definition: DtSwapChain.h:27
Definition: DtSwapChain.h:28
const char int mode
Definition: ioapi.h:38
unsigned int myLength
the length/number of textures in the swapchain
Definition: DtSwapChain.h:133
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
unsigned int myHeight
the pixel height of the texture swap chain
Definition: DtSwapChain.h:145
enum representing an OpenGL image type
unsigned int myLayers
the number of layers in the textures i.e. array layers
Definition: DtSwapChain.h:148
vrvVirtualReality::DtEye myEye
Definition: DtSwapChain.h:130
DtDe & myDe
Definition: DtSwapChain.h:177
DtSwapChainTextureType
Definition: DtSwapChain.h:25
std::vector< GLuint > myFbos
fbo for swapchain copy operations
Definition: DtSwapChain.h:154
bool myIsInitialized
Definition: DtSwapChain.h:127