Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 1cde9f5eeb6e9b0b43fefba286186769 > files > 97

mercator-devel-0.3.0-4.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Mercator: Mercator::GrassShader Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Mercator</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><b>Mercator</b>      </li>
      <li class="navelem"><a class="el" href="classMercator_1_1GrassShader.html">GrassShader</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">Mercator::GrassShader Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Mercator::GrassShader" --><!-- doxytag: inherits="Mercator::Shader" -->
<p><a class="el" href="classMercator_1_1Shader.html" title="Base class for Shader objects which create surface data for use when rendering terrain.">Shader</a> for adding grass to the terrain.  
 <a href="classMercator_1_1GrassShader.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="GrassShader_8h_source.html">GrassShader.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Mercator::GrassShader:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classMercator_1_1GrassShader.png" usemap="#Mercator::GrassShader_map" alt=""/>
  <map id="Mercator::GrassShader_map" name="Mercator::GrassShader_map">
<area href="classMercator_1_1Shader.html" title="Base class for Shader objects which create surface data for use when rendering terrain." alt="Mercator::Shader" shape="rect" coords="0,0,144,24"/>
</map>
 </div></div>

<p><a href="classMercator_1_1GrassShader-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a4c60cc822447f50231c301f00f04a351">GrassShader</a> (float lowThreshold=<a class="el" href="classMercator_1_1GrassShader.html#a353104cea611576f69e007b9ec6a74c9">default_lowThreshold</a>, float highThreshold=<a class="el" href="classMercator_1_1GrassShader.html#a56db80a396fe1eddb98567cc43b3bf10">default_highThreshold</a>, float cutoff=<a class="el" href="classMercator_1_1GrassShader.html#ac2c3d7c576d14496042338f0a9fdb96f">default_cutoff</a>, float intercept=<a class="el" href="classMercator_1_1GrassShader.html#a75912f4e52148c66dccc83ea33d02964">default_intercept</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a4c60cc822447f50231c301f00f04a351"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a40623573ed3ea9bec667f8c8bce743c8">GrassShader</a> (const <a class="el" href="classMercator_1_1Shader.html#a1e99426c6c90afbb8c54114bb692b861">Parameters</a> &amp;params)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a40623573ed3ea9bec667f8c8bce743c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2282e21caa1a670ddf100657db682c36"></a><!-- doxytag: member="Mercator::GrassShader::lowThreshold" ref="a2282e21caa1a670ddf100657db682c36" args="() const " -->
const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a2282e21caa1a670ddf100657db682c36">lowThreshold</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for level above which the shader renders. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4170e33ff183e4180abf18f2965657f3"></a><!-- doxytag: member="Mercator::GrassShader::highThreshold" ref="a4170e33ff183e4180abf18f2965657f3" args="() const " -->
const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a4170e33ff183e4180abf18f2965657f3">highThreshold</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for level below which the shader renders. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92d34aed191166edd4f1e1f149e7d093"></a><!-- doxytag: member="Mercator::GrassShader::cutoff" ref="a92d34aed191166edd4f1e1f149e7d093" args="() const " -->
const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a92d34aed191166edd4f1e1f149e7d093">cutoff</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for slope below which grass is opaque. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32190113d1fb7c84106adf71c6fec58a"></a><!-- doxytag: member="Mercator::GrassShader::intercept" ref="a32190113d1fb7c84106adf71c6fec58a" args="() const " -->
const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a32190113d1fb7c84106adf71c6fec58a">intercept</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for slope steeper than which no grass grows. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#ab2a6bd393a2953b5905643fe9b70edb6">checkIntersect</a> (const <a class="el" href="classMercator_1_1Segment.html">Segment</a> &amp;) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether this <a class="el" href="classMercator_1_1Shader.html" title="Base class for Shader objects which create surface data for use when rendering terrain.">Shader</a> has any effect on the given <a class="el" href="classMercator_1_1Segment.html" title="Class storing heightfield and other data for a single fixed size square area of terrain defined by fo...">Segment</a>.  <a href="#ab2a6bd393a2953b5905643fe9b70edb6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7700ee2afd2b0f4cdbc05f4bd9a033e5"></a><!-- doxytag: member="Mercator::GrassShader::shade" ref="a7700ee2afd2b0f4cdbc05f4bd9a033e5" args="(Surface &amp;) const " -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a7700ee2afd2b0f4cdbc05f4bd9a033e5">shade</a> (<a class="el" href="classMercator_1_1Surface.html">Surface</a> &amp;) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Populate a <a class="el" href="classMercator_1_1Surface.html" title="Data store for terrain surface data.">Surface</a> with data. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18210b90aaecb534f30267f2ed1993c0"></a><!-- doxytag: member="Mercator::GrassShader::key_lowThreshold" ref="a18210b90aaecb534f30267f2ed1993c0" args="" -->
static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a18210b90aaecb534f30267f2ed1993c0">key_lowThreshold</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Key string used when specifying the low threshold parameter. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ef39ec949a2d3831a7bc914a2cc275b"></a><!-- doxytag: member="Mercator::GrassShader::key_highThreshold" ref="a9ef39ec949a2d3831a7bc914a2cc275b" args="" -->
static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a9ef39ec949a2d3831a7bc914a2cc275b">key_highThreshold</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Key string used when specifying the high threshold parameter. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22cabe8f7104b4c6f5e6cc2a1917d849"></a><!-- doxytag: member="Mercator::GrassShader::key_cutoff" ref="a22cabe8f7104b4c6f5e6cc2a1917d849" args="" -->
static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a22cabe8f7104b4c6f5e6cc2a1917d849">key_cutoff</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Key string used when specifying the cutoff parameter. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae125f1a11685edf2b522a2e884ca8c70"></a><!-- doxytag: member="Mercator::GrassShader::key_intercept" ref="ae125f1a11685edf2b522a2e884ca8c70" args="" -->
static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#ae125f1a11685edf2b522a2e884ca8c70">key_intercept</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Key string used when specifying the intercept parameter. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a353104cea611576f69e007b9ec6a74c9"></a><!-- doxytag: member="Mercator::GrassShader::default_lowThreshold" ref="a353104cea611576f69e007b9ec6a74c9" args="" -->
static const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a353104cea611576f69e007b9ec6a74c9">default_lowThreshold</a> = 1.f</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default level above which the shader renders. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56db80a396fe1eddb98567cc43b3bf10"></a><!-- doxytag: member="Mercator::GrassShader::default_highThreshold" ref="a56db80a396fe1eddb98567cc43b3bf10" args="" -->
static const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a56db80a396fe1eddb98567cc43b3bf10">default_highThreshold</a> = 20.f</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default level below which the shader renders. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2c3d7c576d14496042338f0a9fdb96f"></a><!-- doxytag: member="Mercator::GrassShader::default_cutoff" ref="ac2c3d7c576d14496042338f0a9fdb96f" args="" -->
static const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#ac2c3d7c576d14496042338f0a9fdb96f">default_cutoff</a> = 1.f</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default slope below which grass is opaque. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75912f4e52148c66dccc83ea33d02964"></a><!-- doxytag: member="Mercator::GrassShader::default_intercept" ref="a75912f4e52148c66dccc83ea33d02964" args="" -->
static const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a75912f4e52148c66dccc83ea33d02964">default_intercept</a> = 2.f</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default slope steeper than which no grass grows. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ColorT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a59ee673c009458a89164308d7a82c546">slopeToAlpha</a> (float height, float slope) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the alpha value for grass for a given slope.  <a href="#a59ee673c009458a89164308d7a82c546"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e1f5fd4ee215a3b19d5212ab3714f8e"></a><!-- doxytag: member="Mercator::GrassShader::m_lowThreshold" ref="a9e1f5fd4ee215a3b19d5212ab3714f8e" args="" -->
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a9e1f5fd4ee215a3b19d5212ab3714f8e">m_lowThreshold</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The level above which the shader renders. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d0da28f85bb285b0553b07e76c824cd"></a><!-- doxytag: member="Mercator::GrassShader::m_highThreshold" ref="a8d0da28f85bb285b0553b07e76c824cd" args="" -->
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a8d0da28f85bb285b0553b07e76c824cd">m_highThreshold</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The level below which the shader renders. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a76a8ee6b0d1d14342656328fd59bc2"></a><!-- doxytag: member="Mercator::GrassShader::m_cutoff" ref="a8a76a8ee6b0d1d14342656328fd59bc2" args="" -->
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#a8a76a8ee6b0d1d14342656328fd59bc2">m_cutoff</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The slope below which grass is opaque. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa94b0da36fa07d978553bd403b445f97"></a><!-- doxytag: member="Mercator::GrassShader::m_intercept" ref="aa94b0da36fa07d978553bd403b445f97" args="" -->
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMercator_1_1GrassShader.html#aa94b0da36fa07d978553bd403b445f97">m_intercept</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The slope steeper than which no grass grows. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classMercator_1_1Shader.html" title="Base class for Shader objects which create surface data for use when rendering terrain.">Shader</a> for adding grass to the terrain. </p>
<p>This shader is used to add grassy vegetation to some terrain. The mask generated by this shader depends on two factors. The altitude of the terrain, and its slope. Two parameter specify the low and high altitude values between which vegetation grows. The low value will typically be just above sea level, and the high value could be anything up to the height above which plants cannot grow. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4c60cc822447f50231c301f00f04a351"></a><!-- doxytag: member="Mercator::GrassShader::GrassShader" ref="a4c60cc822447f50231c301f00f04a351" args="(float lowThreshold=default_lowThreshold, float highThreshold=default_highThreshold, float cutoff=default_cutoff, float intercept=default_intercept)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Mercator::GrassShader::GrassShader </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>lowThreshold</em> = <code><a class="el" href="classMercator_1_1GrassShader.html#a353104cea611576f69e007b9ec6a74c9">default_lowThreshold</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>highThreshold</em> = <code><a class="el" href="classMercator_1_1GrassShader.html#a56db80a396fe1eddb98567cc43b3bf10">default_highThreshold</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>cutoff</em> = <code><a class="el" href="classMercator_1_1GrassShader.html#ac2c3d7c576d14496042338f0a9fdb96f">default_cutoff</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>intercept</em> = <code><a class="el" href="classMercator_1_1GrassShader.html#a75912f4e52148c66dccc83ea33d02964">default_intercept</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lowThreshold</td><td>level above which the shader renders. </td></tr>
    <tr><td class="paramname">highThreshold</td><td>level above which the shader renders. </td></tr>
    <tr><td class="paramname">cutoff</td><td>slope below which grass is opaque. </td></tr>
    <tr><td class="paramname">intercept</td><td>slope steeper than which no grass grows. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a40623573ed3ea9bec667f8c8bce743c8"></a><!-- doxytag: member="Mercator::GrassShader::GrassShader" ref="a40623573ed3ea9bec667f8c8bce743c8" args="(const Parameters &amp;params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Mercator::GrassShader::GrassShader </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classMercator_1_1Shader.html#a1e99426c6c90afbb8c54114bb692b861">Parameters</a> &amp;&#160;</td>
          <td class="paramname"><em>params</em></td><td>)</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">params</td><td>a map of parameters for the shader. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classMercator_1_1GrassShader.html#a22cabe8f7104b4c6f5e6cc2a1917d849">key_cutoff</a>, <a class="el" href="classMercator_1_1GrassShader.html#a9ef39ec949a2d3831a7bc914a2cc275b">key_highThreshold</a>, <a class="el" href="classMercator_1_1GrassShader.html#ae125f1a11685edf2b522a2e884ca8c70">key_intercept</a>, <a class="el" href="classMercator_1_1GrassShader.html#a18210b90aaecb534f30267f2ed1993c0">key_lowThreshold</a>, <a class="el" href="classMercator_1_1GrassShader.html#a8a76a8ee6b0d1d14342656328fd59bc2">m_cutoff</a>, <a class="el" href="classMercator_1_1GrassShader.html#a8d0da28f85bb285b0553b07e76c824cd">m_highThreshold</a>, <a class="el" href="classMercator_1_1GrassShader.html#aa94b0da36fa07d978553bd403b445f97">m_intercept</a>, and <a class="el" href="classMercator_1_1GrassShader.html#a9e1f5fd4ee215a3b19d5212ab3714f8e">m_lowThreshold</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ab2a6bd393a2953b5905643fe9b70edb6"></a><!-- doxytag: member="Mercator::GrassShader::checkIntersect" ref="ab2a6bd393a2953b5905643fe9b70edb6" args="(const Segment &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Mercator::GrassShader::checkIntersect </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classMercator_1_1Segment.html">Segment</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check whether this <a class="el" href="classMercator_1_1Shader.html" title="Base class for Shader objects which create surface data for use when rendering terrain.">Shader</a> has any effect on the given <a class="el" href="classMercator_1_1Segment.html" title="Class storing heightfield and other data for a single fixed size square area of terrain defined by fo...">Segment</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the given <a class="el" href="classMercator_1_1Segment.html" title="Class storing heightfield and other data for a single fixed size square area of terrain defined by fo...">Segment</a> height range is within the range that this <a class="el" href="classMercator_1_1Shader.html" title="Base class for Shader objects which create surface data for use when rendering terrain.">Shader</a> uses. e.g. A high altitude snow shader will have no effect on low level terrain. </dd></dl>

<p>Implements <a class="el" href="classMercator_1_1Shader.html#a6a69ca4a474c18f1038cc9a75a419855">Mercator::Shader</a>.</p>

<p>References <a class="el" href="classMercator_1_1Segment.html#ab956f69332118b0829b37cf3703b6ed2">Mercator::Segment::getMax()</a>, <a class="el" href="classMercator_1_1Segment.html#ae5d0fd3bd438a7ddfedae5030525f8ca">Mercator::Segment::getMin()</a>, <a class="el" href="classMercator_1_1GrassShader.html#a8d0da28f85bb285b0553b07e76c824cd">m_highThreshold</a>, and <a class="el" href="classMercator_1_1GrassShader.html#a9e1f5fd4ee215a3b19d5212ab3714f8e">m_lowThreshold</a>.</p>

</div>
</div>
<a class="anchor" id="a59ee673c009458a89164308d7a82c546"></a><!-- doxytag: member="Mercator::GrassShader::slopeToAlpha" ref="a59ee673c009458a89164308d7a82c546" args="(float height, float slope) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ColorT Mercator::GrassShader::slopeToAlpha </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>slope</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine the alpha value for grass for a given slope. </p>
<p>Determine the alpha value used when applying grass to the terrain at a point with given height and average slope. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">height</td><td>the altitude of the specified point. </td></tr>
    <tr><td class="paramname">slope</td><td>the steepness of the terrain at the specified point. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classMercator_1_1GrassShader.html#a8a76a8ee6b0d1d14342656328fd59bc2">m_cutoff</a>, <a class="el" href="classMercator_1_1GrassShader.html#a8d0da28f85bb285b0553b07e76c824cd">m_highThreshold</a>, <a class="el" href="classMercator_1_1GrassShader.html#aa94b0da36fa07d978553bd403b445f97">m_intercept</a>, and <a class="el" href="classMercator_1_1GrassShader.html#a9e1f5fd4ee215a3b19d5212ab3714f8e">m_lowThreshold</a>.</p>

<p>Referenced by <a class="el" href="classMercator_1_1GrassShader.html#a7700ee2afd2b0f4cdbc05f4bd9a033e5">shade()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="GrassShader_8h_source.html">GrassShader.h</a></li>
<li>GrassShader.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated for Mercator by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>