diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a02743.html | 1821 |
1 files changed, 1821 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02743.html b/docs/doxygen/nel/a02743.html new file mode 100644 index 00000000..4ab124dc --- /dev/null +++ b/docs/doxygen/nel/a02743.html @@ -0,0 +1,1821 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NL3D::CLight class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.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">Data Structures</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">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NL3D::CLight Class Reference</h1><code>#include <<a class="el" href="a05892.html">light.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Light class to work with driver.<p> +Warning: nothing is initialized by default.<p> +To use this light you must initialize the MODE (setMode), the COLORS and the 3 ATTENUATION FACTORS. If the mode is spotlight or pointlight, you must initialize the POSITION. If the mode is spotlight or directionallight, you must initialize the DIRECTION. If the mode is spotlight, you must intialize the EXPONENT and the CUTOFF.<p> +To do so, you can use one of the three methods: setupDirectional, setupPointLight, setupSpotLight or use the specifics methods.<p> +<dl compact><dt><b>Author:</b></dt><dd>Cyril 'Hulud' Corvazier <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a05892.html#l00055">55</a> of file <a class="el" href="a05892.html">light.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Public Types</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightw3">TLightMode</a> { <a class="el" href="a02743.html#NL3D_1_1CLightw3NL3D_1_1CLightw0">DirectionalLight</a>, +<a class="el" href="a02743.html#NL3D_1_1CLightw3NL3D_1_1CLightw1">PointLight</a>, +<a class="el" href="a02743.html#NL3D_1_1CLightw3NL3D_1_1CLightw2">SpotLight</a> + }</td></tr> + +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td colspan="2"><div class="groupHeader">Get methods.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_0">getAmbiant</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_1">getConstantAttenuation</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_2">getCutoff</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_3">getDiffuse</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_4">getDirection</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_5">getExponent</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_6">getLinearAttenuation</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02743.html#NL3D_1_1CLightw3">TLightMode</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_7">getMode</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_8">getPosition</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_9">getQuadraticAttenuation</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz319_10">getSpecular</a> () const </td></tr> + +<tr><td colspan="2"><div class="groupHeader">Set methods.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_0">setAmbiant</a> (const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &ambiant)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_1">setConstantAttenuation</a> (float constant)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_2">setCutoff</a> (float cutoff)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_3">setDiffuse</a> (const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &diffuse)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_4">setDirection</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &direction)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_5">setExponent</a> (float exponent)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_6">setLinearAttenuation</a> (float linear)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_7">setMode</a> (<a class="el" href="a02743.html#NL3D_1_1CLightw3">TLightMode</a> mode)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_8">setPosition</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &position)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_9">setQuadraticAttenuation</a> (float quadratic)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz317_10">setSpecular</a> (const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &specular)</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Quick setup.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz315_0">setNoAttenuation</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz315_1">setupAttenuation</a> (float farAttenuationBegin, float farAttenuationEnd)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz315_2">setupDirectional</a> (const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &ambiant, const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &diffuse, const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &specular, const <a class="el" href="a03128.html">NLMISC::CVector</a> &direction, float constant=1, float linear=0, float quadratic=0)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Quick setup a directional light. <a href="#NL3D_1_1CLightz315_2"></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="a02743.html#NL3D_1_1CLightz315_3">setupPointLight</a> (const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &ambiant, const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &diffuse, const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &specular, const <a class="el" href="a03128.html">NLMISC::CVector</a> &position, const <a class="el" href="a03128.html">NLMISC::CVector</a> &direction, float constant=1, float linear=0, float quadratic=0)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Quick setup a point light. <a href="#NL3D_1_1CLightz315_3"></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="a02743.html#NL3D_1_1CLightz315_4">setupSpotExponent</a> (float hotSpotAngle)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightz315_5">setupSpotLight</a> (const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &ambiant, const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &diffuse, const <a class="el" href="a03337.html">NLMISC::CRGBA</a> &specular, const <a class="el" href="a03128.html">NLMISC::CVector</a> &position, const <a class="el" href="a03128.html">NLMISC::CVector</a> &direction, float exponent, float cutoff, float constant=1, float linear=0, float quadratic=0)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Quick setup a spotlight. <a href="#NL3D_1_1CLightz315_5"></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="a03337.html">NLMISC::CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr0">_Ambiant</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr2">_Cutoff</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr3">_Diffuse</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr4">_Direction</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr5">_Exponent</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02743.html#NL3D_1_1CLightw3">TLightMode</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr7">_Mode</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr8">_Position</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02743.html#NL3D_1_1CLightr10">_Specular</a></td></tr> + +</table> +<hr><h2>Member Enumeration Documentation</h2> +<a class="anchor" name="NL3D_1_1CLightw3" doxytag="NL3D::CLight::TLightMode" ></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"> enum <a class="el" href="a02743.html#NL3D_1_1CLightw3">NL3D::CLight::TLightMode</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<dl compact><dt><b>Enumeration values: </b></dt><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CLightw3NL3D_1_1CLightw0" doxytag="DirectionalLight" ></a>DirectionalLight</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CLightw3NL3D_1_1CLightw1" doxytag="PointLight" ></a>PointLight</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CLightw3NL3D_1_1CLightw2" doxytag="SpotLight" ></a>SpotLight</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a05892.html#l00059">59</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00224">getMode()</a>. +<p> +<div class="fragment"><pre>00060 { +00061 <span class="comment">// The light is directional.</span> +00062 <a class="code" href="a02743.html#NL3D_1_1CLightw3NL3D_1_1CLightw0">DirectionalLight</a>, +00063 +00064 <span class="comment">// The light is a point.</span> +00065 <a class="code" href="a02743.html#NL3D_1_1CLightw3NL3D_1_1CLightw1">PointLight</a>, +00066 +00067 <span class="comment">// The light is a spotlight with a cone.</span> +00068 <a class="code" href="a02743.html#NL3D_1_1CLightw3NL3D_1_1CLightw2">SpotLight</a> +00069 }; +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NL3D_1_1CLightz319_0" doxytag="NL3D::CLight::getAmbiant" ></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="a03337.html">NLMISC::CRGBA</a> NL3D::CLight::getAmbiant </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the ambiant color of the light. +<p> +Definition at line <a class="el" href="a05892.html#l00232">232</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00327">_Ambiant</a>. +<p> +Referenced by <a class="el" href="a06329.html#l00557">NL3D::CRenderTrav::beginVPLightSetup()</a>, <a class="el" href="a05900.html#l00253">NL3D::CLightUser::getAmbiant()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00233 { +00234 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr0">_Ambiant</a>; +00235 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_1" doxytag="NL3D::CLight::getConstantAttenuation" ></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"> float NL3D::CLight::getConstantAttenuation </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get constant attenuation.<p> +The intensity of the light is attenuated this way: light_intensity = light_intensity / ( CONSTANT_ATTENUATION + vertex_light_distance * LINEAR_ATTENUATION + vertex_light_distance * vertex_light_distance * QUADRATIC_ATTENUATION ); +<p> +Definition at line <a class="el" href="a05892.html#l00292">292</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00340">_ConstantAttenuation</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00180">NL3D::CPointLight::computeAttenuationFactors()</a>, <a class="el" href="a05900.html#l00320">NL3D::CLightUser::getConstantAttenuation()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00293 { +00294 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a>; +00295 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_2" doxytag="NL3D::CLight::getCutoff" ></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"> float NL3D::CLight::getCutoff </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the cutoff of the light in radian. Should be between [0, Pi/2]. Used only for SpotLight. +<p> +Definition at line <a class="el" href="a05892.html#l00280">280</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00337">_Cutoff</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00307">NL3D::CLightUser::getCutoff()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00281 { +00282 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr2">_Cutoff</a>; +00283 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_3" doxytag="NL3D::CLight::getDiffuse" ></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="a03337.html">NLMISC::CRGBA</a> NL3D::CLight::getDiffuse </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the diffuse color of the light. +<p> +Definition at line <a class="el" href="a05892.html#l00240">240</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a06329.html#l00557">NL3D::CRenderTrav::beginVPLightSetup()</a>, <a class="el" href="a05900.html#l00262">NL3D::CLightUser::getDiffuse()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00241 { +00242 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr3">_Diffuse</a>; +00243 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_4" doxytag="NL3D::CLight::getDirection" ></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="a03128.html">NLMISC::CVector</a> NL3D::CLight::getDirection </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the direction of the light. Used only for DirectionalLight and SpotLight. +<p> +Definition at line <a class="el" href="a05892.html#l00264">264</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00333">_Direction</a>. +<p> +Referenced by <a class="el" href="a06022.html#l00433">NL3D::CMeshVPPerPixelLight::begin()</a>, <a class="el" href="a05900.html#l00289">NL3D::CLightUser::getDirection()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00265 { +00266 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr4">_Direction</a>; +00267 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_5" doxytag="NL3D::CLight::getExponent" ></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"> float NL3D::CLight::getExponent </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the exponent of the light. Used only for SpotLight. +<p> +Definition at line <a class="el" href="a05892.html#l00272">272</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00336">_Exponent</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00298">NL3D::CLightUser::getExponent()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00273 { +00274 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr5">_Exponent</a>; +00275 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_6" doxytag="NL3D::CLight::getLinearAttenuation" ></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"> float NL3D::CLight::getLinearAttenuation </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get linear attenuation.<p> +The intensity of the light is attenuated this way: light_intensity = light_intensity / ( CONSTANT_ATTENUATION + vertex_light_distance * LINEAR_ATTENUATION + vertex_light_distance * vertex_light_distance * QUADRATIC_ATTENUATION ); +<p> +Definition at line <a class="el" href="a05892.html#l00304">304</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00341">_LinearAttenuation</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00180">NL3D::CPointLight::computeAttenuationFactors()</a>, <a class="el" href="a05900.html#l00333">NL3D::CLightUser::getLinearAttenuation()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00305 { +00306 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>; +00307 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_7" doxytag="NL3D::CLight::getMode" ></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="a02743.html#NL3D_1_1CLightw3">TLightMode</a> NL3D::CLight::getMode </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the light mode. +<p> +Definition at line <a class="el" href="a05892.html#l00224">224</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00324">_Mode</a>, and <a class="el" href="a05892.html#l00059">TLightMode</a>. +<p> +Referenced by <a class="el" href="a06022.html#l00433">NL3D::CMeshVPPerPixelLight::begin()</a>, <a class="el" href="a05900.html#l00244">NL3D::CLightUser::getMode()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00225 { +00226 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr7">_Mode</a>; +00227 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_8" doxytag="NL3D::CLight::getPosition" ></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="a03128.html">NLMISC::CVector</a> NL3D::CLight::getPosition </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the position of the light. Used only for SpotLight and PointLight. +<p> +Definition at line <a class="el" href="a05892.html#l00256">256</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00332">_Position</a>. +<p> +Referenced by <a class="el" href="a06022.html#l00433">NL3D::CMeshVPPerPixelLight::begin()</a>, <a class="el" href="a06329.html#l00557">NL3D::CRenderTrav::beginVPLightSetup()</a>, <a class="el" href="a05900.html#l00280">NL3D::CLightUser::getPosition()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00257 { +00258 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr8">_Position</a>; +00259 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_9" doxytag="NL3D::CLight::getQuadraticAttenuation" ></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"> float NL3D::CLight::getQuadraticAttenuation </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get quadratic attenuation.<p> +The intensity of the light is attenuated this way: light_intensity = light_intensity / ( CONSTANT_ATTENUATION + vertex_light_distance * LINEAR_ATTENUATION + vertex_light_distance * vertex_light_distance * QUADRATIC_ATTENUATION ); +<p> +Definition at line <a class="el" href="a05892.html#l00316">316</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00342">_QuadraticAttenuation</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00180">NL3D::CPointLight::computeAttenuationFactors()</a>, <a class="el" href="a05900.html#l00346">NL3D::CLightUser::getQuadraticAttenuation()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00317 { +00318 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>; +00319 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz319_10" doxytag="NL3D::CLight::getSpecular" ></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="a03337.html">NLMISC::CRGBA</a> NL3D::CLight::getSpecular </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the specular color of the light. +<p> +Definition at line <a class="el" href="a05892.html#l00248">248</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a06329.html#l00557">NL3D::CRenderTrav::beginVPLightSetup()</a>, <a class="el" href="a05900.html#l00271">NL3D::CLightUser::getSpecular()</a>, and <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>. +<p> +<div class="fragment"><pre>00249 { +00250 <span class="keywordflow">return</span> <a class="code" href="a02743.html#NL3D_1_1CLightr10">_Specular</a>; +00251 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_0" doxytag="NL3D::CLight::setAmbiant" ></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 NL3D::CLight::setAmbiant </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>ambiant</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the ambiant color of the light. +<p> +Definition at line <a class="el" href="a05892.html#l00127">127</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00327">_Ambiant</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00137">NL3D::CLightUser::setAmbiant()</a>, <a class="el" href="a05891.html#l00037">setupDirectional()</a>, <a class="el" href="a05891.html#l00059">setupPointLight()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00128 { +00129 <a class="code" href="a02743.html#NL3D_1_1CLightr0">_Ambiant</a>=ambiant; +00130 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_1" doxytag="NL3D::CLight::setConstantAttenuation" ></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 NL3D::CLight::setConstantAttenuation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>constant</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set constant attenuation.<p> +The intensity of the light is attenuated this way: light_intensity = light_intensity / ( CONSTANT_ATTENUATION + vertex_light_distance * LINEAR_ATTENUATION + vertex_light_distance * vertex_light_distance * QUADRATIC_ATTENUATION ); +<p> +Definition at line <a class="el" href="a05892.html#l00187">187</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00340">_ConstantAttenuation</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00204">NL3D::CLightUser::setConstantAttenuation()</a>, <a class="el" href="a05891.html#l00037">setupDirectional()</a>, <a class="el" href="a05891.html#l00059">setupPointLight()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00188 { +00189 <a class="code" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a>=constant; +00190 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_2" doxytag="NL3D::CLight::setCutoff" ></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 NL3D::CLight::setCutoff </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>cutoff</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the cutoff of the light in radian. Should be between [0, Pi/2]. Used only for SpotLight. +<p> +Definition at line <a class="el" href="a05892.html#l00175">175</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00337">_Cutoff</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00191">NL3D::CLightUser::setCutoff()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00176 { +00177 <a class="code" href="a02743.html#NL3D_1_1CLightr2">_Cutoff</a>=cutoff; +00178 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_3" doxytag="NL3D::CLight::setDiffuse" ></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 NL3D::CLight::setDiffuse </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>diffuse</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the diffuse color of the light. +<p> +Definition at line <a class="el" href="a05892.html#l00135">135</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00146">NL3D::CLightUser::setDiffuse()</a>, <a class="el" href="a05891.html#l00037">setupDirectional()</a>, <a class="el" href="a05891.html#l00059">setupPointLight()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00136 { +00137 <a class="code" href="a02743.html#NL3D_1_1CLightr3">_Diffuse</a>=diffuse; +00138 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_4" doxytag="NL3D::CLight::setDirection" ></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 NL3D::CLight::setDirection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>direction</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the direction of the light. Used only for DirectionalLight and SpotLight. +<p> +Definition at line <a class="el" href="a05892.html#l00159">159</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00333">_Direction</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00173">NL3D::CLightUser::setDirection()</a>, <a class="el" href="a05891.html#l00037">setupDirectional()</a>, <a class="el" href="a05891.html#l00059">setupPointLight()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00160 { +00161 <a class="code" href="a02743.html#NL3D_1_1CLightr4">_Direction</a>=direction; +00162 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_5" doxytag="NL3D::CLight::setExponent" ></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 NL3D::CLight::setExponent </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>exponent</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the Intensity distribution of the light. Should be between [0, 1]. Used only for SpotLight. +<p> +Definition at line <a class="el" href="a05892.html#l00167">167</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00336">_Exponent</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00182">NL3D::CLightUser::setExponent()</a>, <a class="el" href="a05891.html#l00150">setupSpotExponent()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00168 { +00169 <a class="code" href="a02743.html#NL3D_1_1CLightr5">_Exponent</a>=exponent; +00170 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_6" doxytag="NL3D::CLight::setLinearAttenuation" ></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 NL3D::CLight::setLinearAttenuation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>linear</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set linear attenuation.<p> +The intensity of the light is attenuated this way: light_intensity = light_intensity / ( CONSTANT_ATTENUATION + vertex_light_distance * LINEAR_ATTENUATION + vertex_light_distance * vertex_light_distance * QUADRATIC_ATTENUATION ); +<p> +Definition at line <a class="el" href="a05892.html#l00199">199</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00341">_LinearAttenuation</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00217">NL3D::CLightUser::setLinearAttenuation()</a>, <a class="el" href="a05891.html#l00037">setupDirectional()</a>, <a class="el" href="a05891.html#l00059">setupPointLight()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00200 { +00201 <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>=linear; +00202 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_7" doxytag="NL3D::CLight::setMode" ></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 NL3D::CLight::setMode </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02743.html#NL3D_1_1CLightw3">TLightMode</a> </td> + <td class="mdname1" valign="top" nowrap> <em>mode</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the light mode. +<p> +Definition at line <a class="el" href="a05892.html#l00119">119</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00324">_Mode</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00128">NL3D::CLightUser::setMode()</a>, <a class="el" href="a05891.html#l00037">setupDirectional()</a>, <a class="el" href="a05891.html#l00059">setupPointLight()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00120 { +00121 <a class="code" href="a02743.html#NL3D_1_1CLightr7">_Mode</a>=mode; +00122 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz315_0" doxytag="NL3D::CLight::setNoAttenuation" ></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 NL3D::CLight::setNoAttenuation </td> + <td class="md" valign="top">( </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> +Set no attenuation.<p> +The light will not use attenuation. +<p> +Definition at line <a class="el" href="a05891.html#l00160">160</a> of file <a class="el" href="a05891.html">light.cpp</a>. +<p> +References <a class="el" href="a05892.html#l00340">_ConstantAttenuation</a>, <a class="el" href="a05892.html#l00341">_LinearAttenuation</a>, and <a class="el" href="a05892.html#l00342">_QuadraticAttenuation</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00101">NL3D::CLightUser::setNoAttenuation()</a>. +<p> +<div class="fragment"><pre>00161 { +00162 <a class="code" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a>=1.f; +00163 <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>=0.f; +00164 <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>=0.f; +00165 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_8" doxytag="NL3D::CLight::setPosition" ></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 NL3D::CLight::setPosition </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>position</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the position of the light. Used only for SpotLight and PointLight. +<p> +Definition at line <a class="el" href="a05892.html#l00151">151</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00332">_Position</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00164">NL3D::CLightUser::setPosition()</a>, <a class="el" href="a05891.html#l00059">setupPointLight()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00152 { +00153 <a class="code" href="a02743.html#NL3D_1_1CLightr8">_Position</a>=position; +00154 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_9" doxytag="NL3D::CLight::setQuadraticAttenuation" ></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 NL3D::CLight::setQuadraticAttenuation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>quadratic</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set quadratic attenuation.<p> +The intensity of the light is attenuated this way: light_intensity = light_intensity / ( CONSTANT_ATTENUATION + vertex_light_distance * LINEAR_ATTENUATION + vertex_light_distance * vertex_light_distance * QUADRATIC_ATTENUATION ); +<p> +Definition at line <a class="el" href="a05892.html#l00211">211</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +References <a class="el" href="a05892.html#l00342">_QuadraticAttenuation</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00230">NL3D::CLightUser::setQuadraticAttenuation()</a>, <a class="el" href="a05891.html#l00037">setupDirectional()</a>, <a class="el" href="a05891.html#l00059">setupPointLight()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00212 { +00213 <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>=quadratic; +00214 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz317_10" doxytag="NL3D::CLight::setSpecular" ></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 NL3D::CLight::setSpecular </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>specular</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the specular color of the light. +<p> +Definition at line <a class="el" href="a05892.html#l00143">143</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00155">NL3D::CLightUser::setSpecular()</a>, <a class="el" href="a05891.html#l00037">setupDirectional()</a>, <a class="el" href="a05891.html#l00059">setupPointLight()</a>, and <a class="el" href="a05891.html#l00082">setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00144 { +00145 <a class="code" href="a02743.html#NL3D_1_1CLightr10">_Specular</a>=specular; +00146 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz315_1" doxytag="NL3D::CLight::setupAttenuation" ></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 NL3D::CLight::setupAttenuation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>farAttenuationBegin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>farAttenuationEnd</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Setup attenuation with begin and end attenuation distance.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>farAttenuationBegin</em> </td><td>is the distance of the begin of the attenuation (attenuation == 0.9f) </td></tr> + <tr><td valign=top><em>farAttenuationEnd</em> </td><td>is the distance of the end of the attenuation (attenuation == 0.1f)</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05891.html#l00109">109</a> of file <a class="el" href="a05891.html">light.cpp</a>. +<p> +References <a class="el" href="a05892.html#l00340">_ConstantAttenuation</a>, <a class="el" href="a05892.html#l00341">_LinearAttenuation</a>, and <a class="el" href="a05892.html#l00342">_QuadraticAttenuation</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00180">NL3D::CPointLight::computeAttenuationFactors()</a>, and <a class="el" href="a05900.html#l00089">NL3D::CLightUser::setupAttenuation()</a>. +<p> +<div class="fragment"><pre>00110 { +00111 <a class="code" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a>=1.f; +00112 <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>=(<span class="keywordtype">float</span>)(0.1/(0.9*farAttenuationBegin*farAttenuationBegin)); +00113 <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>=(<span class="keywordtype">float</span>)(0.1/(0.9*farAttenuationBegin)); +00114 +00115 <span class="comment">// blend factor</span> +00116 <span class="keywordtype">float</span> factor = (0.1f*<a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>*farAttenuationEnd-0.1f*<a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>*farAttenuationEnd*farAttenuationEnd); +00117 +00118 <span class="keywordflow">if</span> (factor == 0.0f) +00119 factor = 0.0001f; +00120 factor = (0.9f-0.1f*<a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>*farAttenuationEnd*farAttenuationEnd)/factor; +00121 +00122 <span class="keywordflow">if</span> ((factor<0.f)||(factor>1.f)) +00123 { +00124 <span class="comment">// Better factor</span> +00125 <span class="keywordtype">float</span> d0_1Lin=1.f / ( <a class="code" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a> + <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>*farAttenuationEnd ); +00126 <span class="keywordtype">float</span> d0_1Quad=1.f / ( <a class="code" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a> + <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>*farAttenuationEnd*farAttenuationEnd ); +00127 +00128 <span class="comment">// Better</span> +00129 <span class="keywordflow">if</span> (fabs (d0_1Lin-0.1f)<fabs (d0_1Quad-0.1f)) +00130 <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>=0.f; +00131 <span class="keywordflow">else</span> +00132 <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>=0.f; +00133 } +00134 <span class="keywordflow">else</span> +00135 { +00136 <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>*=factor; +00137 <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>*=(1.f-factor); +00138 } +00139 +00140 <span class="preprocessor">#ifdef NL_DEBUG</span> +00141 <span class="preprocessor"></span> <span class="comment">// Should be near previous result</span> +00142 <span class="keywordtype">float</span> d1_0=1.f / ( <a class="code" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a> + <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>*0.f + <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>*0.f*0.f ); +00143 <span class="keywordtype">float</span> d0_9=1.f / ( <a class="code" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a> + <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>*farAttenuationBegin + <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>*farAttenuationBegin*farAttenuationBegin ); +00144 <span class="keywordtype">float</span> d0_1=1.f / ( <a class="code" href="a02743.html#NL3D_1_1CLightr1">_ConstantAttenuation</a> + <a class="code" href="a02743.html#NL3D_1_1CLightr6">_LinearAttenuation</a>*farAttenuationEnd + <a class="code" href="a02743.html#NL3D_1_1CLightr9">_QuadraticAttenuation</a>*farAttenuationEnd*farAttenuationEnd ); +00145 <span class="preprocessor">#endif // NL_DEBUG*/</span> +00146 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz315_2" doxytag="NL3D::CLight::setupDirectional" ></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 NL3D::CLight::setupDirectional </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>ambiant</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>diffuse</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>specular</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>direction</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>constant</em> = 1, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>linear</em> = 0, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>quadratic</em> = 0</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Quick setup a directional light. +<p> + +<p> +Definition at line <a class="el" href="a05891.html#l00037">37</a> of file <a class="el" href="a05891.html">light.cpp</a>. +<p> +References <a class="el" href="a02743.html#NL3D_1_1CLightw3NL3D_1_1CLightw0">DirectionalLight</a>, <a class="el" href="a05892.html#l00127">setAmbiant()</a>, <a class="el" href="a05892.html#l00187">setConstantAttenuation()</a>, <a class="el" href="a05892.html#l00135">setDiffuse()</a>, <a class="el" href="a05892.html#l00159">setDirection()</a>, <a class="el" href="a05892.html#l00199">setLinearAttenuation()</a>, <a class="el" href="a05892.html#l00119">setMode()</a>, <a class="el" href="a05892.html#l00211">setQuadraticAttenuation()</a>, and <a class="el" href="a05892.html#l00143">setSpecular()</a>. +<p> +Referenced by <a class="el" href="a06329.html#l00409">NL3D::CRenderTrav::changeLightSetup()</a>, <a class="el" href="a06329.html#l00355">NL3D::CRenderTrav::resetLightSetup()</a>, and <a class="el" href="a05900.html#l00060">NL3D::CLightUser::setupDirectional()</a>. +<p> +<div class="fragment"><pre>00039 { +00040 <span class="comment">// Set the mode</span> +00041 <a class="code" href="a02743.html#NL3D_1_1CLightz317_7">setMode</a> (DirectionalLight); +00042 +00043 <span class="comment">// Set the colors</span> +00044 <a class="code" href="a02743.html#NL3D_1_1CLightz317_0">setAmbiant</a> (ambiant); +00045 <a class="code" href="a02743.html#NL3D_1_1CLightz317_3">setDiffuse</a> (diffuse); +00046 <a class="code" href="a02743.html#NL3D_1_1CLightz317_10">setSpecular</a> (specular); +00047 +00048 <span class="comment">// Set the direction</span> +00049 <a class="code" href="a02743.html#NL3D_1_1CLightz317_4">setDirection</a> (direction); +00050 +00051 <span class="comment">// Set attenuation</span> +00052 <a class="code" href="a02743.html#NL3D_1_1CLightz317_1">setConstantAttenuation</a> (constant); +00053 <a class="code" href="a02743.html#NL3D_1_1CLightz317_6">setLinearAttenuation</a> (linear); +00054 <a class="code" href="a02743.html#NL3D_1_1CLightz317_9">setQuadraticAttenuation</a> (quadratic); +00055 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz315_3" doxytag="NL3D::CLight::setupPointLight" ></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 NL3D::CLight::setupPointLight </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>ambiant</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>diffuse</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>specular</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>position</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>direction</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>constant</em> = 1, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>linear</em> = 0, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>quadratic</em> = 0</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Quick setup a point light. +<p> + +<p> +Definition at line <a class="el" href="a05891.html#l00059">59</a> of file <a class="el" href="a05891.html">light.cpp</a>. +<p> +References <a class="el" href="a05892.html#l00127">setAmbiant()</a>, <a class="el" href="a05892.html#l00187">setConstantAttenuation()</a>, <a class="el" href="a05892.html#l00135">setDiffuse()</a>, <a class="el" href="a05892.html#l00159">setDirection()</a>, <a class="el" href="a05892.html#l00199">setLinearAttenuation()</a>, <a class="el" href="a05892.html#l00119">setMode()</a>, <a class="el" href="a05892.html#l00151">setPosition()</a>, <a class="el" href="a05892.html#l00211">setQuadraticAttenuation()</a>, and <a class="el" href="a05892.html#l00143">setSpecular()</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00346">NL3D::CPointLight::setupDriverLight()</a>, <a class="el" href="a06179.html#l00374">NL3D::CPointLight::setupDriverLightUserAttenuation()</a>, and <a class="el" href="a05900.html#l00068">NL3D::CLightUser::setupPointLight()</a>. +<p> +<div class="fragment"><pre>00061 { +00062 <span class="comment">// Set the mode</span> +00063 <a class="code" href="a02743.html#NL3D_1_1CLightz317_7">setMode</a> (PointLight); +00064 +00065 <span class="comment">// Set the colors</span> +00066 <a class="code" href="a02743.html#NL3D_1_1CLightz317_0">setAmbiant</a> (ambiant); +00067 <a class="code" href="a02743.html#NL3D_1_1CLightz317_3">setDiffuse</a> (diffuse); +00068 <a class="code" href="a02743.html#NL3D_1_1CLightz317_10">setSpecular</a> (specular); +00069 +00070 <span class="comment">// Set the position and direction</span> +00071 <a class="code" href="a02743.html#NL3D_1_1CLightz317_8">setPosition</a> (position); +00072 <a class="code" href="a02743.html#NL3D_1_1CLightz317_4">setDirection</a> (direction); +00073 +00074 <span class="comment">// Set attenuation</span> +00075 <a class="code" href="a02743.html#NL3D_1_1CLightz317_1">setConstantAttenuation</a> (constant); +00076 <a class="code" href="a02743.html#NL3D_1_1CLightz317_6">setLinearAttenuation</a> (linear); +00077 <a class="code" href="a02743.html#NL3D_1_1CLightz317_9">setQuadraticAttenuation</a> (quadratic); +00078 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz315_4" doxytag="NL3D::CLight::setupSpotExponent" ></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 NL3D::CLight::setupSpotExponent </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>hotSpotAngle</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> +Setup spot exponent with angle of the hotspot.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>hotSpotAngle</em> </td><td>is the angle in radian between the axis of the spot and the vector from light where attenuation is == 0.9.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05891.html#l00150">150</a> of file <a class="el" href="a05891.html">light.cpp</a>. +<p> +References <a class="el" href="a05892.html#l00167">setExponent()</a>. +<p> +Referenced by <a class="el" href="a05900.html#l00113">NL3D::CLightUser::setupSpotExponent()</a>. +<p> +<div class="fragment"><pre>00151 { +00152 <span class="keywordtype">float</span> divid=(<span class="keywordtype">float</span>)log (cos (hotSpotAngle)); +00153 <span class="keywordflow">if</span> (divid==0.f) +00154 divid=0.0001f; +00155 <a class="code" href="a02743.html#NL3D_1_1CLightz317_5">setExponent</a> ((<span class="keywordtype">float</span>)(log (0.9)/divid)); +00156 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightz315_5" doxytag="NL3D::CLight::setupSpotLight" ></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 NL3D::CLight::setupSpotLight </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>ambiant</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>diffuse</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">NLMISC::CRGBA</a> & </td> + <td class="mdname" nowrap> <em>specular</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>position</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>direction</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>exponent</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>cutoff</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>constant</em> = 1, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>linear</em> = 0, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>quadratic</em> = 0</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Quick setup a spotlight. +<p> + +<p> +Definition at line <a class="el" href="a05891.html#l00082">82</a> of file <a class="el" href="a05891.html">light.cpp</a>. +<p> +References <a class="el" href="a05892.html#l00127">setAmbiant()</a>, <a class="el" href="a05892.html#l00187">setConstantAttenuation()</a>, <a class="el" href="a05892.html#l00175">setCutoff()</a>, <a class="el" href="a05892.html#l00135">setDiffuse()</a>, <a class="el" href="a05892.html#l00159">setDirection()</a>, <a class="el" href="a05892.html#l00167">setExponent()</a>, <a class="el" href="a05892.html#l00199">setLinearAttenuation()</a>, <a class="el" href="a05892.html#l00119">setMode()</a>, <a class="el" href="a05892.html#l00151">setPosition()</a>, <a class="el" href="a05892.html#l00211">setQuadraticAttenuation()</a>, <a class="el" href="a05892.html#l00143">setSpecular()</a>, and <a class="el" href="a02743.html#NL3D_1_1CLightw3NL3D_1_1CLightw2">SpotLight</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00346">NL3D::CPointLight::setupDriverLight()</a>, and <a class="el" href="a05900.html#l00076">NL3D::CLightUser::setupSpotLight()</a>. +<p> +<div class="fragment"><pre>00084 { +00085 <span class="comment">// Set the mode</span> +00086 <a class="code" href="a02743.html#NL3D_1_1CLightz317_7">setMode</a> (SpotLight); +00087 +00088 <span class="comment">// Set the colors</span> +00089 <a class="code" href="a02743.html#NL3D_1_1CLightz317_0">setAmbiant</a> (ambiant); +00090 <a class="code" href="a02743.html#NL3D_1_1CLightz317_3">setDiffuse</a> (diffuse); +00091 <a class="code" href="a02743.html#NL3D_1_1CLightz317_10">setSpecular</a> (specular); +00092 +00093 <span class="comment">// Set the position and direction</span> +00094 <a class="code" href="a02743.html#NL3D_1_1CLightz317_8">setPosition</a> (position); +00095 <a class="code" href="a02743.html#NL3D_1_1CLightz317_4">setDirection</a> (direction); +00096 +00097 <span class="comment">// Set spotlight parameters</span> +00098 <a class="code" href="a02743.html#NL3D_1_1CLightz317_5">setExponent</a> (exponent); +00099 <a class="code" href="a02743.html#NL3D_1_1CLightz317_2">setCutoff</a> (cutoff); +00100 +00101 <span class="comment">// Set attenuation</span> +00102 <a class="code" href="a02743.html#NL3D_1_1CLightz317_1">setConstantAttenuation</a> (constant); +00103 <a class="code" href="a02743.html#NL3D_1_1CLightz317_6">setLinearAttenuation</a> (linear); +00104 <a class="code" href="a02743.html#NL3D_1_1CLightz317_9">setQuadraticAttenuation</a> (quadratic); +00105 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NL3D_1_1CLightr0" doxytag="NL3D::CLight::_Ambiant" ></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="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a02743.html#NL3D_1_1CLightr0">NL3D::CLight::_Ambiant</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="a05892.html#l00327">327</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00232">getAmbiant()</a>, and <a class="el" href="a05892.html#l00127">setAmbiant()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr1" doxytag="NL3D::CLight::_ConstantAttenuation" ></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"> float <a class="el" href="a02743.html#NL3D_1_1CLightr1">NL3D::CLight::_ConstantAttenuation</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="a05892.html#l00340">340</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00292">getConstantAttenuation()</a>, <a class="el" href="a05892.html#l00187">setConstantAttenuation()</a>, <a class="el" href="a05891.html#l00160">setNoAttenuation()</a>, and <a class="el" href="a05891.html#l00109">setupAttenuation()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr2" doxytag="NL3D::CLight::_Cutoff" ></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"> float <a class="el" href="a02743.html#NL3D_1_1CLightr2">NL3D::CLight::_Cutoff</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="a05892.html#l00337">337</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00280">getCutoff()</a>, and <a class="el" href="a05892.html#l00175">setCutoff()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr3" doxytag="NL3D::CLight::_Diffuse" ></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="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a02743.html#NL3D_1_1CLightr3">NL3D::CLight::_Diffuse</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="a05892.html#l00328">328</a> of file <a class="el" href="a05892.html">light.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr4" doxytag="NL3D::CLight::_Direction" ></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="a03128.html">NLMISC::CVector</a> <a class="el" href="a02743.html#NL3D_1_1CLightr4">NL3D::CLight::_Direction</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="a05892.html#l00333">333</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00264">getDirection()</a>, and <a class="el" href="a05892.html#l00159">setDirection()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr5" doxytag="NL3D::CLight::_Exponent" ></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"> float <a class="el" href="a02743.html#NL3D_1_1CLightr5">NL3D::CLight::_Exponent</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="a05892.html#l00336">336</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00272">getExponent()</a>, and <a class="el" href="a05892.html#l00167">setExponent()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr6" doxytag="NL3D::CLight::_LinearAttenuation" ></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"> float <a class="el" href="a02743.html#NL3D_1_1CLightr6">NL3D::CLight::_LinearAttenuation</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="a05892.html#l00341">341</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00304">getLinearAttenuation()</a>, <a class="el" href="a05892.html#l00199">setLinearAttenuation()</a>, <a class="el" href="a05891.html#l00160">setNoAttenuation()</a>, and <a class="el" href="a05891.html#l00109">setupAttenuation()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr7" doxytag="NL3D::CLight::_Mode" ></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="a02743.html#NL3D_1_1CLightw3">TLightMode</a> <a class="el" href="a02743.html#NL3D_1_1CLightr7">NL3D::CLight::_Mode</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="a05892.html#l00324">324</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00224">getMode()</a>, and <a class="el" href="a05892.html#l00119">setMode()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr8" doxytag="NL3D::CLight::_Position" ></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="a03128.html">NLMISC::CVector</a> <a class="el" href="a02743.html#NL3D_1_1CLightr8">NL3D::CLight::_Position</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="a05892.html#l00332">332</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00256">getPosition()</a>, and <a class="el" href="a05892.html#l00151">setPosition()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr9" doxytag="NL3D::CLight::_QuadraticAttenuation" ></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"> float <a class="el" href="a02743.html#NL3D_1_1CLightr9">NL3D::CLight::_QuadraticAttenuation</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="a05892.html#l00342">342</a> of file <a class="el" href="a05892.html">light.h</a>. +<p> +Referenced by <a class="el" href="a05892.html#l00316">getQuadraticAttenuation()</a>, <a class="el" href="a05891.html#l00160">setNoAttenuation()</a>, <a class="el" href="a05892.html#l00211">setQuadraticAttenuation()</a>, and <a class="el" href="a05891.html#l00109">setupAttenuation()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CLightr10" doxytag="NL3D::CLight::_Specular" ></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="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a02743.html#NL3D_1_1CLightr10">NL3D::CLight::_Specular</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="a05892.html#l00329">329</a> of file <a class="el" href="a05892.html">light.h</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05892.html">light.h</a><li><a class="el" href="a05891.html">light.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:49:24 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |