OGRE  1.9.0
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Ogre::RTShader::ShaderGenerator::SGTechnique Class Reference

Shader generator technique wrapper class. More...

#include <OgreShaderGenerator.h>

Inheritance diagram for Ogre::RTShader::ShaderGenerator::SGTechnique:
Inheritance graph
[legend]

Public Member Functions

 SGTechnique (SGMaterial *parent, Technique *srcTechnique, const String &dstTechniqueSchemeName)
 
 ~SGTechnique ()
 
void acquireIlluminationPrograms ()
 Acquire the CPU/GPU programs for illumination passes of this technique.
 
void acquirePrograms ()
 Acquire the CPU/GPU programs for this technique.
 
void buildIlluminationTargetRenderState ()
 Build the render state for illumination passes.
 
void buildTargetRenderState ()
 Build the render state.
 
void destroyIlluminationSGPasses ()
 Destroy the illumination passes entries.
 
bool getBuildDestinationTechnique () const
 Tells if the destination technique should be build.
 
TechniquegetDestinationTechnique ()
 Get the destination technique.
 
const StringgetDestinationTechniqueSchemeName () const
 Get the destination technique scheme name.
 
const SGMaterialgetParent () const
 Get the parent SGMaterial.
 
RenderStategetRenderState (unsigned short passIndex)
 Get render state of specific pass.
 
TechniquegetSourceTechnique ()
 Get the source technique.
 
bool hasRenderState (unsigned short passIndex)
 Tells if a custom render state exists for the given pass.
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, void *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
 
void * operator new (size_t sz, void *ptr)
 placement operator new
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
 
void releasePrograms ()
 Release the CPU/GPU programs of this technique.
 
void setBuildDestinationTechnique (bool buildTechnique)
 Tells the technique that it needs to generate shader code.
 

Static Public Attributes

static String UserKey
 

Protected Member Functions

void createIlluminationSGPasses ()
 Create the illumination passes entries.
 
void createSGPasses ()
 Create the passes entries.
 
void destroySGPasses ()
 Destroy the passes entries.
 

Protected Attributes

bool mBuildDstTechnique
 
RenderStateList mCustomRenderStates
 
TechniquemDstTechnique
 
String mDstTechniqueSchemeName
 
SGMaterialmParent
 
SGPassList mPassEntries
 
TechniquemSrcTechnique
 
 OGRE_AUTO_MUTEX
 

Detailed Description

Shader generator technique wrapper class.

Definition at line 589 of file OgreShaderGenerator.h.

Constructor & Destructor Documentation

◆ SGTechnique()

Ogre::RTShader::ShaderGenerator::SGTechnique::SGTechnique ( SGMaterial parent,
Technique srcTechnique,
const String dstTechniqueSchemeName 
)

◆ ~SGTechnique()

Ogre::RTShader::ShaderGenerator::SGTechnique::~SGTechnique ( )

Member Function Documentation

◆ acquireIlluminationPrograms()

void Ogre::RTShader::ShaderGenerator::SGTechnique::acquireIlluminationPrograms ( )

Acquire the CPU/GPU programs for illumination passes of this technique.

◆ acquirePrograms()

void Ogre::RTShader::ShaderGenerator::SGTechnique::acquirePrograms ( )

Acquire the CPU/GPU programs for this technique.

◆ buildIlluminationTargetRenderState()

void Ogre::RTShader::ShaderGenerator::SGTechnique::buildIlluminationTargetRenderState ( )

Build the render state for illumination passes.

◆ buildTargetRenderState()

void Ogre::RTShader::ShaderGenerator::SGTechnique::buildTargetRenderState ( )

Build the render state.

◆ createIlluminationSGPasses()

void Ogre::RTShader::ShaderGenerator::SGTechnique::createIlluminationSGPasses ( )
protected

Create the illumination passes entries.

◆ createSGPasses()

void Ogre::RTShader::ShaderGenerator::SGTechnique::createSGPasses ( )
protected

Create the passes entries.

◆ destroyIlluminationSGPasses()

void Ogre::RTShader::ShaderGenerator::SGTechnique::destroyIlluminationSGPasses ( )

Destroy the illumination passes entries.

◆ destroySGPasses()

void Ogre::RTShader::ShaderGenerator::SGTechnique::destroySGPasses ( )
protected

Destroy the passes entries.

◆ getBuildDestinationTechnique()

bool Ogre::RTShader::ShaderGenerator::SGTechnique::getBuildDestinationTechnique ( ) const

Tells if the destination technique should be build.

Definition at line 629 of file OgreShaderGenerator.h.

◆ getDestinationTechnique()

Technique * Ogre::RTShader::ShaderGenerator::SGTechnique::getDestinationTechnique ( )

Get the destination technique.

Definition at line 602 of file OgreShaderGenerator.h.

◆ getDestinationTechniqueSchemeName()

const String & Ogre::RTShader::ShaderGenerator::SGTechnique::getDestinationTechniqueSchemeName ( ) const

Get the destination technique scheme name.

Definition at line 605 of file OgreShaderGenerator.h.

◆ getParent()

const SGMaterial * Ogre::RTShader::ShaderGenerator::SGTechnique::getParent ( ) const

Get the parent SGMaterial.

Definition at line 596 of file OgreShaderGenerator.h.

◆ getRenderState()

RenderState * Ogre::RTShader::ShaderGenerator::SGTechnique::getRenderState ( unsigned short  passIndex)

Get render state of specific pass.

Parameters
passIndexThe pass index.

◆ getSourceTechnique()

Technique * Ogre::RTShader::ShaderGenerator::SGTechnique::getSourceTechnique ( )

Get the source technique.

Definition at line 599 of file OgreShaderGenerator.h.

◆ hasRenderState()

bool Ogre::RTShader::ShaderGenerator::SGTechnique::hasRenderState ( unsigned short  passIndex)

Tells if a custom render state exists for the given pass.

◆ operator delete() [1/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [2/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [3/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [1/2]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [2/2]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator new() [1/3]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [2/3]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

◆ operator new() [3/3]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [1/2]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [2/2]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

◆ releasePrograms()

void Ogre::RTShader::ShaderGenerator::SGTechnique::releasePrograms ( )

Release the CPU/GPU programs of this technique.

◆ setBuildDestinationTechnique()

void Ogre::RTShader::ShaderGenerator::SGTechnique::setBuildDestinationTechnique ( bool  buildTechnique)

Tells the technique that it needs to generate shader code.

Definition at line 626 of file OgreShaderGenerator.h.

Member Data Documentation

◆ mBuildDstTechnique

bool Ogre::RTShader::ShaderGenerator::SGTechnique::mBuildDstTechnique
protected

Definition at line 666 of file OgreShaderGenerator.h.

◆ mCustomRenderStates

RenderStateList Ogre::RTShader::ShaderGenerator::SGTechnique::mCustomRenderStates
protected

Definition at line 664 of file OgreShaderGenerator.h.

◆ mDstTechnique

Technique* Ogre::RTShader::ShaderGenerator::SGTechnique::mDstTechnique
protected

Definition at line 660 of file OgreShaderGenerator.h.

◆ mDstTechniqueSchemeName

String Ogre::RTShader::ShaderGenerator::SGTechnique::mDstTechniqueSchemeName
protected

Definition at line 668 of file OgreShaderGenerator.h.

◆ mParent

SGMaterial* Ogre::RTShader::ShaderGenerator::SGTechnique::mParent
protected

Definition at line 656 of file OgreShaderGenerator.h.

◆ mPassEntries

SGPassList Ogre::RTShader::ShaderGenerator::SGTechnique::mPassEntries
protected

Definition at line 662 of file OgreShaderGenerator.h.

◆ mSrcTechnique

Technique* Ogre::RTShader::ShaderGenerator::SGTechnique::mSrcTechnique
protected

Definition at line 658 of file OgreShaderGenerator.h.

◆ OGRE_AUTO_MUTEX

Ogre::RTShader::ShaderGenerator::SGTechnique::OGRE_AUTO_MUTEX
protected

Definition at line 654 of file OgreShaderGenerator.h.

◆ UserKey

String Ogre::RTShader::ShaderGenerator::SGTechnique::UserKey
static

Definition at line 639 of file OgreShaderGenerator.h.


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