VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVariableRateShadingImageUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/DtOsgChannel.h>
14 
15 
16 namespace makVrv
17 {
19  class DtVariableRateShadingImage;
20 
21 
26  class DT_DLL_VRVOSG DtVariableRateShadingImageUpdater : public osg::Drawable
27  {
28  private:
31 
34 
35  public:
38 
40  virtual void drawImplementation(osg::RenderInfo& info) const;
41 
43  virtual void releaseGLObjects(osg::State* state/* =0 */) const;
44 
46  virtual void shouldUpdate(bool shouldUpdate);
47 
49  virtual void restoreLastFboTarget(GLenum fboTarget);
50 
51  protected:
54 
57  virtual void update(osg::State* state) const;
58 
60  virtual void initProgram(osg::State* state) const;
61 
62  protected:
64 
67 
70 
72  mutable std::string myVertexShaderSource;
73 
75  mutable std::string myFragmentShaderSource;
76 
79 
81  mutable bool myShouldUpdate;
82 
85  };
86 
92  {
93  private:
96 
99 
100  public:
103  osg::Camera::DrawCallback* nextCallback);
104 
106  virtual void operator () (osg::RenderInfo& renderInfo) const;
107 
109  osg::Camera::DrawCallback* nextDrawCallback();
110 
111  protected:
114 
115  protected:
118 
121  };
122 }
Wrapper around Nvidia Variable Rate Shading Image functionality Creates a texture of the correct size...
Definition: DtVariableRateShadingImage.h:75
DtDe & myDe
Definition: DtVariableRateShadingImageUpdater.h:63
std::string myVertexShaderSource
vertex shader source
Definition: DtVariableRateShadingImageUpdater.h:72
Contains makVrv::DtOsgChannel class.
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Base class for GPU updates of the variable rate shading image Draw a full screen quad using a shader ...
Definition: DtVariableRateShadingImageUpdater.h:26
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlShader.h:84
osg::ref_ptr< osg::Camera::DrawCallback > myNextCallback
next/nested callback
Definition: DtVariableRateShadingImageUpdater.h:120
A helper classes for creating a RTT target, optionally including depth buffer.
DtVariableRateShadingImage * myVariableRateShadingImage
handle to the vrs images so we can bind it&#39;s textures fbo
Definition: DtVariableRateShadingImageUpdater.h:66
A camera draw callback for invoking a VRS image update Typically this would be used as a predraw call...
Definition: DtVariableRateShadingImageUpdater.h:91
std::string myFragmentShaderSource
fragment shader source
Definition: DtVariableRateShadingImageUpdater.h:75
unsigned int GLenum
Definition: DtGlTextureBufferObject.h:18
osg::ref_ptr< DtVariableRateShadingImageUpdater > myShadingRateImageUpdater
VRS image updater to invoke on draw.
Definition: DtVariableRateShadingImageUpdater.h:117
bool myShouldUpdate
should we update on the next drawImplementation
Definition: DtVariableRateShadingImageUpdater.h:81
osg::ref_ptr< osg::StateSet > myVrsFillStateSet
state set to encapsulate state changes when doing vrs fill
Definition: DtVariableRateShadingImageUpdater.h:78
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
GLenum myRestoreFboTarget
the framebuffer target to bind last fbo to
Definition: DtVariableRateShadingImageUpdater.h:84
DtGlProgram * myProgram
shader to update the vrs texture image
Definition: DtVariableRateShadingImageUpdater.h:69

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)