Sophie

Sophie

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

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: ivideo/shader/shader.h File 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><a href="classes.html"><span>Classes</span></a></li>
    <li class="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>ivideo/shader/shader.h File Reference</h1>Shader-related interfaces. <a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="scf_8h-source.html">csutil/scf.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="iutil_2array_8h-source.html">iutil/array.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="shadervar_8h-source.html">csgfx/shadervar.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="csutil_2array_8h-source.html">csutil/array.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="refarr_8h-source.html">csutil/refarr.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="set_8h-source.html">csutil/set.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="csutil_2strset_8h-source.html">csutil/strset.h</a>&quot;</code><br>

<p>
<a href="shader_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsShaderMetadata.html">csShaderMetadata</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shader metadata.  <a href="structcsShaderMetadata.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShader.html">iShader</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specific shader.  <a href="structiShader.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShaderCompiler.html">iShaderCompiler</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compiler of shaders.  <a href="structiShaderCompiler.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShaderManager.html">iShaderManager</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A manager for all shaders.  <a href="structiShaderManager.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShaderPriorityList.html">iShaderPriorityList</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of priorities as returned by iShaderCompiler-&gt;GetPriorities().  <a href="structiShaderPriorityList.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShaderVariableContext.html">iShaderVariableContext</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a baseclass for all interfaces which provides shadervariables both dynamically and static.  <a href="structiShaderVariableContext.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiShaderVarStack.html">iShaderVarStack</a></td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classcsArray.html">csArray</a><br>
&lt; <a class="el" href="classcsShaderVariable.html">csShaderVariable</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="shader_8h.html#16342d39b5945f4bccde3d5747f85838">csShaderVarStack</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A "shader variable stack".  <a href="#16342d39b5945f4bccde3d5747f85838"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="shader_8h.html#569185ecc5e0b5c32cc4e092ff9ec3ca">csShaderTagPresence</a> { <a class="el" href="shader_8h.html#569185ecc5e0b5c32cc4e092ff9ec3cabda08f3e70f89653c3f2c7d35ee339fa">TagNeutral</a>, 
<a class="el" href="shader_8h.html#569185ecc5e0b5c32cc4e092ff9ec3ca9eedc259d33b0549fe002d64f274189c">TagForbidden</a>, 
<a class="el" href="shader_8h.html#569185ecc5e0b5c32cc4e092ff9ec3caafe7c1db92fcfd36e5071221283dd9b3">TagRequired</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Possible settings regarding a techique tag's presence.  <a href="shader_8h.html#569185ecc5e0b5c32cc4e092ff9ec3ca">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61a5008c359481a0bd68bd3ea8b28ea5"></a><!-- doxytag: member="shader.h::csGetShaderVariableFromStack" ref="61a5008c359481a0bd68bd3ea8b28ea5" args="(const iShaderVarStack *stack, const csStringID &amp;name)" -->
static <a class="el" href="classcsShaderVariable.html">csShaderVariable</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="shader_8h.html#61a5008c359481a0bd68bd3ea8b28ea5">csGetShaderVariableFromStack</a> (const <a class="el" href="structiShaderVarStack.html">iShaderVarStack</a> *stack, const <a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a> &amp;name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classcsShaderVariable.html">csShaderVariable</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="shader_8h.html#28da1d8ecc3441f3fac0aaa694a87d48">csGetShaderVariableFromStack</a> (const <a class="el" href="classcsArray.html">csShaderVarStack</a> &amp;stack, const <a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a> &amp;name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function to retrieve a single value from a shader variable stack.  <a href="#28da1d8ecc3441f3fac0aaa694a87d48"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Shader-related interfaces. 
<p>

<p>Definition in file <a class="el" href="shader_8h-source.html">shader.h</a>.</p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="16342d39b5945f4bccde3d5747f85838"></a><!-- doxytag: member="shader.h::csShaderVarStack" ref="16342d39b5945f4bccde3d5747f85838" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classcsArray.html">csArray</a>&lt;<a class="el" href="classcsShaderVariable.html">csShaderVariable</a>*&gt; <a class="el" href="classcsArray.html">csShaderVarStack</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A "shader variable stack". 
<p>
Stores a list of shader variables, indexed by it's name. 
<p>Definition at line <a class="el" href="shader_8h-source.html#l00048">48</a> of file <a class="el" href="shader_8h-source.html">shader.h</a>.</p>

</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="569185ecc5e0b5c32cc4e092ff9ec3ca"></a><!-- doxytag: member="shader.h::csShaderTagPresence" ref="569185ecc5e0b5c32cc4e092ff9ec3ca" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="shader_8h.html#569185ecc5e0b5c32cc4e092ff9ec3ca">csShaderTagPresence</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Possible settings regarding a techique tag's presence. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="569185ecc5e0b5c32cc4e092ff9ec3cabda08f3e70f89653c3f2c7d35ee339fa"></a><!-- doxytag: member="TagNeutral" ref="569185ecc5e0b5c32cc4e092ff9ec3cabda08f3e70f89653c3f2c7d35ee339fa" args="" -->TagNeutral</em>&nbsp;</td><td>
The tag is neither required nor forbidden. 
<p>
However, it's priority still contributes to technique selection. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="569185ecc5e0b5c32cc4e092ff9ec3ca9eedc259d33b0549fe002d64f274189c"></a><!-- doxytag: member="TagForbidden" ref="569185ecc5e0b5c32cc4e092ff9ec3ca9eedc259d33b0549fe002d64f274189c" args="" -->TagForbidden</em>&nbsp;</td><td>
Techniques were this tag is present are rejected to be loaded. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="569185ecc5e0b5c32cc4e092ff9ec3caafe7c1db92fcfd36e5071221283dd9b3"></a><!-- doxytag: member="TagRequired" ref="569185ecc5e0b5c32cc4e092ff9ec3caafe7c1db92fcfd36e5071221283dd9b3" args="" -->TagRequired</em>&nbsp;</td><td>
Techniques are required to have one such tag. 
<p>
If at least one required tag exists and no required tag is present in a technique, it doesn't validate. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="shader_8h-source.html#l00152">152</a> of file <a class="el" href="shader_8h-source.html">shader.h</a>.</p>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="28da1d8ecc3441f3fac0aaa694a87d48"></a><!-- doxytag: member="shader.h::csGetShaderVariableFromStack" ref="28da1d8ecc3441f3fac0aaa694a87d48" args="(const csShaderVarStack &amp;stack, const csStringID &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classcsShaderVariable.html">csShaderVariable</a>* csGetShaderVariableFromStack           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsArray.html">csShaderVarStack</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>stack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper function to retrieve a single value from a shader variable stack. 
<p>

<p>Definition at line <a class="el" href="shader_8h-source.html#l00067">67</a> of file <a class="el" href="shader_8h-source.html">shader.h</a>.</p>

<p>References <a class="el" href="iutil_2strset_8h-source.html#l00036">csInvalidStringID</a>, and <a class="el" href="csutil_2array_8h-source.html#l00535">csArray&lt; T, ElementHandler, MemoryAllocator, CapacityHandler &gt;::GetSize()</a>.</p>

<p>Referenced by <a class="el" href="shaderprogram_8h-source.html#l00208">csShaderProgram::GetParamFloatVal()</a>, <a class="el" href="shaderprogram_8h-source.html#l00191">csShaderProgram::GetParamTransformVal()</a>, and <a class="el" href="shaderprogram_8h-source.html#l00174">csShaderProgram::GetParamVectorVal()</a>.</p>

</div>
</div><p>
<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>