VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
makVrv::DtEffect Class Referenceabstract

The base class for a programmable pipeline render effect.

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

Classes

struct  VertexAttribPtrInfo
 

Public Member Functions

 DtEffect (const std::string &dataPath, const std::string &strDefines)
 
virtual ~DtEffect ()
 
virtual void releaseResources ()
 
virtual void reloadShaders ()
 
bool enabled () const
 
bool enable ()
 
void disable ()
 

Static Public Member Functions

static std::string loadShaderSource (const std::string &strFileFolder, const std::string &strFileName, const std::string &strDefines)
 

Protected Member Functions

virtual void initializeShaderSource ()=0
 
virtual void updateUniformLocations ()=0
 
virtual void updateUniforms ()=0
 
bool compileShaders ()
 

Static Protected Member Functions

static std::string preprocessShaderIncludes (const std::string &source, const boost::filesystem::path &filename, int level, const std::string &shaderFolderPath)
 
static std::string loadShaderFile (const std::string &strFileName)
 

Protected Attributes

std::string myName
 
bool myEnabledFlag
 
unsigned int myProgram
 
unsigned int myVertexShader
 
unsigned int myFragmentShader
 
std::string myVertexShaderSource
 
std::string myVertexShaderName
 
std::string myFragmentShaderSource
 
std::string myFragmentShaderName
 
std::string myGeometryShaderSource
 
std::string myDataPath
 
const std::string myDefines
 

Constructor & Destructor Documentation

makVrv::DtEffect::DtEffect ( const std::string &  dataPath,
const std::string &  strDefines 
)

CTOR.

virtual makVrv::DtEffect::~DtEffect ( )
virtual

DTORs.

Member Function Documentation

virtual void makVrv::DtEffect::releaseResources ( )
virtual

Release and HW resources of the effect.

Reimplemented in makVrv::DtProjected2DFlatEffect.

virtual void makVrv::DtEffect::reloadShaders ( )
virtual

Reloads any shaders associated with the effect.

bool makVrv::DtEffect::enabled ( ) const

Is the effect enabled.

Referenced by makVrv::DtEffectRenderer::~DtEffectRenderer().

bool makVrv::DtEffect::enable ( )
void makVrv::DtEffect::disable ( )
static std::string makVrv::DtEffect::loadShaderSource ( const std::string &  strFileFolder,
const std::string &  strFileName,
const std::string &  strDefines 
)
static
virtual void makVrv::DtEffect::initializeShaderSource ( )
protectedpure virtual
virtual void makVrv::DtEffect::updateUniformLocations ( )
protectedpure virtual
virtual void makVrv::DtEffect::updateUniforms ( )
protectedpure virtual
bool makVrv::DtEffect::compileShaders ( )
protected

Compile the shaders.

static std::string makVrv::DtEffect::preprocessShaderIncludes ( const std::string &  source,
const boost::filesystem::path &  filename,
int  level,
const std::string &  shaderFolderPath 
)
staticprotected

Preprocess shader includes (recursive).

static std::string makVrv::DtEffect::loadShaderFile ( const std::string &  strFileName)
staticprotected

Used by loadShaderSource() and preprocessIncludes() to load a shader file.

Member Data Documentation

std::string makVrv::DtEffect::myName
protected
bool makVrv::DtEffect::myEnabledFlag
protected
unsigned int makVrv::DtEffect::myProgram
protected
unsigned int makVrv::DtEffect::myVertexShader
protected
unsigned int makVrv::DtEffect::myFragmentShader
protected
std::string makVrv::DtEffect::myVertexShaderSource
protected
std::string makVrv::DtEffect::myVertexShaderName
protected
std::string makVrv::DtEffect::myFragmentShaderSource
protected
std::string makVrv::DtEffect::myFragmentShaderName
protected
std::string makVrv::DtEffect::myGeometryShaderSource
protected
std::string makVrv::DtEffect::myDataPath
protected
const std::string makVrv::DtEffect::myDefines
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)