OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::RTShader::ShaderGenerator::SGTechnique Class Reference

Shader generator technique wrapper class. More...

#include <OgreShaderGenerator.h>

+ Inheritance diagram for Ogre::RTShader::ShaderGenerator::SGTechnique:
+ Collaboration diagram for Ogre::RTShader::ShaderGenerator::SGTechnique:

Public Member Functions

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

Static Public Attributes

static String UserKey
 

Protected Member Functions

void createSGPasses ()
 Create the passes entries. More...
 
void destroySGPasses ()
 Destroy the passes entries. More...
 

Protected Attributes

bool mBuildDstTechnique
 
RenderStateList mCustomRenderStates
 
TechniquemDstTechnique
 
String mDstTechniqueSchemeName
 
SGMaterialmParent
 
SGPassList mPassEntries
 
TechniquemSrcTechnique
 

Detailed Description

Shader generator technique wrapper class.

Definition at line 583 of file OgreShaderGenerator.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Acquire the CPU/GPU programs for this technique.

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

Build the render state.

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

Create the passes entries.

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

Destroy the passes entries.

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

Tells if the destination technique should be build.

Definition at line 614 of file OgreShaderGenerator.h.

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

Get the destination technique.

Definition at line 596 of file OgreShaderGenerator.h.

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

Get the destination technique scheme name.

Definition at line 599 of file OgreShaderGenerator.h.

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

Get the parent SGMaterial.

Definition at line 590 of file OgreShaderGenerator.h.

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

Get render state of specific pass.

Parameters
passIndexThe pass index.
Technique* Ogre::RTShader::ShaderGenerator::SGTechnique::getSourceTechnique ( )
inline

Get the source technique.

Definition at line 593 of file OgreShaderGenerator.h.

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

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

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

Definition at line 96 of file OgreMemoryAllocatedObject.h.

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

Definition at line 102 of file OgreMemoryAllocatedObject.h.

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

Definition at line 119 of file OgreMemoryAllocatedObject.h.

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

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

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

Definition at line 73 of file OgreMemoryAllocatedObject.h.

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

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

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

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

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

Release the CPU/GPU programs of this technique.

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

Tells the technique that it needs to generate shader code.

Definition at line 611 of file OgreShaderGenerator.h.

Member Data Documentation

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

Definition at line 646 of file OgreShaderGenerator.h.

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

Definition at line 644 of file OgreShaderGenerator.h.

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

Definition at line 640 of file OgreShaderGenerator.h.

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

Definition at line 648 of file OgreShaderGenerator.h.

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

Definition at line 636 of file OgreShaderGenerator.h.

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

Definition at line 642 of file OgreShaderGenerator.h.

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

Definition at line 638 of file OgreShaderGenerator.h.

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

Definition at line 624 of file OgreShaderGenerator.h.


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