# Ogre::RTShader::ProgramSet Class Reference
[RTShader]

Container class for shader based programs. More...

`#include <OgreShaderProgramSet.h>`

Inheritance diagram for Ogre::RTShader::ProgramSet:
[legend]

List of all members.

## Public Member Functions

| ProgramSet ()
| Class default constructor.
| ~ProgramSet ()
| Class destructor.
Program * | getCpuVertexProgram ()
| Get the vertex shader CPU program.
Program * | getCpuFragmentProgram ()
| Get the fragment shader CPU program.
GpuProgramPtr | getGpuVertexProgram ()
| Get the vertex shader GPU program.
GpuProgramPtr | getGpuFragmentProgram ()
| Get the fragment shader GPU program.
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 *)

## Protected Member Functions

void | setCpuVertexProgram (Program *vsCpuProgram)
void | setCpuFragmentProgram (Program *psCpuProgram)
void | setGpuVertexProgram (GpuProgramPtr vsGpuProgram)
void | setGpuFragmentProgram (GpuProgramPtr psGpuProgram)

## Protected Attributes

Program * | mVSCpuProgram
Program * | mPSCpuProgram
GpuProgramPtr | mVSGpuProgram
GpuProgramPtr | mPSGpuProgram

## Friends

class | ProgramManager
class | TargetRenderState

## Detailed Description

Container class for shader based programs.

Holds both a CPU representation and GPU representation of vertex and fragment program.

Definition at line 46 of file OgreShaderProgramSet.h.

## Constructor & Destructor Documentation

Ogre::RTShader::ProgramSet::ProgramSet | ( |  | ) |

Class default constructor.

Ogre::RTShader::ProgramSet::~ProgramSet | ( |  | ) |

Class destructor.

## Member Function Documentation

Program* Ogre::RTShader::ProgramSet::getCpuFragmentProgram | ( |  | ) |

Get the fragment shader CPU program.

Program* Ogre::RTShader::ProgramSet::getCpuVertexProgram | ( |  | ) |

Get the vertex shader CPU program.

GpuProgramPtr Ogre::RTShader::ProgramSet::getGpuFragmentProgram | ( |  | ) |

Get the fragment shader GPU program.

GpuProgramPtr Ogre::RTShader::ProgramSet::getGpuVertexProgram | ( |  | ) |

Get the vertex shader GPU program.

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 95 of file OgreMemoryAllocatedObject.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 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 | ) | `[inherited]`

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

void Ogre::RTShader::ProgramSet::setCpuFragmentProgram | ( | Program * | psCpuProgram | ) | `[protected]`

void Ogre::RTShader::ProgramSet::setCpuVertexProgram | ( | Program * | vsCpuProgram | ) | `[protected]`

void Ogre::RTShader::ProgramSet::setGpuFragmentProgram | ( | GpuProgramPtr | psGpuProgram | ) | `[protected]`

void Ogre::RTShader::ProgramSet::setGpuVertexProgram | ( | GpuProgramPtr | vsGpuProgram | ) | `[protected]`

## Friends And Related Function Documentation

friend class ProgramManager `[friend]`

Definition at line 86 of file OgreShaderProgramSet.h.

friend class TargetRenderState `[friend]`

Definition at line 87 of file OgreShaderProgramSet.h.

## Member Data Documentation

Program* Ogre::RTShader::ProgramSet::mPSCpuProgram `[protected]`

Definition at line 81 of file OgreShaderProgramSet.h.

GpuProgramPtr Ogre::RTShader::ProgramSet::mPSGpuProgram `[protected]`

Definition at line 83 of file OgreShaderProgramSet.h.

Program* Ogre::RTShader::ProgramSet::mVSCpuProgram `[protected]`

Definition at line 80 of file OgreShaderProgramSet.h.

GpuProgramPtr Ogre::RTShader::ProgramSet::mVSGpuProgram `[protected]`

Definition at line 82 of file OgreShaderProgramSet.h.

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

- OgreShaderProgramSet.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Wed Nov 3 2010 19:25:06