Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 3616

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: iShader Struct Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>iShader Struct Reference</h1><!-- doxytag: class="iShader" --><!-- doxytag: inherits="iShaderVariableContext" -->Specific shader.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="shader_8h-source.html">ivideo/shader/shader.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iShader:</div>
<div class="dynsection">
<p><center><img src="structiShader__inherit__graph.png" border="0" usemap="#iShader__inherit__map" alt="Inheritance graph"></center>
<map name="iShader__inherit__map">
<area shape="rect" href="structiShaderVariableContext.html" title="This is a baseclass for all interfaces which provides shadervariables both dynamically..." alt="" coords="5,84,179,111"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="64,7,120,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiShader-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">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#746c31e9dda53b8dffef8a5d7d9831e3">ActivatePass</a> (size_t ticket, size_t number)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Activate a pass for rendering.  <a href="#746c31e9dda53b8dffef8a5d7d9831e3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#de86803424d3e46e7dc53c955a398229">DeactivatePass</a> (size_t ticket)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Completly deactivate a pass.  <a href="#de86803424d3e46e7dc53c955a398229"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#3cbb631f99fba7d222dec476e482b230">GetFileName</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get name of the File where it was loaded from.  <a href="#3cbb631f99fba7d222dec476e482b230"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <br>
<a class="el" href="structcsShaderMetadata.html">csShaderMetadata</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#3b023b1f3c62c453a2cd4a2f8196331e">GetMetadata</a> (size_t ticket) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get shader metadata.  <a href="#3b023b1f3c62c453a2cd4a2f8196331e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#89a4bcd38e0c7a37bee9e39119a9fcd7">GetNumberOfPasses</a> (size_t ticket)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get number of passes this shader have.  <a href="#89a4bcd38e0c7a37bee9e39119a9fcd7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#09a0300c30a64436156b44fb0d5cd821">GetTicket</a> (const <a class="el" href="structcsRenderMeshModes.html">csRenderMeshModes</a> &amp;modes, const <a class="el" href="structiShaderVarStack.html">iShaderVarStack</a> *stacks)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query a "shader ticket".  <a href="#09a0300c30a64436156b44fb0d5cd821"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiObject.html">iObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#ea8b04825736214e92deae7b3afaa0cd">QueryObject</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the object.  <a href="#ea8b04825736214e92deae7b3afaa0cd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#b68b65351f3d165258a08c62be531665">SetFileName</a> (const char *filename)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set name of the File where it was loaded from.  <a href="#b68b65351f3d165258a08c62be531665"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#f1198e69735f523dec2ac125efc11fe8">SetupPass</a> (size_t ticket, const <a class="el" href="structcsRenderMesh.html">csRenderMesh</a> *mesh, <a class="el" href="structcsRenderMeshModes.html">csRenderMeshModes</a> &amp;modes, const <a class="el" href="structiShaderVarStack.html">iShaderVarStack</a> *stacks)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup a pass.  <a href="#f1198e69735f523dec2ac125efc11fe8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html#6e9434bbb1d60930513d4537832a3cd3">TeardownPass</a> (size_t ticket)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tear down current state, and prepare for a new mesh (for which SetupPass is called).  <a href="#6e9434bbb1d60930513d4537832a3cd3"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Specific shader. 
<p>
Can/will be either render-specific or general The shader in this form is "compiled" and cannot be modified. 
<p>Definition at line <a class="el" href="shader_8h-source.html#l00284">284</a> of file <a class="el" href="shader_8h-source.html">shader.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="746c31e9dda53b8dffef8a5d7d9831e3"></a><!-- doxytag: member="iShader::ActivatePass" ref="746c31e9dda53b8dffef8a5d7d9831e3" args="(size_t ticket, size_t number)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iShader::ActivatePass           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ticket</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>number</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Activate a pass for rendering. 
<p>

</div>
</div><p>
<a class="anchor" name="de86803424d3e46e7dc53c955a398229"></a><!-- doxytag: member="iShader::DeactivatePass" ref="de86803424d3e46e7dc53c955a398229" args="(size_t ticket)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iShader::DeactivatePass           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ticket</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Completly deactivate a pass. 
<p>

</div>
</div><p>
<a class="anchor" name="3cbb631f99fba7d222dec476e482b230"></a><!-- doxytag: member="iShader::GetFileName" ref="3cbb631f99fba7d222dec476e482b230" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* iShader::GetFileName           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get name of the File where it was loaded from. 
<p>

</div>
</div><p>
<a class="anchor" name="3b023b1f3c62c453a2cd4a2f8196331e"></a><!-- doxytag: member="iShader::GetMetadata" ref="3b023b1f3c62c453a2cd4a2f8196331e" args="(size_t ticket) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="structcsShaderMetadata.html">csShaderMetadata</a>&amp; iShader::GetMetadata           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ticket</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get shader metadata. 
<p>

</div>
</div><p>
<a class="anchor" name="89a4bcd38e0c7a37bee9e39119a9fcd7"></a><!-- doxytag: member="iShader::GetNumberOfPasses" ref="89a4bcd38e0c7a37bee9e39119a9fcd7" args="(size_t ticket)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t iShader::GetNumberOfPasses           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ticket</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get number of passes this shader have. 
<p>

</div>
</div><p>
<a class="anchor" name="09a0300c30a64436156b44fb0d5cd821"></a><!-- doxytag: member="iShader::GetTicket" ref="09a0300c30a64436156b44fb0d5cd821" args="(const csRenderMeshModes &amp;modes, const iShaderVarStack *stacks)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t iShader::GetTicket           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structcsRenderMeshModes.html">csRenderMeshModes</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>modes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structiShaderVarStack.html">iShaderVarStack</a> *&nbsp;</td>
          <td class="paramname"> <em>stacks</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query a "shader ticket". 
<p>
Internally, a shader may choose one of several actual techniques or variants at runtime. However, the variant has to be known in order to determine the number of passes or to do pass preparation. As the decision what variant is to be used is made based on the mesh modes and the shader vars used for rendering, those have to be provided to get the actual variant, which is then identified by the "ticket". 
</div>
</div><p>
<a class="anchor" name="ea8b04825736214e92deae7b3afaa0cd"></a><!-- doxytag: member="iShader::QueryObject" ref="ea8b04825736214e92deae7b3afaa0cd" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiObject.html">iObject</a>* iShader::QueryObject           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query the object. 
<p>

</div>
</div><p>
<a class="anchor" name="b68b65351f3d165258a08c62be531665"></a><!-- doxytag: member="iShader::SetFileName" ref="b68b65351f3d165258a08c62be531665" args="(const char *filename)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iShader::SetFileName           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set name of the File where it was loaded from. 
<p>

</div>
</div><p>
<a class="anchor" name="f1198e69735f523dec2ac125efc11fe8"></a><!-- doxytag: member="iShader::SetupPass" ref="f1198e69735f523dec2ac125efc11fe8" args="(size_t ticket, const csRenderMesh *mesh, csRenderMeshModes &amp;modes, const iShaderVarStack *stacks)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iShader::SetupPass           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ticket</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcsRenderMesh.html">csRenderMesh</a> *&nbsp;</td>
          <td class="paramname"> <em>mesh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcsRenderMeshModes.html">csRenderMeshModes</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>modes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structiShaderVarStack.html">iShaderVarStack</a> *&nbsp;</td>
          <td class="paramname"> <em>stacks</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup a pass. 
<p>

</div>
</div><p>
<a class="anchor" name="6e9434bbb1d60930513d4537832a3cd3"></a><!-- doxytag: member="iShader::TeardownPass" ref="6e9434bbb1d60930513d4537832a3cd3" args="(size_t ticket)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iShader::TeardownPass           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ticket</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tear down current state, and prepare for a new mesh (for which SetupPass is called). 
<p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>ivideo/shader/<a class="el" href="shader_8h-source.html">shader.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>