18 #include <osg/Texture2DArray>
44 virtual bool initialize()
override;
48 virtual void setWidth(
int width,
bool reset =
true);
51 virtual void setHeight(
int height,
bool reset =
true);
54 virtual void setViewport(
int x,
int y,
int width,
int height)
override;
57 virtual void resetViewport();
63 virtual void setRenderToTexture(
bool enabled)
override;
66 virtual void setIsMultiView(
bool enabled,
bool useAA,
int viewCount);
69 virtual bool isMultiView()
const;
72 virtual void setIgnoreZoom(
bool ignore);
75 virtual bool isIgnoringZoom()
const;
78 virtual void setOverlayViewportMatchesScene(
bool shouldMatch);
81 virtual bool overlayViewportMatchedScene();
87 virtual void setCameraOffsetConfiguration(
const osg::Vec3d& trans,
const osg::Quat& ori);
90 virtual void getNearFar(
double& zNear,
double& zFar);
96 virtual void setFrustumAnglesForEye(
const osg::Vec4& frustumAngles,
int multiViewEye);
99 virtual void setProjectionMatrixForEye(
const osg::Matrix& matrix,
int multiViewEye);
102 osg::Uniform* eyeProjectionMatrixUniform();
105 osg::Uniform* eyeInverseProjectionMatrixUniform();
108 virtual void updateProjectionConfigurationForMultiView();
111 osg::Uniform* eyeOffsetMatrixUniform();
114 void setOffsetForEye(
const osg::Matrix&
offset,
const osg::Matrix& cameraSpaceOffset,
int multiViewEye);
117 osg::Vec2 viewToClipSpace(osg::Vec3d worldCoords,
int multiViewEye);
129 virtual void setVrsEnabled(
bool enabled);
133 virtual void setMultiViewUsesAA(
bool enabled);
140 virtual void addPostProcessEffect(
const std::string& postProcessorEffect)
override;
145 virtual void projectFor3D()
override;
148 virtual void projectFor2D()
override;
151 virtual void updateProjection()
override;
154 virtual void slot_windowConfigurationModified(
const std::string&,
const std::string&,
const DtWindowConfiguration&)
override;
157 virtual void initializeSignalConnections()
override;
160 virtual void getRenderTextureAttachmentInfo(
unsigned int&
level,
unsigned int& face,
unsigned int& sampleBuffers,
unsigned int& samples)
override;
Drawable and pre Drawcallback that draw full screen quad to update vrs image.
Abstract Base class.
Definition: DtWindow.h:25
bool myIsMultiView
is multiview being used
Definition: DtVirtualRealityChannel.h:183
osg::ref_ptr< DtVariableRateShadingImage > myShadingRateImage
Definition: DtVirtualRealityChannel.h:212
Wrapper around Nvidia Variable Rate Shading Image functionality Creates a texture of the correct size...
Definition: DtVariableRateShadingImage.h:75
osg::ref_ptr< osg::Uniform > myEyeOffsetMatrixUniform
view space offect matrix for the multiview eyes, single uniform accessing an array of two mat4 values...
Definition: DtVirtualRealityChannel.h:210
bool myIgnoreZoom
should this channel ignore zoom when computing projection
Definition: DtVirtualRealityChannel.h:192
Contains DLL export macros.
osg::ref_ptr< DtVariableRateShadingImageUpdater > myVrsUpdater
Definition: DtVirtualRealityChannel.h:214
Contains makVrv::DtOsgChannel class.
bool myMultiViewUsesAA
should this channel use aa when in multiview
Definition: DtVirtualRealityChannel.h:189
bool myMultiViewDirty
has some aspect of the multiview texture format changed
Definition: DtVirtualRealityChannel.h:186
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
int myWidth
Definition: DtVirtualRealityChannel.h:179
std::vector< osg::Vec4d > myEyeFrustumAngles
store the eye frustum angles so we can more easily update the projection later
Definition: DtVirtualRealityChannel.h:198
bool myOverlayViewportMatchScene
should the overlay viewports be set to match the rttcameras
Definition: DtVirtualRealityChannel.h:195
osg::ref_ptr< osg::Uniform > myEyeProjectionMatrixUniform
projection matrix uniform for the multiview eyes, single uniform accessing an array of two mat4 value...
Definition: DtVirtualRealityChannel.h:204
std::vector< osg::Matrix > myViewOffsets
view offsets for each eye
Definition: DtVirtualRealityChannel.h:201
The abstract channel creator for the abstract channel class.
Definition: DtChannel.h:196
Base class for GPU updates of the variable rate shading image Draw a full screen quad using a shader ...
Definition: DtVariableRateShadingImageUpdater.h:26
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:26
This class provides the OSG-specific implementation of a DtChannel.
Definition: DtOsgChannel.h:58
boost::signalslib::signal< void()> signal_renderTextureChanged
signaled any time the underlying texture target changes. Used for systems that use the texture as an ...
Definition: DtVirtualRealityChannel.h:137
#define DT_DLL_VRVVR
Definition: vrvVirtualReality.h:19
The abstract Channel Class.
Definition: DtChannel.h:35
int myViewCount
Definition: DtVirtualRealityChannel.h:177
Wrap functionality of Nvidia Variable Rate Shading Image Palette Allocates shading rate pallete data ...
Definition: DtVariableRateShadingImagePalette.h:23
A VRV channel that represents the eyes of the HMD A Virtual Reality channel can render in a few diffe...
Definition: DtVirtualRealityChannel.h:30
ProjectionUnits
Definition: DtChannelConfiguration.h:37
osg::ref_ptr< osg::Uniform > myEyeInverseProjectionMatrixUniform
inverse projection matrix uniform for the multiview eyes, single uniform accessing an array of two ma...
Definition: DtVirtualRealityChannel.h:207
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:24
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:76
Channel creator for Virtual Reality channel.
Definition: DtVirtualRealityChannel.h:219
voidpf uLong offset
Definition: ioapi.h:42
Wraps functionality of Variable Rate Shading Image.
osg::ref_ptr< DtVariableRateShadingImagePalette > myShadingRateImagePalette
Definition: DtVirtualRealityChannel.h:213
A basic OSG display window, used to get the osg context for a display window.
Definition: DtOsgWindow.h:36
int myHeight
Definition: DtVirtualRealityChannel.h:180