# Ogre::RTShader::ShaderGenerator::SGTechnique Class Reference

Shader generator technique wrapper class. More...

`#include <OgreShaderGenerator.h>`

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

List of all members.

## Public Member Functions

| SGTechnique (SGMaterial *parent, Technique *srcTechnique, const String &dstTechniqueSchemeName)
| ~SGTechnique ()
const SGMaterial * | getParent () const
| Get the parent SGMaterial.
Technique * | getSourceTechnique ()
| Get the source technique.
Technique * | getDestinationTechnique ()
| Get the destination technique.
const String & | getDestinationTechniqueSchemeName () const
| Get the destination technique scheme name.
void | buildTargetRenderState ()
| Build the render state.
void | acquirePrograms ()
| Acquire the CPU/GPU programs for this technique.
void | releasePrograms ()
| Release the CPU/GPU programs of this technique.
void | setBuildDestinationTechnique (bool buildTechnique)
| Tells the technique that it needs to generate shader code.
bool | getBuildDestinationTechnique () const
| Tells if the destination technique should be build.
RenderState * | getRenderState (unsigned short passIndex)
| Get render state of specific pass.
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 * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
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 *)

## Static Public Attributes

static String | UserKey

## Protected Member Functions

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

## Protected Attributes

SGMaterial * | mParent
Technique * | mSrcTechnique
Technique * | mDstTechnique
SGPassList | mPassEntries
RenderStateList | mCustomRenderStates
bool | mBuildDstTechnique
String | mDstTechniqueSchemeName

## Detailed Description

Shader generator technique wrapper class.

Definition at line 424 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

Tells if the destination technique should be build.

Definition at line 455 of file OgreShaderGenerator.h.

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

Get the destination technique.

Definition at line 437 of file OgreShaderGenerator.h.

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

Get the destination technique scheme name.

Definition at line 440 of file OgreShaderGenerator.h.

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

Get the parent SGMaterial.

Definition at line 431 of file OgreShaderGenerator.h.

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

Get render state of specific pass.

Parameters:

  passIndex | The pass index.

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

Get the source technique.

Definition at line 434 of file OgreShaderGenerator.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  | `[inherited]`

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

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 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 72 of file OgreMemoryAllocatedObject.h.

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 85 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 90 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 | ) |

Tells the technique that it needs to generate shader code.

Definition at line 452 of file OgreShaderGenerator.h.

## Member Data Documentation

bool Ogre::RTShader::ShaderGenerator::SGTechnique::mBuildDstTechnique`[protected]`

Definition at line 479 of file OgreShaderGenerator.h.

RenderStateList Ogre::RTShader::ShaderGenerator::SGTechnique::mCustomRenderStates`[protected]`

Definition at line 478 of file OgreShaderGenerator.h.

Technique* Ogre::RTShader::ShaderGenerator::SGTechnique::mDstTechnique`[protected]`

Definition at line 476 of file OgreShaderGenerator.h.

String Ogre::RTShader::ShaderGenerator::SGTechnique::mDstTechniqueSchemeName`[protected]`

Definition at line 480 of file OgreShaderGenerator.h.

SGMaterial* Ogre::RTShader::ShaderGenerator::SGTechnique::mParent`[protected]`

Definition at line 474 of file OgreShaderGenerator.h.

SGPassList Ogre::RTShader::ShaderGenerator::SGTechnique::mPassEntries`[protected]`

Definition at line 477 of file OgreShaderGenerator.h.

Technique* Ogre::RTShader::ShaderGenerator::SGTechnique::mSrcTechnique`[protected]`

Definition at line 475 of file OgreShaderGenerator.h.

String Ogre::RTShader::ShaderGenerator::SGTechnique::UserKey`[static]`

Definition at line 462 of file OgreShaderGenerator.h.

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

- OgreShaderGenerator.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun May 8 2011 20:28:22