18 #include <osg/Texture2DArray>
44 virtual bool initialize();
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);
57 virtual void resetViewport();
63 virtual void setRenderToTexture(
bool enabled);
66 virtual void setIsMultiView(
bool enabled,
bool useAA);
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::Vec3&
offset,
const osg::Vec3& cameraSpaceOffset,
int multiViewEye);
126 virtual void setVrsEnabled(
bool enabled);
133 virtual void addPostProcessEffect(
const std::string& postProcessorEffect)
override;
138 virtual void projectFor3D();
141 virtual void projectFor2D();
144 virtual void updateProjection();
147 virtual void slot_windowConfigurationModified(
const std::string&,
const std::string&,
const DtWindowConfiguration&);
150 virtual void initializeSignalConnections();
153 virtual void getRenderTextureAttachmentInfo(
unsigned int&
level,
unsigned int& face,
unsigned int& sampleBuffers,
unsigned int& samples);
185 osg::Vec4d myEyeFrustumAngles[2];
186 osg::Vec3 myViewOffsets[2];
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:173
osg::ref_ptr< DtVariableRateShadingImage > myShadingRateImage
Definition: DtVirtualRealityChannel.h:197
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:195
bool myIgnoreZoom
should this channel ignore zoom when computing projection
Definition: DtVirtualRealityChannel.h:179
Contains DLL export macros.
osg::ref_ptr< DtVariableRateShadingImageUpdater > myVrsUpdater
Definition: DtVirtualRealityChannel.h:199
Contains makVrv::DtOsgChannel class.
bool myMultiViewUsesAA
should this channel use aa when in multiview
Definition: DtVirtualRealityChannel.h:176
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:169
bool myOverlayViewportMatchScene
should the overlay viewports be set to match the rttcameras
Definition: DtVirtualRealityChannel.h:182
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:189
The abstract channel creator for the abstract channel class.
Definition: DtChannel.h:180
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:28
This class provides the OSG-specific implementation of a DtChannel.
Definition: DtOsgChannel.h:52
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:130
#define DT_DLL_VRVVR
Definition: vrvVirtualReality.h:19
The abstract Channel Class.
Definition: DtChannel.h:35
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:39
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:192
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
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
Channel creator for Virtual Reality channel.
Definition: DtVirtualRealityChannel.h:204
voidpf uLong offset
Definition: ioapi.h:42
Wraps functionality of Variable Rate Shading Image.
osg::ref_ptr< DtVariableRateShadingImagePalette > myShadingRateImagePalette
Definition: DtVirtualRealityChannel.h:198
A basic OSG display window, used to get the osg context for a display window.
Definition: DtOsgWindow.h:36
int myHeight
Definition: DtVirtualRealityChannel.h:170