<html> <head> <title>Ogre::GLSLLinkProgram class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link type="text/css" rel="stylesheet" href="style.css"> </head> <body> <!-- Generated by Doxygen 1.3.6 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>Ogre::GLSLLinkProgram Class Reference</h1>C++ encapsulation of GLSL Program Object. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a>></code> <p> <a href="classOgre_1_1GLSLLinkProgram-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkPrograma0">GLSLLinkProgram</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">constructor should only be used by <a class="el" href="classOgre_1_1GLSLLinkProgramManager.html">GLSLLinkProgramManager</a> <a href="#Ogre_1_1GLSLLinkPrograma0"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkPrograma1">~GLSLLinkProgram</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkPrograma2">activate</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Makes a program object active by making sure it is linked and then putting it in use. <a href="#Ogre_1_1GLSLLinkPrograma2"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkPrograma3">updateUniforms</a> (<a class="el" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> <a class="el" href="OgreGLPrerequisites_8h.html#a72">params</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">updates program object uniforms using data from GpuProgramParamters. <a href="#Ogre_1_1GLSLLinkPrograma3"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>GLhandleARB </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkPrograma4">getGLHandle</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">get the GL Handle for the program object <a href="#Ogre_1_1GLSLLinkPrograma4"></a><br><br></td></tr> <tr><td colspan=2><br><h2>Private Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector< <a class="el" href="structOgre_1_1GLSLLinkProgram_1_1UniformReference.html">UniformReference</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramy0">UniformReferenceList</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>typedef UniformReferenceList::iterator </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramy1">UniformReferenceIterator</a></td></tr> <tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramd0">buildUniformReferences</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">build uniform references from active named uniforms <a href="#Ogre_1_1GLSLLinkProgramd0"></a><br><br></td></tr> <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramy0">UniformReferenceList</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramr0">mUniformReferences</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">container of uniform references that are active in the program object <a href="#Ogre_1_1GLSLLinkProgramr0"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramr1">mUniformRefsBuilt</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">flag to indicate that uniform references have already been built <a href="#Ogre_1_1GLSLLinkProgramr1"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>GLhandleARB </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramr2">mGLHandle</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">GL handle for the program object. <a href="#Ogre_1_1GLSLLinkProgramr2"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="OgreGLPrerequisites_8h.html#a38">GLint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramr3">mLinked</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">flag indicating that the program object has been successfully linked <a href="#Ogre_1_1GLSLLinkProgramr3"></a><br><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> C++ encapsulation of GLSL Program Object. <p> <p> <p> Definition at line <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00037">37</a> of file <a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a>.<hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="Ogre_1_1GLSLLinkProgramy1" doxytag="Ogre::GLSLLinkProgram::UniformReferenceIterator" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef UniformReferenceList::iterator <a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramy1">Ogre::GLSLLinkProgram::UniformReferenceIterator</a><code> [private]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00051">51</a> of file <a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1GLSLLinkProgramy0" doxytag="Ogre::GLSLLinkProgram::UniformReferenceList" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef std::vector<<a class="el" href="structOgre_1_1GLSLLinkProgram_1_1UniformReference.html">UniformReference</a>> <a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramy0">Ogre::GLSLLinkProgram::UniformReferenceList</a><code> [private]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00050">50</a> of file <a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a>. </td> </tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="Ogre_1_1GLSLLinkPrograma0" doxytag="Ogre::GLSLLinkProgram::GLSLLinkProgram" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> Ogre::GLSLLinkProgram::GLSLLinkProgram </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> constructor should only be used by <a class="el" href="classOgre_1_1GLSLLinkProgramManager.html">GLSLLinkProgramManager</a> <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1GLSLLinkPrograma1" doxytag="Ogre::GLSLLinkProgram::~GLSLLinkProgram" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> Ogre::GLSLLinkProgram::~<a class="el" href="classOgre_1_1GLSLLinkProgram.html">GLSLLinkProgram</a> </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="Ogre_1_1GLSLLinkPrograma2" doxytag="Ogre::GLSLLinkProgram::activate" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void Ogre::GLSLLinkProgram::activate </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Makes a program object active by making sure it is linked and then putting it in use. <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1GLSLLinkProgramd0" doxytag="Ogre::GLSLLinkProgram::buildUniformReferences" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void Ogre::GLSLLinkProgram::buildUniformReferences </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [private]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> build uniform references from active named uniforms <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1GLSLLinkPrograma4" doxytag="Ogre::GLSLLinkProgram::getGLHandle" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> GLhandleARB Ogre::GLSLLinkProgram::getGLHandle </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get the GL Handle for the program object <p> <p> Definition at line <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00079">79</a> of file <a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a>. <p> References <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00058">mGLHandle</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1GLSLLinkPrograma3" doxytag="Ogre::GLSLLinkProgram::updateUniforms" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void Ogre::GLSLLinkProgram::updateUniforms </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> </td> <td class="mdname1" valign="top" nowrap> <em>params</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> updates program object uniforms using data from GpuProgramParamters. <p> normally called by GLSLGpuProgram::bindParameters() just before rendering occurs. </td> </tr> </table> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="Ogre_1_1GLSLLinkProgramr2" doxytag="Ogre::GLSLLinkProgram::mGLHandle" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> GLhandleARB <a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramr2">Ogre::GLSLLinkProgram::mGLHandle</a><code> [private]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> GL handle for the program object. <p> <p> Definition at line <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00058">58</a> of file <a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a>. <p> Referenced by <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00079">getGLHandle()</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1GLSLLinkProgramr3" doxytag="Ogre::GLSLLinkProgram::mLinked" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="OgreGLPrerequisites_8h.html#a38">GLint</a> <a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramr3">Ogre::GLSLLinkProgram::mLinked</a><code> [private]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> flag indicating that the program object has been successfully linked <p> <p> Definition at line <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00060">60</a> of file <a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1GLSLLinkProgramr0" doxytag="Ogre::GLSLLinkProgram::mUniformReferences" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramy0">UniformReferenceList</a> <a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramr0">Ogre::GLSLLinkProgram::mUniformReferences</a><code> [private]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> container of uniform references that are active in the program object <p> <p> Definition at line <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00053">53</a> of file <a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1GLSLLinkProgramr1" doxytag="Ogre::GLSLLinkProgram::mUniformRefsBuilt" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1GLSLLinkProgram.html#Ogre_1_1GLSLLinkProgramr1">Ogre::GLSLLinkProgram::mUniformRefsBuilt</a><code> [private]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> flag to indicate that uniform references have already been built <p> <p> Definition at line <a class="el" href="OgreGLSLLinkProgram_8h-source.html#l00056">56</a> of file <a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="OgreGLSLLinkProgram_8h-source.html">OgreGLSLLinkProgram.h</a></ul> <p> Copyright © 2000-2005 by The OGRE Team<br /> Last modified Wed Feb 23 00:31:23 2005 </p> </body> </html>