VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtVariableRateShadingImageUpdater Class Reference

Base class for GPU updates of the variable rate shading image Draw a full screen quad using a shader and provides a mechanism for end users to specify the shader to use and setup uniforms etc. More...

Inheritance diagram for makVrv::DtVariableRateShadingImageUpdater:
Inheritance graph
[legend]

Public Member Functions

 DtVariableRateShadingImageUpdater (DtDe &de, DtVariableRateShadingImage *vrsImage)
 CTOR. More...
 
virtual void drawImplementation (osg::RenderInfo &info) const
 draw the vrs image update pass More...
 
virtual void releaseGLObjects (osg::State *state) const
 frees resources on context release More...
 
virtual void shouldUpdate (bool shouldUpdate)
 flags if the vrs image should be updated More...
 
virtual void restoreLastFboTarget (GLenum fboTarget)
 /brief set the fb rebind target type for resetting the last applied fbo (0 to not rebind) More...
 

Protected Member Functions

virtual ~DtVariableRateShadingImageUpdater ()
 DTOR. More...
 
virtual void update (osg::State *state) const
 pre draw callback so concrete implementations can update uniforms etc at this point the shader will be bound More...
 
virtual void initProgram (osg::State *state) const
 called by draw if program is null so concrete implementation can create program More...
 

Protected Attributes

DtDemyDe
 
DtVariableRateShadingImagemyVariableRateShadingImage
 handle to the vrs images so we can bind it's textures fbo More...
 
DtGlProgrammyProgram
 shader to update the vrs texture image More...
 
std::string myVertexShaderSource
 vertex shader source More...
 
std::string myFragmentShaderSource
 fragment shader source More...
 
osg::ref_ptr< osg::StateSet > myVrsFillStateSet
 state set to encapsulate state changes when doing vrs fill More...
 
bool myShouldUpdate
 should we update on the next drawImplementation More...
 
GLenum myRestoreFboTarget
 the framebuffer target to bind last fbo to More...
 

Private Member Functions

 DtVariableRateShadingImageUpdater ()=delete
 not allowed More...
 
 DtVariableRateShadingImageUpdater (const DtVariableRateShadingImageUpdater &other)=delete
 Copy Constructor not implemented – Copy Not Allowed. More...
 
DtVariableRateShadingImageUpdateroperator= (const DtVariableRateShadingImageUpdater &other)=delete
 Assignment Operator Not implemented – Assignment Not Allowed. More...
 

Detailed Description

Base class for GPU updates of the variable rate shading image Draw a full screen quad using a shader and provides a mechanism for end users to specify the shader to use and setup uniforms etc.

Constructor & Destructor Documentation

makVrv::DtVariableRateShadingImageUpdater::DtVariableRateShadingImageUpdater ( )
privatedelete

not allowed

makVrv::DtVariableRateShadingImageUpdater::DtVariableRateShadingImageUpdater ( const DtVariableRateShadingImageUpdater other)
privatedelete

Copy Constructor not implemented – Copy Not Allowed.

makVrv::DtVariableRateShadingImageUpdater::DtVariableRateShadingImageUpdater ( DtDe de,
DtVariableRateShadingImage vrsImage 
)

CTOR.

virtual makVrv::DtVariableRateShadingImageUpdater::~DtVariableRateShadingImageUpdater ( )
protectedvirtual

DTOR.

Member Function Documentation

DtVariableRateShadingImageUpdater& makVrv::DtVariableRateShadingImageUpdater::operator= ( const DtVariableRateShadingImageUpdater other)
privatedelete

Assignment Operator Not implemented – Assignment Not Allowed.

virtual void makVrv::DtVariableRateShadingImageUpdater::drawImplementation ( osg::RenderInfo &  info) const
virtual

draw the vrs image update pass

virtual void makVrv::DtVariableRateShadingImageUpdater::releaseGLObjects ( osg::State *  state) const
virtual

frees resources on context release

virtual void makVrv::DtVariableRateShadingImageUpdater::shouldUpdate ( bool  shouldUpdate)
virtual

flags if the vrs image should be updated

virtual void makVrv::DtVariableRateShadingImageUpdater::restoreLastFboTarget ( GLenum  fboTarget)
virtual

/brief set the fb rebind target type for resetting the last applied fbo (0 to not rebind)

virtual void makVrv::DtVariableRateShadingImageUpdater::update ( osg::State *  state) const
protectedvirtual

pre draw callback so concrete implementations can update uniforms etc at this point the shader will be bound

Reimplemented in makVrv::DtVarjoVrsUpdater.

virtual void makVrv::DtVariableRateShadingImageUpdater::initProgram ( osg::State *  state) const
protectedvirtual

called by draw if program is null so concrete implementation can create program

Reimplemented in makVrv::DtVarjoVrsUpdater.

Member Data Documentation

DtDe& makVrv::DtVariableRateShadingImageUpdater::myDe
protected
DtVariableRateShadingImage* makVrv::DtVariableRateShadingImageUpdater::myVariableRateShadingImage
protected

handle to the vrs images so we can bind it's textures fbo

DtGlProgram* makVrv::DtVariableRateShadingImageUpdater::myProgram
mutableprotected

shader to update the vrs texture image

std::string makVrv::DtVariableRateShadingImageUpdater::myVertexShaderSource
mutableprotected

vertex shader source

std::string makVrv::DtVariableRateShadingImageUpdater::myFragmentShaderSource
mutableprotected

fragment shader source

osg::ref_ptr<osg::StateSet> makVrv::DtVariableRateShadingImageUpdater::myVrsFillStateSet
mutableprotected

state set to encapsulate state changes when doing vrs fill

bool makVrv::DtVariableRateShadingImageUpdater::myShouldUpdate
mutableprotected

should we update on the next drawImplementation

GLenum makVrv::DtVariableRateShadingImageUpdater::myRestoreFboTarget
protected

the framebuffer target to bind last fbo to


The documentation for this class was generated from the following file:

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)