# Ogre::GLSLLinkProgram Class Reference

C++ encapsulation of GLSL Program Object. More...

`#include <OgreGLSLLinkProgram.h>`

List of all members.

## Public Member Functions

| GLSLLinkProgram (void)
| constructor should only be used by GLSLLinkProgramManager
| ~GLSLLinkProgram (void)
void | activate (void)
| Makes a program object active by making sure it is linked and then putting it in use.
void | updateUniforms (GpuProgramParametersSharedPtr params)
| updates program object uniforms using data from GpuProgramParamters.
void | updatePassIterationUniforms (GpuProgramParametersSharedPtr params)
| updates program object uniforms using data from pass iteration GpuProgramParamters.
GLhandleARB | getGLHandle (void) const
| get the GL Handle for the program object
void | setSkeletalAnimationIncluded (bool included)
| Sets whether the linked program includes the required instructions to perform skeletal animation.
bool | isSkeletalAnimationIncluded (void) const
| Returns whether the linked program includes the required instructions to perform skeletal animation.

## Private Types

typedef std::vector< UniformReference > | UniformReferenceList
typedef UniformReferenceList::iterator | UniformReferenceIterator

## Private Member Functions

void | buildUniformReferences (void)
| build uniform references from active named uniforms

## Private Attributes

UniformReferenceList | mUniformReferences
| container of uniform references that are active in the program object
bool | mUniformRefsBuilt
| flag to indicate that uniform references have already been built
GLhandleARB | mGLHandle
| GL handle for the program object.
GLint | mLinked
| flag indicating that the program object has been successfully linked
bool | mSkeletalAnimation
| flag indicating skeletal animation is being performed

## Classes

struct | UniformReference
| structure used to keep track of named uniforms in the linked program object More...

## Detailed Description

C++ encapsulation of GLSL Program Object.

Definition at line 37 of file OgreGLSLLinkProgram.h.

## Member Typedef Documentation

typedef UniformReferenceList::iterator Ogre::GLSLLinkProgram::UniformReferenceIterator `[private]`

| Definition at line 52 of file OgreGLSLLinkProgram.h.

typedef std::vector<UniformReference> Ogre::GLSLLinkProgram::UniformReferenceList `[private]`

| Definition at line 51 of file OgreGLSLLinkProgram.h.

## Constructor & Destructor Documentation

Ogre::GLSLLinkProgram::GLSLLinkProgram | ( | void |  | ) |

| constructor should only be used by GLSLLinkProgramManager

Ogre::GLSLLinkProgram::~GLSLLinkProgram | ( | void |  | ) |

## Member Function Documentation

void Ogre::GLSLLinkProgram::activate | ( | void |  | ) |

| Makes a program object active by making sure it is linked and then putting it in use.

void Ogre::GLSLLinkProgram::buildUniformReferences | ( | void |  | ) | `[private]`

| build uniform references from active named uniforms

GLhandleARB Ogre::GLSLLinkProgram::getGLHandle | ( | void |  | ) | const

| get the GL Handle for the program object Definition at line 86 of file OgreGLSLLinkProgram.h. References mGLHandle.

bool Ogre::GLSLLinkProgram::isSkeletalAnimationIncluded | ( | void |  | ) | const

Returns whether the linked program includes the required instructions to perform skeletal animation.

Remarks:
  If this returns true, OGRE will not blend the geometry according to skeletal animation, it will expect the vertex program to do it.

Definition at line 102 of file OgreGLSLLinkProgram.h.

References mSkeletalAnimation.

void Ogre::GLSLLinkProgram::setSkeletalAnimationIncluded | ( | bool | included | ) |

Sets whether the linked program includes the required instructions to perform skeletal animation.

Remarks:
  If this is set to true, OGRE will not blend the geometry according to skeletal animation, it will expect the vertex program to do it.

Definition at line 93 of file OgreGLSLLinkProgram.h.

References mSkeletalAnimation.

void Ogre::GLSLLinkProgram::updatePassIterationUniforms | ( | GpuProgramParametersSharedPtr | params | ) |

| updates program object uniforms using data from pass iteration GpuProgramParamters. normally called by GLSLGpuProgram::bindMultiPassParameters() just before multi pass rendering occurs.

void Ogre::GLSLLinkProgram::updateUniforms | ( | GpuProgramParametersSharedPtr | params | ) |

| updates program object uniforms using data from GpuProgramParamters. normally called by GLSLGpuProgram::bindParameters() just before rendering occurs.

## Member Data Documentation

GLhandleARB Ogre::GLSLLinkProgram::mGLHandle `[private]`

| GL handle for the program object. Definition at line 59 of file OgreGLSLLinkProgram.h. Referenced by getGLHandle().

GLint Ogre::GLSLLinkProgram::mLinked `[private]`

| flag indicating that the program object has been successfully linked Definition at line 61 of file OgreGLSLLinkProgram.h.

bool Ogre::GLSLLinkProgram::mSkeletalAnimation `[private]`

| flag indicating skeletal animation is being performed Definition at line 63 of file OgreGLSLLinkProgram.h. Referenced by isSkeletalAnimationIncluded(), and setSkeletalAnimationIncluded().

UniformReferenceList Ogre::GLSLLinkProgram::mUniformReferences `[private]`

| container of uniform references that are active in the program object Definition at line 54 of file OgreGLSLLinkProgram.h.

bool Ogre::GLSLLinkProgram::mUniformRefsBuilt `[private]`

| flag to indicate that uniform references have already been built Definition at line 57 of file OgreGLSLLinkProgram.h.

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

- OgreGLSLLinkProgram.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 17 15:49:57 2006