diff options
Diffstat (limited to 'docs/doxygen/nel/a03091.html')
-rw-r--r-- | docs/doxygen/nel/a03091.html | 2413 |
1 files changed, 2413 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03091.html b/docs/doxygen/nel/a03091.html new file mode 100644 index 00000000..41a7d90e --- /dev/null +++ b/docs/doxygen/nel/a03091.html @@ -0,0 +1,2413 @@ +<!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::CPointLight 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::CPointLight Class Reference</h1><code>#include <<a class="el" href="a06180.html">point_light.h</a>></code> +<p> +<p>Inheritance diagram for NL3D::CPointLight: +<p><center><img src="a03091.png" usemap="#NL3D::CPointLight_map" border="0" alt=""></center> +<map name="NL3D::CPointLight_map"> +<area href="a03094.html" alt="NL3D::CPointLightNamed" shape="rect" coords="0,56,153,80"> +</map> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Description of a light. Owned by an IG, or a <a class="el" href="a03093.html">CPointLightModel</a>. With the special sunLight, this is the only light which can interact with <a class="el" href="a02316.html">CTransform</a> models in the standard lighting system.<p> +Only Positionnal with or without attenuation are supported. no directionnal. This restriction is for faster rendering, especially if VertexProgram is used. New: Spot are managed but VertexProgrammed meshes won't use localAttenuation. Special Ambiant are provided too but they are considered like PointLight for dynamic light. They are used in a special way for static light in Igs.<p> +<dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl> +<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a02747.html">CLightingManager</a> </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00069">69</a> of file <a class="el" href="a06180.html">point_light.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Light setup</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="a03091.html#NL3D_1_1CPointLightNamedz693_0">getAmbient</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the ambient color of the light. <a href="#NL3D_1_1CPointLightNamedz693_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedz693_1">getAttenuationBegin</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the begin radius of the attenuation. <a href="#NL3D_1_1CPointLightNamedz693_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedz693_2">getAttenuationEnd</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the end radius of the attenuation. <a href="#NL3D_1_1CPointLightNamedz693_2"></a><br><br></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="a03091.html#NL3D_1_1CPointLightNamedz693_3">getDiffuse</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the diffuse color of the light. <a href="#NL3D_1_1CPointLightNamedz693_3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">CVector</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedz693_4">getPosition</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the position in WorldSpace. <a href="#NL3D_1_1CPointLightNamedz693_4"></a><br><br></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="a03091.html#NL3D_1_1CPointLightNamedz693_5">getSpecular</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the specular color of the light. <a href="#NL3D_1_1CPointLightNamedz693_5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedz693_6">getSpotAngleBegin</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the begin radius of the SpotAngles. <a href="#NL3D_1_1CPointLightNamedz693_6"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedz693_7">getSpotAngleEnd</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the end radius of the SpotAngles. <a href="#NL3D_1_1CPointLightNamedz693_7"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">CVector</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedz693_8">getSpotDirection</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the spot Direction <a href="#NL3D_1_1CPointLightNamedz693_8"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw5">TType</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedz693_9">getType</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the ambient color of the light. <a href="#NL3D_1_1CPointLightNamedz693_9"></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="a03091.html#NL3D_1_1CPointLightz693_10">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &f)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the ambient color of the light. <a href="#NL3D_1_1CPointLightz693_10"></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="a03091.html#NL3D_1_1CPointLightNamedz693_10">setAmbient</a> (<a class="el" href="a03337.html">NLMISC::CRGBA</a> ambient)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the ambient color of the light. Default to Black. <a href="#NL3D_1_1CPointLightNamedz693_10"></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="a03091.html#NL3D_1_1CPointLightNamedz693_11">setColor</a> (<a class="el" href="a03337.html">NLMISC::CRGBA</a> color)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the diffuse and specular color of the light to the same value. don't modify _Ambient. <a href="#NL3D_1_1CPointLightNamedz693_11"></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="a03091.html#NL3D_1_1CPointLightNamedz693_12">setDiffuse</a> (<a class="el" href="a03337.html">NLMISC::CRGBA</a> diffuse)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the diffuse color of the light. Default to White. <a href="#NL3D_1_1CPointLightNamedz693_12"></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="a03091.html#NL3D_1_1CPointLightNamedz693_13">setPosition</a> (const <a class="el" href="a03128.html">CVector</a> &<a class="el" href="a04223.html#a576">v</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the position in WorldSpace. <a href="#NL3D_1_1CPointLightNamedz693_13"></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="a03091.html#NL3D_1_1CPointLightNamedz693_14">setSpecular</a> (<a class="el" href="a03337.html">NLMISC::CRGBA</a> specular)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the specular color of the light. Default to White. <a href="#NL3D_1_1CPointLightNamedz693_14"></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="a03091.html#NL3D_1_1CPointLightNamedz693_15">setType</a> (<a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw5">TType</a> <a class="el" href="a04223.html#a581">type</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">set/get the type of the light. <a href="#NL3D_1_1CPointLightNamedz693_15"></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="a03091.html#NL3D_1_1CPointLightNamedz693_16">setupAttenuation</a> (float attenuationBegin, float attenuationEnd)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedz693_17">setupSpotAngle</a> (float spotAngleBegin, float spotAngleEnd)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedz693_18">setupSpotDirection</a> (const <a class="el" href="a03128.html">CVector</a> &dir)</td></tr> + +<tr><td colspan=2><br><h2>Public Types</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef TTransformList::iterator </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw1">ItTransformList</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a03445.html">NLMISC::CSTLBlockList</a><<br> + <a class="el" href="a02316.html">CTransform</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw4">TTransformList</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The list of model this light influence. <a href="#NL3D_1_1CPointLightNamedw4"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw5">TType</a> { <a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw2">PointLight</a> = 0, +<a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw3">SpotLight</a>, +<a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw0">AmbientLight</a> + }</td></tr> + +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLighta0">CPointLight</a> (const <a class="el" href="a03091.html">CPointLight</a> &o)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">do not copy _LightedModels. <a href="#NL3D_1_1CPointLighta0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLighta1">CPointLight</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03091.html">CPointLight</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLighta2">operator=</a> (const <a class="el" href="a03091.html">CPointLight</a> &o)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">do not copy _LightedModels. <a href="#NL3D_1_1CPointLighta2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLighta3">~CPointLight</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">call resetLightModels. <a href="#NL3D_1_1CPointLighta3"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightNamede0">purge</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightd0">computeAttenuationFactors</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightd1">computeSpotAttenuationFactors</a> ()</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="a03091.html#NL3D_1_1CPointLightr0">_Ambient</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr1">_AttenuationBegin</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr2">_AttenuationEnd</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr3">_ConstantAttenuation</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</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="a03091.html#NL3D_1_1CPointLightr5">_Diffuse</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03445.html">TTransformList</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr7">_LinearAttenuation</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr8">_OOCosSpotAngleDelta</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr9">_OODeltaAttenuation</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr10">_Position</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr11">_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="a03091.html#NL3D_1_1CPointLightr12">_Specular</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr13">_SpotAngleBegin</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr14">_SpotAngleEnd</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr15">_SpotDirection</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>float </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr16">_SpotExponent</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw5">TType</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightr17">_Type</a></td></tr> + +<tr><td colspan=2><br><h2>Static Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02274.html">NLMISC::CBlockMemory</a>< <a class="el" href="a02316.html">CTransform</a> *,<br> + false > </td><td class="memItemRight" valign=bottom><a class="el" href="a03091.html#NL3D_1_1CPointLightv0">_LightedModelListMemory</a></td></tr> + +</table> +<hr><h2>Member Typedef Documentation</h2> +<a class="anchor" name="NL3D_1_1CPointLightNamedw1" doxytag="NL3D::CPointLight::ItTransformList" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> typedef TTransformList::iterator <a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw1">NL3D::CPointLight::ItTransformList</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00074">74</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00409">appendLightedModel()</a>, and <a class="el" href="a06179.html#l00418">removeLightedModel()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedw4" doxytag="NL3D::CPointLight::TTransformList" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> typedef <a class="el" href="a03445.html">NLMISC::CSTLBlockList</a><<a class="el" href="a02316.html">CTransform</a>*> <a class="el" href="a03445.html">NL3D::CPointLight::TTransformList</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +The list of model this light influence. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00073">73</a> of file <a class="el" href="a06180.html">point_light.h</a>. </td> + </tr> +</table> +<hr><h2>Member Enumeration Documentation</h2> +<a class="anchor" name="NL3D_1_1CPointLightNamedw5" doxytag="NL3D::CPointLight::TType" ></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="a03091.html#NL3D_1_1CPointLightNamedw5">NL3D::CPointLight::TType</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_1CPointLightNamedw5NL3D_1_1CPointLightNamedw2" doxytag="PointLight" ></a>PointLight</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw3" doxytag="SpotLight" ></a>SpotLight</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw0" doxytag="AmbientLight" ></a>AmbientLight</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a06180.html#l00076">76</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +<div class="fragment"><pre>00077 { +00078 <span class="comment">// The light is a point.</span> +00079 <a class="code" href="a03091.html#NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw2">PointLight</a>= 0, +00080 +00081 <span class="comment">// The light is a spotlight with a cone.</span> +00082 <a class="code" href="a03091.html#NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw3">SpotLight</a>, +00083 +00084 <span class="comment">// The light is an Ambient PointLight in an Ig.</span> +00085 <a class="code" href="a03091.html#NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw0">AmbientLight</a> +00086 }; +</pre></div> </td> + </tr> +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NL3D_1_1CPointLighta1" doxytag="NL3D::CPointLight::CPointLight" ></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"> NL3D::CPointLight::CPointLight </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> +Constructor Default type is PointLight. Default ambient is Black, Diffuse and Specular are white. Position is <a class="el" href="a03128.html#NLMISC_1_1CVectors3">CVector::Null</a>. Attenuation is 10-30. +<p> +Definition at line <a class="el" href="a06179.html#l00046">46</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00222">_AttenuationBegin</a>, <a class="el" href="a06180.html#l00222">_AttenuationEnd</a>, <a class="el" href="a06180.html#l00232">_CosSpotAngleEnd</a>, <a class="el" href="a06180.html#l00234">_OOCosSpotAngleDelta</a>, <a class="el" href="a06180.html#l00230">_SpotAngleBegin</a>, <a class="el" href="a06180.html#l00231">_SpotAngleEnd</a>, <a class="el" href="a06180.html#l00229">_SpotDirection</a>, <a class="el" href="a06180.html#l00235">_SpotExponent</a>, <a class="el" href="a06179.html#l00180">computeAttenuationFactors()</a>, <a class="el" href="a06179.html#l00210">computeSpotAttenuationFactors()</a>, and <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>. +<p> +<div class="fragment"><pre>00046 : <a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>(&_LightedModelListMemory) +00047 { +00048 <a class="code" href="a03091.html#NL3D_1_1CPointLightr10">_Position</a>= CVector::Null; +00049 <a class="code" href="a03091.html#NL3D_1_1CPointLightr0">_Ambient</a>= CRGBA::Black; +00050 <a class="code" href="a03091.html#NL3D_1_1CPointLightr5">_Diffuse</a>= <a class="code" href="a03091.html#NL3D_1_1CPointLightr12">_Specular</a>= CRGBA::White; +00051 +00052 <span class="comment">// Default setup. this is arbitrary</span> +00053 <a class="code" href="a03091.html#NL3D_1_1CPointLightr1">_AttenuationBegin</a>= 10; +00054 <a class="code" href="a03091.html#NL3D_1_1CPointLightr2">_AttenuationEnd</a>= 30; +00055 +00056 <span class="comment">// Default spot setup. this is arbitrary</span> +00057 <a class="code" href="a03091.html#NL3D_1_1CPointLightr15">_SpotDirection</a>.set(0,1,0); +00058 <a class="code" href="a03091.html#NL3D_1_1CPointLightr13">_SpotAngleBegin</a>= float(NLMISC::Pi/4); +00059 <a class="code" href="a03091.html#NL3D_1_1CPointLightr14">_SpotAngleEnd</a>= float(NLMISC::Pi/2); +00060 +00061 <span class="comment">// compute AttenuationFactors only one time.</span> +00062 <span class="keyword">static</span> <span class="keywordtype">bool</span> done= <span class="keyword">false</span>; +00063 <span class="keyword">static</span> <span class="keywordtype">float</span> cAtt, lAtt, qAtt; +00064 <span class="keyword">static</span> <span class="keywordtype">float</span> spotCOOD, spotCAE, spotEXP; +00065 <span class="keywordflow">if</span>(!done) +00066 { +00067 done= <span class="keyword">true</span>; +00068 <a class="code" href="a03091.html#NL3D_1_1CPointLightd0">computeAttenuationFactors</a>(); +00069 <a class="code" href="a03091.html#NL3D_1_1CPointLightd1">computeSpotAttenuationFactors</a>(); +00070 <span class="comment">// bkup setup.</span> +00071 cAtt= <a class="code" href="a03091.html#NL3D_1_1CPointLightr3">_ConstantAttenuation</a>; +00072 lAtt= <a class="code" href="a03091.html#NL3D_1_1CPointLightr7">_LinearAttenuation</a>; +00073 qAtt= <a class="code" href="a03091.html#NL3D_1_1CPointLightr11">_QuadraticAttenuation</a>; +00074 spotCAE= <a class="code" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</a>; +00075 spotCOOD= <a class="code" href="a03091.html#NL3D_1_1CPointLightr8">_OOCosSpotAngleDelta</a>; +00076 spotEXP= <a class="code" href="a03091.html#NL3D_1_1CPointLightr16">_SpotExponent</a>; +00077 } +00078 <span class="keywordflow">else</span> +00079 { +00080 <span class="comment">// just copy bkuped setup.</span> +00081 <a class="code" href="a03091.html#NL3D_1_1CPointLightr3">_ConstantAttenuation</a>= cAtt; +00082 <a class="code" href="a03091.html#NL3D_1_1CPointLightr7">_LinearAttenuation</a>= lAtt; +00083 <a class="code" href="a03091.html#NL3D_1_1CPointLightr11">_QuadraticAttenuation</a>= qAtt; +00084 <a class="code" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</a>= spotCAE; +00085 <a class="code" href="a03091.html#NL3D_1_1CPointLightr8">_OOCosSpotAngleDelta</a>= spotCOOD; +00086 <a class="code" href="a03091.html#NL3D_1_1CPointLightr16">_SpotExponent</a>= spotEXP; +00087 } +00088 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLighta3" doxytag="NL3D::CPointLight::~CPointLight" ></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"> NL3D::CPointLight::~<a class="el" href="a03091.html">CPointLight</a> </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> +call resetLightModels. +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00127">127</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06179.html#l00393">resetLightedModels()</a>. +<p> +<div class="fragment"><pre>00128 { +00129 <a class="code" href="a03091.html#NL3D_1_1CPointLightNamedz695_4">resetLightedModels</a>(); +00130 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLighta0" doxytag="NL3D::CPointLight::CPointLight" ></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"> NL3D::CPointLight::CPointLight </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03091.html">CPointLight</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>o</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> +do not copy _LightedModels. +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00092">92</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06179.html#l00099">operator=()</a>. +<p> +<div class="fragment"><pre>00092 : <a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>(&_LightedModelListMemory) +00093 { +00094 <span class="comment">// copy (no need to init)</span> +00095 <a class="code" href="a03091.html#NL3D_1_1CPointLighta2">operator=</a>(o); +00096 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NL3D_1_1CPointLightNamedz695_0" doxytag="NL3D::CPointLight::appendLightedModel" ></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="a03091.html#NL3D_1_1CPointLightNamedw1">CPointLight::ItTransformList</a> NL3D::CPointLight::appendLightedModel </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02316.html">CTransform</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>model</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> +append a model to the list. called by <a class="el" href="a02747.html">CLightingManager</a>. +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00409">409</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00241">_LightedModels</a>, and <a class="el" href="a06180.html#l00074">ItTransformList</a>. +<p> +Referenced by <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>. +<p> +<div class="fragment"><pre>00410 { +00411 <span class="comment">// append the entry in the list</span> +00412 <a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>.push_back(model); +00413 <a class="code" href="a03091.html#NL3D_1_1CPointLightNamedw1">ItTransformList</a> it= <a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>.end(); +00414 it--; +00415 <span class="keywordflow">return</span> it; +00416 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightd0" doxytag="NL3D::CPointLight::computeAttenuationFactors" ></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::CPointLight::computeAttenuationFactors </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00180">180</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00222">_AttenuationBegin</a>, <a class="el" href="a06180.html#l00222">_AttenuationEnd</a>, <a class="el" href="a06180.html#l00223">_OODeltaAttenuation</a>, <a class="el" href="a05892.html#l00292">NL3D::CLight::getConstantAttenuation()</a>, <a class="el" href="a05892.html#l00304">NL3D::CLight::getLinearAttenuation()</a>, <a class="el" href="a05892.html#l00316">NL3D::CLight::getQuadraticAttenuation()</a>, and <a class="el" href="a05891.html#l00109">NL3D::CLight::setupAttenuation()</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00046">CPointLight()</a>, <a class="el" href="a06179.html#l00230">serial()</a>, and <a class="el" href="a06179.html#l00144">setupAttenuation()</a>. +<p> +<div class="fragment"><pre>00181 { +00182 <span class="comment">// disable attenuation?</span> +00183 <span class="keywordflow">if</span>(<a class="code" href="a03091.html#NL3D_1_1CPointLightr1">_AttenuationBegin</a>==0 && <a class="code" href="a03091.html#NL3D_1_1CPointLightr2">_AttenuationEnd</a>==0) +00184 { +00185 <span class="comment">// setup for attenuation disabled.</span> +00186 <a class="code" href="a03091.html#NL3D_1_1CPointLightr3">_ConstantAttenuation</a>= 1; +00187 <a class="code" href="a03091.html#NL3D_1_1CPointLightr7">_LinearAttenuation</a>= 0; +00188 <a class="code" href="a03091.html#NL3D_1_1CPointLightr11">_QuadraticAttenuation</a>= 0; +00189 } +00190 <span class="keywordflow">else</span> +00191 { +00192 <span class="comment">// precompute attenuation values, with help of CLight formula!!</span> +00193 <span class="keyword">static</span> CLight dummyLight; +00194 dummyLight.setupAttenuation(_AttenuationBegin, _AttenuationEnd); +00195 <a class="code" href="a03091.html#NL3D_1_1CPointLightr3">_ConstantAttenuation</a>= dummyLight.getConstantAttenuation(); +00196 <a class="code" href="a03091.html#NL3D_1_1CPointLightr7">_LinearAttenuation</a>= dummyLight.getLinearAttenuation(); +00197 <a class="code" href="a03091.html#NL3D_1_1CPointLightr11">_QuadraticAttenuation</a>= dummyLight.getQuadraticAttenuation(); +00198 +00199 <span class="comment">// setup _OODeltaAttenuation</span> +00200 <a class="code" href="a03091.html#NL3D_1_1CPointLightr9">_OODeltaAttenuation</a>= _AttenuationEnd - <a class="code" href="a03091.html#NL3D_1_1CPointLightr1">_AttenuationBegin</a>; +00201 <span class="keywordflow">if</span>(<a class="code" href="a03091.html#NL3D_1_1CPointLightr9">_OODeltaAttenuation</a> <=0 ) +00202 <a class="code" href="a03091.html#NL3D_1_1CPointLightr9">_OODeltaAttenuation</a>= 0; +00203 <span class="keywordflow">else</span> +00204 <a class="code" href="a03091.html#NL3D_1_1CPointLightr9">_OODeltaAttenuation</a>= 1.0f / <a class="code" href="a03091.html#NL3D_1_1CPointLightr9">_OODeltaAttenuation</a>; +00205 } +00206 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz695_1" doxytag="NL3D::CPointLight::computeLinearAttenuation" ></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::CPointLight::computeLinearAttenuation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname" nowrap> <em>pos</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>precomputedDist</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>modelRadius</em> = 0</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Compute a linear attenuation from a point and precomputed distance according to attenuation and spot setup. Return [0,1] <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>modelRadius</em> </td><td>if !0, suppose the point is a sphere, and compute the approximate Max attenuation from every point on this sphere</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06179.html#l00273">273</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00222">_AttenuationBegin</a>, <a class="el" href="a06180.html#l00222">_AttenuationEnd</a>, <a class="el" href="a06180.html#l00232">_CosSpotAngleEnd</a>, <a class="el" href="a06180.html#l00234">_OOCosSpotAngleDelta</a>, <a class="el" href="a06180.html#l00223">_OODeltaAttenuation</a>, <a class="el" href="a06180.html#l00229">_SpotDirection</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, and <a class="el" href="a05587.html#l00107">NLMISC::sqr()</a>. +<p> +<div class="fragment"><pre>00274 { +00275 <span class="keywordtype">float</span> gAtt; +00276 +00277 <span class="comment">// Attenuation Distance</span> +00278 <span class="keywordflow">if</span>(<a class="code" href="a03091.html#NL3D_1_1CPointLightr2">_AttenuationEnd</a>==0) +00279 gAtt= 1; +00280 <span class="keywordflow">else</span> +00281 { +00282 <span class="keywordtype">float</span> distMinusRadius= dist - modelRadius; +00283 <span class="keywordflow">if</span>(distMinusRadius<<a class="code" href="a03091.html#NL3D_1_1CPointLightr1">_AttenuationBegin</a>) +00284 gAtt= 1; +00285 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(distMinusRadius<<a class="code" href="a03091.html#NL3D_1_1CPointLightr2">_AttenuationEnd</a>) +00286 { +00287 gAtt= (<a class="code" href="a03091.html#NL3D_1_1CPointLightr2">_AttenuationEnd</a> - distMinusRadius) * <a class="code" href="a03091.html#NL3D_1_1CPointLightr9">_OODeltaAttenuation</a>; +00288 } +00289 <span class="keywordflow">else</span> +00290 gAtt= 0; +00291 } +00292 +00293 <span class="comment">// Spot Attenuation</span> +00294 <span class="keywordflow">if</span>(<a class="code" href="a03091.html#NL3D_1_1CPointLightr17">_Type</a>== <a class="code" href="a03091.html#NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw3">SpotLight</a>) +00295 { +00296 <span class="keywordtype">float</span> spotAtt; +00297 +00298 <span class="comment">// Compute unnormalized direction</span> +00299 CVector dir= pos - <a class="code" href="a03091.html#NL3D_1_1CPointLightr10">_Position</a>; +00300 <span class="comment">// get cosAngle(dir, SpotDirection):</span> +00301 <span class="keywordtype">float</span> cosAngleDirSpot= (dir*<a class="code" href="a03091.html#NL3D_1_1CPointLightr15">_SpotDirection</a>) / dist; +00302 +00303 <span class="comment">// Modify with modelRadius. NB: made Only for big models.</span> +00304 <span class="keywordflow">if</span>(modelRadius>0) +00305 { +00306 <span class="comment">// If the pointLight is in the model, consider no spotAtt</span> +00307 <span class="keywordflow">if</span>(modelRadius > dist) +00308 spotAtt= 1; +00309 <span class="keywordflow">else</span> +00310 { +00311 <span class="comment">// compute the angle of the cone made by the model sphere and the pointLightCenter.</span> +00312 <span class="keywordtype">float</span> cosAngleSphere= modelRadius / sqrtf( <a class="code" href="a05378.html#a373">sqr</a>(dist) + <a class="code" href="a05378.html#a373">sqr</a>(modelRadius) ); +00313 <span class="comment">/* If this one is smaller than cosAngleDirSpot, it's mean that the angle of this cone is greater than the </span> +00314 <span class="comment"> angleDirSpot, hence a part of the sphere "ps" exist such that _SportDirection*(ps-_Position).normed() == 1</span> +00315 <span class="comment"> => no spotAttenuation</span> +00316 <span class="comment"> */</span> +00317 <span class="keywordflow">if</span>(cosAngleSphere < cosAngleDirSpot) +00318 spotAtt= 1; +00319 <span class="keywordflow">else</span> +00320 { +00321 <span class="comment">// Must compute cos( AngleDirSpot-AngleSphere )</span> +00322 <span class="keywordtype">float</span> sinAngleSphere= sqrtf(1 - <a class="code" href="a05378.html#a373">sqr</a>(cosAngleSphere)); +00323 <span class="keywordtype">float</span> sinAngleDirSpot= sqrtf(1 - <a class="code" href="a05378.html#a373">sqr</a>(cosAngleDirSpot)); +00324 <span class="keywordtype">float</span> cosDelta= cosAngleSphere * cosAngleDirSpot + sinAngleSphere * sinAngleDirSpot; +00325 +00326 <span class="comment">// spot attenuation on the exterior of the sphere</span> +00327 spotAtt= (cosDelta - <a class="code" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</a>) * <a class="code" href="a03091.html#NL3D_1_1CPointLightr8">_OOCosSpotAngleDelta</a>; +00328 } +00329 } +00330 } +00331 <span class="keywordflow">else</span> +00332 { +00333 <span class="comment">// spot attenuation</span> +00334 spotAtt= (cosAngleDirSpot - <a class="code" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</a>) * <a class="code" href="a03091.html#NL3D_1_1CPointLightr8">_OOCosSpotAngleDelta</a>; +00335 } +00336 +00337 <span class="comment">// modulate</span> +00338 <a class="code" href="a05378.html#a374">clamp</a>(spotAtt, 0.f, 1.f); +00339 gAtt*= spotAtt; +00340 } +00341 +00342 <span class="keywordflow">return</span> gAtt; +00343 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz695_2" doxytag="NL3D::CPointLight::computeLinearAttenuation" ></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::CPointLight::computeLinearAttenuation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Compute a linear attenuation from a point according to attenuation and spot setup. Return [0,1]. +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00267">267</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +Referenced by <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06162.html#l00050">NL3D::CPatch::generateTileVegetable()</a>, <a class="el" href="a06768.html#l03346">NL3D::CZoneLighter::processZonePointLightRT()</a>, <a class="el" href="a06768.html#l03139">NL3D::CZoneLighter::CPointLightRT::testRaytrace()</a>, <a class="el" href="a05824.html#l00954">NL3D::CInstanceLighter::CPointLightRT::testRaytrace()</a>, and <a class="el" href="a06568.html#l01080">NL3D::CTransform::traverseLight()</a>. +<p> +<div class="fragment"><pre>00268 { +00269 <span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightNamedz695_2">computeLinearAttenuation</a>(pos, (pos - _Position).norm() ); +00270 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightd1" doxytag="NL3D::CPointLight::computeSpotAttenuationFactors" ></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::CPointLight::computeSpotAttenuationFactors </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00210">210</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00232">_CosSpotAngleEnd</a>, <a class="el" href="a06180.html#l00234">_OOCosSpotAngleDelta</a>, <a class="el" href="a06180.html#l00230">_SpotAngleBegin</a>, <a class="el" href="a06180.html#l00231">_SpotAngleEnd</a>, and <a class="el" href="a06180.html#l00235">_SpotExponent</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00046">CPointLight()</a>, <a class="el" href="a06179.html#l00230">serial()</a>, and <a class="el" href="a06179.html#l00159">setupSpotAngle()</a>. +<p> +<div class="fragment"><pre>00211 { +00212 <span class="comment">// Factors for linear Attenuation.</span> +00213 <span class="keywordtype">float</span> cosSpotAngleBegin= (<span class="keywordtype">float</span>)cosf(_SpotAngleBegin); +00214 <a class="code" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</a>= (<span class="keywordtype">float</span>)cos(_SpotAngleEnd); +00215 <span class="keywordflow">if</span>(cosSpotAngleBegin - <a class="code" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</a> > 0) +00216 <a class="code" href="a03091.html#NL3D_1_1CPointLightr8">_OOCosSpotAngleDelta</a>= 1.0f / (cosSpotAngleBegin - <a class="code" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</a>); +00217 <span class="keywordflow">else</span> +00218 <a class="code" href="a03091.html#NL3D_1_1CPointLightr8">_OOCosSpotAngleDelta</a>= 1e10f; +00219 +00220 <span class="comment">// compute an exponent such that at middleAngle, att is 0.5f.</span> +00221 <span class="keywordtype">float</span> caMiddle= (cosSpotAngleBegin + <a class="code" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</a>) /2; +00222 <span class="keywordtype">float</span> divid=(<span class="keywordtype">float</span>)log (caMiddle); +00223 <span class="keywordflow">if</span> (divid==0.f) +00224 divid=0.0001f; +00225 <a class="code" href="a03091.html#NL3D_1_1CPointLightr16">_SpotExponent</a>= (<span class="keywordtype">float</span>)(log (0.5)/divid); +00226 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_0" doxytag="NL3D::CPointLight::getAmbient" ></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::CPointLight::getAmbient </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 ambient color of the light. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00129">129</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a05894.html#l00106">NL3D::CLightContribution::computeCurrentAmbient()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06184.html#l00035">NL3D::CPointLightNamed::CPointLightNamed()</a>, <a class="el" href="a06188.html#l00072">NL3D::CPointLightUser::getAmbient()</a>, and <a class="el" href="a06475.html#l00062">NL3D::CSurfaceLightGrid::getStaticLightSetup()</a>. +<p> +<div class="fragment"><pre>00129 {<span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr0">_Ambient</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_1" doxytag="NL3D::CPointLight::getAttenuationBegin" ></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::CPointLight::getAttenuationBegin </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 begin radius of the attenuation. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00141">141</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +References <a class="el" href="a06180.html#l00222">_AttenuationBegin</a>. +<p> +Referenced by <a class="el" href="a06768.html#l03179">NL3D::CZoneLighter::addStaticPointLight()</a>, <a class="el" href="a05824.html#l00999">NL3D::CInstanceLighter::addStaticPointLight()</a>, <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06188.html#l00094">NL3D::CPointLightUser::getAttenuationBegin()</a>, and <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>. +<p> +<div class="fragment"><pre>00141 {<span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr1">_AttenuationBegin</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_2" doxytag="NL3D::CPointLight::getAttenuationEnd" ></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::CPointLight::getAttenuationEnd </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 end radius of the attenuation. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00143">143</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +References <a class="el" href="a06180.html#l00222">_AttenuationEnd</a>. +<p> +Referenced by <a class="el" href="a05901.html#l00151">NL3D::CLightingManager::addDynamicLight()</a>, <a class="el" href="a06768.html#l03179">NL3D::CZoneLighter::addStaticPointLight()</a>, <a class="el" href="a05824.html#l00999">NL3D::CInstanceLighter::addStaticPointLight()</a>, <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a05824.html#l01023">NL3D::CInstanceLighter::compilePointLightRT()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06188.html#l00099">NL3D::CPointLightUser::getAttenuationEnd()</a>, <a class="el" href="a06768.html#l03329">NL3D::CZoneLighter::CPredPointLightToPoint::operator()()</a>, <a class="el" href="a05824.html#l01140">NL3D::CInstanceLighter::CPredPointLightToPoint::operator()()</a>, and <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>. +<p> +<div class="fragment"><pre>00143 {<span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr2">_AttenuationEnd</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_3" doxytag="NL3D::CPointLight::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::CPointLight::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> + +<p> +Definition at line <a class="el" href="a06180.html#l00131">131</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06372.html#l00626">NL3D::CShadowMapManager::computeShadowColors()</a>, <a class="el" href="a06372.html#l00595">NL3D::CShadowMapManager::computeShadowDirection()</a>, <a class="el" href="a06184.html#l00035">NL3D::CPointLightNamed::CPointLightNamed()</a>, <a class="el" href="a06188.html#l00077">NL3D::CPointLightUser::getDiffuse()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06184.html#l00073">NL3D::CPointLightNamed::serial()</a>, <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>, and <a class="el" href="a06148.html#l00680">NL3D::CParticleSystemModel::traverseRender()</a>. +<p> +<div class="fragment"><pre>00131 {<span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr5">_Diffuse</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_4" doxytag="NL3D::CPointLight::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"> const <a class="el" href="a03128.html">CVector</a>& NL3D::CPointLight::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 in WorldSpace. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00116">116</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a05901.html#l00151">NL3D::CLightingManager::addDynamicLight()</a>, <a class="el" href="a06768.html#l03179">NL3D::CZoneLighter::addStaticPointLight()</a>, <a class="el" href="a05824.html#l00999">NL3D::CInstanceLighter::addStaticPointLight()</a>, <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a05824.html#l01023">NL3D::CInstanceLighter::compilePointLightRT()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06372.html#l00595">NL3D::CShadowMapManager::computeShadowDirection()</a>, <a class="el" href="a06162.html#l00050">NL3D::CPatch::generateTileVegetable()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, and <a class="el" href="a06568.html#l01080">NL3D::CTransform::traverseLight()</a>. +<p> +<div class="fragment"><pre>00116 {<span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr10">_Position</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_5" doxytag="NL3D::CPointLight::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::CPointLight::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> + +<p> +Definition at line <a class="el" href="a06180.html#l00133">133</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06184.html#l00035">NL3D::CPointLightNamed::CPointLightNamed()</a>, and <a class="el" href="a06188.html#l00082">NL3D::CPointLightUser::getSpecular()</a>. +<p> +<div class="fragment"><pre>00133 {<span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr12">_Specular</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_6" doxytag="NL3D::CPointLight::getSpotAngleBegin" ></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::CPointLight::getSpotAngleBegin </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 begin radius of the SpotAngles. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00151">151</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +References <a class="el" href="a06180.html#l00230">_SpotAngleBegin</a>. +<p> +Referenced by <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, and <a class="el" href="a06188.html#l00125">NL3D::CPointLightUser::getSpotAngleBegin()</a>. +<p> +<div class="fragment"><pre>00151 {<span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr13">_SpotAngleBegin</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_7" doxytag="NL3D::CPointLight::getSpotAngleEnd" ></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::CPointLight::getSpotAngleEnd </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 end radius of the SpotAngles. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00153">153</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +References <a class="el" href="a06180.html#l00231">_SpotAngleEnd</a>. +<p> +Referenced by <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, and <a class="el" href="a06188.html#l00130">NL3D::CPointLightUser::getSpotAngleEnd()</a>. +<p> +<div class="fragment"><pre>00153 {<span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr14">_SpotAngleEnd</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_8" doxytag="NL3D::CPointLight::getSpotDirection" ></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"> const <a class="el" href="a03128.html">CVector</a>& NL3D::CPointLight::getSpotDirection </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 spot Direction +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00161">161</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +References <a class="el" href="a06180.html#l00229">_SpotDirection</a>. +<p> +Referenced by <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, and <a class="el" href="a06182.html#l00084">NL3D::CPointLightModel::traverseLight()</a>. +<p> +<div class="fragment"><pre>00161 {<span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr15">_SpotDirection</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_9" doxytag="NL3D::CPointLight::getType" ></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="a03091.html#NL3D_1_1CPointLightNamedw5">CPointLight::TType</a> NL3D::CPointLight::getType </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</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the ambient color of the light. +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00138">138</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +Referenced by <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a06768.html#l03202">NL3D::CZoneLighter::compilePointLightRT()</a>, <a class="el" href="a05824.html#l01023">NL3D::CInstanceLighter::compilePointLightRT()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06188.html#l00115">NL3D::CPointLightUser::isSpotlight()</a>, <a class="el" href="a05824.html#l01161">NL3D::CInstanceLighter::processIGPointLightRT()</a>, <a class="el" href="a06768.html#l03139">NL3D::CZoneLighter::CPointLightRT::testRaytrace()</a>, <a class="el" href="a05824.html#l00954">NL3D::CInstanceLighter::CPointLightRT::testRaytrace()</a>, and <a class="el" href="a06182.html#l00084">NL3D::CPointLightModel::traverseLight()</a>. +<p> +<div class="fragment"><pre>00139 { +00140 <span class="keywordflow">return</span> <a class="code" href="a03091.html#NL3D_1_1CPointLightr17">_Type</a>; +00141 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLighta2" doxytag="NL3D::CPointLight::operator=" ></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="a03091.html">CPointLight</a> & NL3D::CPointLight::operator= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03091.html">CPointLight</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>o</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> +do not copy _LightedModels. +<p> +copy all but _LightedModels !! +<p> +Definition at line <a class="el" href="a06179.html#l00099">99</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00217">_Ambient</a>, <a class="el" href="a06180.html#l00222">_AttenuationBegin</a>, <a class="el" href="a06180.html#l00222">_AttenuationEnd</a>, <a class="el" href="a06180.html#l00224">_ConstantAttenuation</a>, <a class="el" href="a06180.html#l00232">_CosSpotAngleEnd</a>, <a class="el" href="a06180.html#l00218">_Diffuse</a>, <a class="el" href="a06180.html#l00225">_LinearAttenuation</a>, <a class="el" href="a06180.html#l00234">_OOCosSpotAngleDelta</a>, <a class="el" href="a06180.html#l00223">_OODeltaAttenuation</a>, <a class="el" href="a06180.html#l00214">_Position</a>, <a class="el" href="a06180.html#l00226">_QuadraticAttenuation</a>, <a class="el" href="a06180.html#l00219">_Specular</a>, <a class="el" href="a06180.html#l00230">_SpotAngleBegin</a>, <a class="el" href="a06180.html#l00231">_SpotAngleEnd</a>, <a class="el" href="a06180.html#l00229">_SpotDirection</a>, <a class="el" href="a06180.html#l00235">_SpotExponent</a>, and <a class="el" href="a06180.html#l00211">_Type</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00092">CPointLight()</a>. +<p> +<div class="fragment"><pre>00100 { +00102 <a class="code" href="a03091.html#NL3D_1_1CPointLightr17">_Type</a>= o._Type; +00103 <a class="code" href="a03091.html#NL3D_1_1CPointLightr10">_Position</a>= o._Position; +00104 <a class="code" href="a03091.html#NL3D_1_1CPointLightr0">_Ambient</a>= o._Ambient; +00105 <a class="code" href="a03091.html#NL3D_1_1CPointLightr5">_Diffuse</a>= o._Diffuse; +00106 <a class="code" href="a03091.html#NL3D_1_1CPointLightr12">_Specular</a>= o._Specular; +00107 +00108 <a class="code" href="a03091.html#NL3D_1_1CPointLightr1">_AttenuationBegin</a>= o._AttenuationBegin; +00109 <a class="code" href="a03091.html#NL3D_1_1CPointLightr2">_AttenuationEnd</a>= o._AttenuationEnd; +00110 <a class="code" href="a03091.html#NL3D_1_1CPointLightr9">_OODeltaAttenuation</a>= o._OODeltaAttenuation; +00111 <a class="code" href="a03091.html#NL3D_1_1CPointLightr3">_ConstantAttenuation</a>= o._ConstantAttenuation; +00112 <a class="code" href="a03091.html#NL3D_1_1CPointLightr7">_LinearAttenuation</a>= o._LinearAttenuation; +00113 <a class="code" href="a03091.html#NL3D_1_1CPointLightr11">_QuadraticAttenuation</a>= o._QuadraticAttenuation; +00114 +00115 <a class="code" href="a03091.html#NL3D_1_1CPointLightr15">_SpotDirection</a>= o._SpotDirection; +00116 <a class="code" href="a03091.html#NL3D_1_1CPointLightr13">_SpotAngleBegin</a>= o._SpotAngleBegin; +00117 <a class="code" href="a03091.html#NL3D_1_1CPointLightr14">_SpotAngleEnd</a>= o._SpotAngleEnd; +00118 <a class="code" href="a03091.html#NL3D_1_1CPointLightr4">_CosSpotAngleEnd</a>= o._CosSpotAngleEnd; +00119 <a class="code" href="a03091.html#NL3D_1_1CPointLightr8">_OOCosSpotAngleDelta</a>= o._OOCosSpotAngleDelta; +00120 <a class="code" href="a03091.html#NL3D_1_1CPointLightr16">_SpotExponent</a>= o._SpotExponent; +00121 +00122 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +00123 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamede0" doxytag="NL3D::CPointLight::purge" ></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::CPointLight::purge </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00424">424</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a03091.html#NL3D_1_1CPointLightv0">_LightedModelListMemory</a>, and <a class="el" href="a05490.html#l00185">NLMISC::CBlockMemory< CTransform *, false >::purge()</a>. +<p> +<div class="fragment"><pre>00425 { +00426 <a class="code" href="a03091.html#NL3D_1_1CPointLightv0">_LightedModelListMemory</a>.<a class="code" href="a02274.html#NLMISC_1_1CBlockMemorya6">purge</a>(); +00427 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz695_3" doxytag="NL3D::CPointLight::removeLightedModel" ></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::CPointLight::removeLightedModel </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw1">ItTransformList</a> </td> + <td class="mdname1" valign="top" nowrap> <em>it</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> +remove a model from the list. called by <a class="el" href="a02316.html">CTransform</a>. +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00418">418</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00241">_LightedModels</a>, and <a class="el" href="a06180.html#l00074">ItTransformList</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00988">NL3D::CTransform::resetLighting()</a>. +<p> +<div class="fragment"><pre>00419 { +00420 <span class="comment">// delete the entry in the list.</span> +00421 <a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>.erase(it); +00422 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz695_4" doxytag="NL3D::CPointLight::resetLightedModels" ></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::CPointLight::resetLightedModels </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> +Dirt all models this light influence. +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00393">393</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00241">_LightedModels</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06568.html#l00988">NL3D::CTransform::resetLighting()</a>. +<p> +Referenced by <a class="el" href="a06182.html#l00084">NL3D::CPointLightModel::traverseLight()</a>, and <a class="el" href="a06179.html#l00127">~CPointLight()</a>. +<p> +<div class="fragment"><pre>00394 { +00395 <span class="comment">// For each transform, resetLighting him.</span> +00396 <span class="keywordflow">while</span>(<a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>.begin() != <a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>.end() ) +00397 { +00398 CTransform *model= *<a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>.begin(); +00399 <span class="comment">// reset lighting</span> +00400 model->resetLighting(); +00401 +00402 <span class="comment">// NB: the transform must erase him from this list.</span> +00403 <a class="code" href="a04199.html#a6">nlassert</a>( <a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>.begin() == <a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>.end() || *<a class="code" href="a03091.html#NL3D_1_1CPointLightr6">_LightedModels</a>.begin() != model ); +00404 } +00405 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightz693_10" doxytag="NL3D::CPointLight::serial" ></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::CPointLight::serial </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>f</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> +Get the ambient color of the light. +<p> + +<p> +Reimplemented in <a class="el" href="a03094.html#NL3D_1_1CPointLightNameda5">NL3D::CPointLightNamed</a>. +<p> +Definition at line <a class="el" href="a06179.html#l00230">230</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00222">_AttenuationBegin</a>, <a class="el" href="a06180.html#l00222">_AttenuationEnd</a>, <a class="el" href="a06180.html#l00230">_SpotAngleBegin</a>, <a class="el" href="a06180.html#l00231">_SpotAngleEnd</a>, <a class="el" href="a06180.html#l00229">_SpotDirection</a>, <a class="el" href="a06179.html#l00180">computeAttenuationFactors()</a>, <a class="el" href="a06179.html#l00210">computeSpotAttenuationFactors()</a>, <a class="el" href="a06463.html#l00064">NLMISC::IStream::isReading()</a>, <a class="el" href="a06462.html#l00232">NLMISC::IStream::serial()</a>, <a class="el" href="a06462.html#l00261">NLMISC::IStream::serialEnum()</a>, <a class="el" href="a06461.html#l00266">NLMISC::IStream::serialVersion()</a>, <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00231 { +00232 <a class="code" href="a04558.html#a14">sint</a> ver= f.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_8">serialVersion</a>(1); +00233 +00234 <span class="keywordflow">if</span>(ver>=1) +00235 { +00236 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a>(_Type); +00237 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_SpotDirection); +00238 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_SpotAngleBegin); +00239 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_SpotAngleEnd); +00240 } +00241 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>()) +00242 { +00243 <a class="code" href="a03091.html#NL3D_1_1CPointLightr17">_Type</a>= <a class="code" href="a03091.html#NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw2">PointLight</a>; +00244 <a class="code" href="a03091.html#NL3D_1_1CPointLightr15">_SpotDirection</a>.set(0,1,0); +00245 <a class="code" href="a03091.html#NL3D_1_1CPointLightr13">_SpotAngleBegin</a>= float(NLMISC::Pi/4); +00246 <a class="code" href="a03091.html#NL3D_1_1CPointLightr14">_SpotAngleEnd</a>= float(NLMISC::Pi/2); +00247 } +00248 +00249 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Position); +00250 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Ambient); +00251 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Diffuse); +00252 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_Specular); +00253 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_AttenuationBegin); +00254 f.<a class="code" href="a02270.html#NLMISC_1_1IStreama5">serial</a>(_AttenuationEnd); +00255 +00256 <span class="comment">// precompute.</span> +00257 <span class="keywordflow">if</span>(f.<a class="code" href="a02270.html#NLMISC_1_1IStreama0">isReading</a>()) +00258 { +00259 <a class="code" href="a03091.html#NL3D_1_1CPointLightd0">computeAttenuationFactors</a>(); +00260 <a class="code" href="a03091.html#NL3D_1_1CPointLightd1">computeSpotAttenuationFactors</a>(); +00261 } +00262 +00263 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_10" doxytag="NL3D::CPointLight::setAmbient" ></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::CPointLight::setAmbient </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">NLMISC::CRGBA</a> </td> + <td class="mdname1" valign="top" nowrap> <em>ambient</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 ambient color of the light. Default to Black. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00120">120</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06188.html#l00050">NL3D::CPointLightUser::setAmbient()</a>, and <a class="el" href="a06184.html#l00053">NL3D::CPointLightNamed::setLightFactor()</a>. +<p> +<div class="fragment"><pre>00120 {<a class="code" href="a03091.html#NL3D_1_1CPointLightr0">_Ambient</a>=ambient;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_11" doxytag="NL3D::CPointLight::setColor" ></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::CPointLight::setColor </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">NLMISC::CRGBA</a> </td> + <td class="mdname1" valign="top" nowrap> <em>color</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 and specular color of the light to the same value. don't modify _Ambient. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00126">126</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06188.html#l00065">NL3D::CPointLightUser::setColor()</a>, and <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>. +<p> +<div class="fragment"><pre>00126 {<a class="code" href="a03091.html#NL3D_1_1CPointLightr5">_Diffuse</a>= <a class="code" href="a03091.html#NL3D_1_1CPointLightr12">_Specular</a>= color;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_12" doxytag="NL3D::CPointLight::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::CPointLight::setDiffuse </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><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. Default to White. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00122">122</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06188.html#l00055">NL3D::CPointLightUser::setDiffuse()</a>, and <a class="el" href="a06184.html#l00053">NL3D::CPointLightNamed::setLightFactor()</a>. +<p> +<div class="fragment"><pre>00122 {<a class="code" href="a03091.html#NL3D_1_1CPointLightr5">_Diffuse</a>=diffuse;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_13" doxytag="NL3D::CPointLight::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::CPointLight::setPosition </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>v</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 in WorldSpace. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00114">114</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +References <a class="el" href="a05646.html#l00237">v</a>. +<p> +Referenced by <a class="el" href="a06182.html#l00084">NL3D::CPointLightModel::traverseLight()</a>. +<p> +<div class="fragment"><pre>00114 {<a class="code" href="a03091.html#NL3D_1_1CPointLightr10">_Position</a>= <a class="code" href="a04223.html#a576">v</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_14" doxytag="NL3D::CPointLight::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::CPointLight::setSpecular </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><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. Default to White. +<p> + +<p> +Definition at line <a class="el" href="a06180.html#l00124">124</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06184.html#l00053">NL3D::CPointLightNamed::setLightFactor()</a>, and <a class="el" href="a06188.html#l00060">NL3D::CPointLightUser::setSpecular()</a>. +<p> +<div class="fragment"><pre>00124 {<a class="code" href="a03091.html#NL3D_1_1CPointLightr12">_Specular</a>=specular;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_15" doxytag="NL3D::CPointLight::setType" ></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::CPointLight::setType </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03091.html#NL3D_1_1CPointLightNamedw5">TType</a> </td> + <td class="mdname1" valign="top" nowrap> <em>type</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> +set/get the type of the light. +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00134">134</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00244">type</a>. +<p> +Referenced by <a class="el" href="a06188.html#l00107">NL3D::CPointLightUser::enableSpotlight()</a>. +<p> +<div class="fragment"><pre>00135 { +00136 <a class="code" href="a03091.html#NL3D_1_1CPointLightr17">_Type</a>= <a class="code" href="a04223.html#a581">type</a>; +00137 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_16" doxytag="NL3D::CPointLight::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::CPointLight::setupAttenuation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>attenuationBegin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>attenuationEnd</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 the attenuation of the light. if (0,0) attenuation is disabled. clamp(attenuationBegin,0 , +oo) and calmp(attenuationEnd, attenuationBegin, +oo) +<p> +Definition at line <a class="el" href="a06179.html#l00144">144</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00222">_AttenuationBegin</a>, <a class="el" href="a06180.html#l00222">_AttenuationEnd</a>, and <a class="el" href="a06179.html#l00180">computeAttenuationFactors()</a>. +<p> +Referenced by <a class="el" href="a06188.html#l00089">NL3D::CPointLightUser::setupAttenuation()</a>, and <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>. +<p> +<div class="fragment"><pre>00145 { +00146 <span class="comment">// set values.</span> +00147 attenuationBegin= max(attenuationBegin, 0.f); +00148 attenuationEnd= max(attenuationEnd, attenuationBegin); +00149 <a class="code" href="a03091.html#NL3D_1_1CPointLightr1">_AttenuationBegin</a>= attenuationBegin; +00150 <a class="code" href="a03091.html#NL3D_1_1CPointLightr2">_AttenuationEnd</a>= attenuationEnd; +00151 +00152 <span class="comment">// update factors.</span> +00153 <a class="code" href="a03091.html#NL3D_1_1CPointLightd0">computeAttenuationFactors</a>(); +00154 +00155 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz695_5" doxytag="NL3D::CPointLight::setupDriverLight" ></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::CPointLight::setupDriverLight </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02743.html">CLight</a> & </td> + <td class="mdname" nowrap> <em>light</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>factor</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 the <a class="el" href="a02743.html">CLight</a> with current pointLight state. factor is used to modulate the colors. +<p> + +<p> +Definition at line <a class="el" href="a06179.html#l00346">346</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00229">_SpotDirection</a>, <a class="el" href="a06180.html#l00235">_SpotExponent</a>, <a class="el" href="a06340.html#l00236">NLMISC::CRGBA::modulateFromuiRGBOnly()</a>, <a class="el" href="a05891.html#l00059">NL3D::CLight::setupPointLight()</a>, <a class="el" href="a05891.html#l00082">NL3D::CLight::setupSpotLight()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00347 { +00348 <span class="comment">// expand 0..255 to 0..256, to avoid loss of precision.</span> +00349 <a class="code" href="a04558.html#a15">uint</a> ufactor= factor + (factor>>7); <span class="comment">// add 0 or 1.</span> +00350 +00351 <span class="comment">// modulate with factor</span> +00352 <a class="code" href="a03337.html">CRGBA</a> ambient, diffuse, specular; +00353 ambient.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_5">modulateFromuiRGBOnly</a>(_Ambient, ufactor); +00354 diffuse.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_5">modulateFromuiRGBOnly</a>(_Diffuse, ufactor); +00355 specular.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_5">modulateFromuiRGBOnly</a>(_Specular, ufactor); +00356 +00357 <span class="comment">// setup the pointLight</span> +00358 <span class="keywordflow">if</span>(<a class="code" href="a03091.html#NL3D_1_1CPointLightr17">_Type</a> == <a class="code" href="a03091.html#NL3D_1_1CPointLightNamedw5NL3D_1_1CPointLightNamedw3">SpotLight</a> ) +00359 { +00360 light.setupSpotLight(ambient, diffuse, specular, _Position, _SpotDirection, +00361 _SpotExponent, <span class="keywordtype">float</span>(NLMISC::Pi/2) , +00362 _ConstantAttenuation, _LinearAttenuation, _QuadraticAttenuation); +00363 } +00364 <span class="comment">// PointLight or AmbientLight</span> +00365 <span class="keywordflow">else</span> +00366 { +00367 light.setupPointLight(ambient, diffuse, specular, _Position, CVector::Null, +00368 _ConstantAttenuation, _LinearAttenuation, _QuadraticAttenuation); +00369 } +00370 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz695_6" doxytag="NL3D::CPointLight::setupDriverLightUserAttenuation" ></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::CPointLight::setupDriverLightUserAttenuation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02743.html">CLight</a> & </td> + <td class="mdname" nowrap> <em>light</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>factor</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 the <a class="el" href="a02743.html">CLight</a> with current pointLight state. Don't use driver Attenuation and use software one setuped with an additional userAttenuation <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>factor</em> </td><td>is used to modulate the colors. Should also integrate light attenuation.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06179.html#l00374">374</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06340.html#l00236">NLMISC::CRGBA::modulateFromuiRGBOnly()</a>, <a class="el" href="a05891.html#l00059">NL3D::CLight::setupPointLight()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00375 { +00376 <span class="comment">// expand 0..255 to 0..256, to avoid loss of precision.</span> +00377 <a class="code" href="a04558.html#a15">uint</a> ufactor= factor + (factor>>7); <span class="comment">// add 0 or 1.</span> +00378 +00379 <span class="comment">// modulate with factor</span> +00380 <a class="code" href="a03337.html">CRGBA</a> ambient, diffuse, specular; +00381 ambient.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_5">modulateFromuiRGBOnly</a>(_Ambient, ufactor); +00382 diffuse.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_5">modulateFromuiRGBOnly</a>(_Diffuse, ufactor); +00383 specular.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_5">modulateFromuiRGBOnly</a>(_Specular, ufactor); +00384 +00385 <span class="comment">// setup the pointLight, disabling attenuation. </span> +00386 <span class="comment">// NB: setup a pointLight even if it is a SpotLight because already attenuated</span> +00387 light.setupPointLight(ambient, diffuse, specular, _Position, CVector::Null, +00388 1, 0, 0); +00389 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_17" doxytag="NL3D::CPointLight::setupSpotAngle" ></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::CPointLight::setupSpotAngle </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>spotAngleBegin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>spotAngleEnd</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 the spot AngleBegin and AngleEnd that define spot attenuation of the light. Usefull only if SpotLight NB: clamp(angleBegin, 0, PI); clamp(angleEnd, angleBegin, PI); Default is PI/4, PI/2 +<p> +Definition at line <a class="el" href="a06179.html#l00159">159</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00230">_SpotAngleBegin</a>, <a class="el" href="a06180.html#l00231">_SpotAngleEnd</a>, <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06179.html#l00210">computeSpotAttenuationFactors()</a>, and <a class="el" href="a05587.html#l00079">NLMISC::Pi</a>. +<p> +Referenced by <a class="el" href="a06188.html#l00120">NL3D::CPointLightUser::setupSpotAngle()</a>. +<p> +<div class="fragment"><pre>00160 { +00161 <a class="code" href="a05378.html#a374">clamp</a>(spotAngleBegin, 0.f, <span class="keywordtype">float</span>(Pi)); +00162 <a class="code" href="a05378.html#a374">clamp</a>(spotAngleEnd, spotAngleBegin, <span class="keywordtype">float</span>(Pi)); +00163 <a class="code" href="a03091.html#NL3D_1_1CPointLightr13">_SpotAngleBegin</a>= spotAngleBegin; +00164 <a class="code" href="a03091.html#NL3D_1_1CPointLightr14">_SpotAngleEnd</a>= spotAngleEnd; +00165 +00166 <span class="comment">// update factors.</span> +00167 <a class="code" href="a03091.html#NL3D_1_1CPointLightd1">computeSpotAttenuationFactors</a>(); +00168 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightNamedz693_18" doxytag="NL3D::CPointLight::setupSpotDirection" ></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::CPointLight::setupSpotDirection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>dir</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 the spot Direction. Usefull only if SpotLight. Normalized internally Default is (0, 1, 0) +<p> +Definition at line <a class="el" href="a06179.html#l00172">172</a> of file <a class="el" href="a06179.html">point_light.cpp</a>. +<p> +References <a class="el" href="a06180.html#l00229">_SpotDirection</a>, and <a class="el" href="a06682.html#l00119">NLMISC::CVector::normalize()</a>. +<p> +Referenced by <a class="el" href="a06182.html#l00084">NL3D::CPointLightModel::traverseLight()</a>. +<p> +<div class="fragment"><pre>00173 { +00174 <a class="code" href="a03091.html#NL3D_1_1CPointLightr15">_SpotDirection</a>= dir; +00175 <a class="code" href="a03091.html#NL3D_1_1CPointLightr15">_SpotDirection</a>.normalize(); +00176 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NL3D_1_1CPointLightr0" doxytag="NL3D::CPointLight::_Ambient" ></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="a03091.html#NL3D_1_1CPointLightr0">NL3D::CPointLight::_Ambient</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="a06180.html#l00217">217</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr1" doxytag="NL3D::CPointLight::_AttenuationBegin" ></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="a03091.html#NL3D_1_1CPointLightr1">NL3D::CPointLight::_AttenuationBegin</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="a06180.html#l00222">222</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00180">computeAttenuationFactors()</a>, <a class="el" href="a06179.html#l00273">computeLinearAttenuation()</a>, <a class="el" href="a06179.html#l00046">CPointLight()</a>, <a class="el" href="a06180.html#l00141">getAttenuationBegin()</a>, <a class="el" href="a06179.html#l00099">operator=()</a>, <a class="el" href="a06179.html#l00230">serial()</a>, and <a class="el" href="a06179.html#l00144">setupAttenuation()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr2" doxytag="NL3D::CPointLight::_AttenuationEnd" ></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="a03091.html#NL3D_1_1CPointLightr2">NL3D::CPointLight::_AttenuationEnd</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="a06180.html#l00222">222</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00180">computeAttenuationFactors()</a>, <a class="el" href="a06179.html#l00273">computeLinearAttenuation()</a>, <a class="el" href="a06179.html#l00046">CPointLight()</a>, <a class="el" href="a06180.html#l00143">getAttenuationEnd()</a>, <a class="el" href="a06179.html#l00099">operator=()</a>, <a class="el" href="a06179.html#l00230">serial()</a>, and <a class="el" href="a06179.html#l00144">setupAttenuation()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr3" doxytag="NL3D::CPointLight::_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="a03091.html#NL3D_1_1CPointLightr3">NL3D::CPointLight::_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="a06180.html#l00224">224</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr4" doxytag="NL3D::CPointLight::_CosSpotAngleEnd" ></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="a03091.html#NL3D_1_1CPointLightr4">NL3D::CPointLight::_CosSpotAngleEnd</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="a06180.html#l00232">232</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00273">computeLinearAttenuation()</a>, <a class="el" href="a06179.html#l00210">computeSpotAttenuationFactors()</a>, <a class="el" href="a06179.html#l00046">CPointLight()</a>, and <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr5" doxytag="NL3D::CPointLight::_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="a03091.html#NL3D_1_1CPointLightr5">NL3D::CPointLight::_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="a06180.html#l00218">218</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightv0" doxytag="NL3D::CPointLight::_LightedModelListMemory" ></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="a02274.html">NLMISC::CBlockMemory</a>< <a class="el" href="a02316.html">CTransform</a> *, false > <a class="el" href="a03091.html#NL3D_1_1CPointLightv0">NL3D::CPointLight::_LightedModelListMemory</a><code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Referenced by <a class="el" href="a06179.html#l00424">purge()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr6" doxytag="NL3D::CPointLight::_LightedModels" ></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="a03445.html">TTransformList</a> <a class="el" href="a03091.html#NL3D_1_1CPointLightr6">NL3D::CPointLight::_LightedModels</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="a06180.html#l00241">241</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00409">appendLightedModel()</a>, <a class="el" href="a06179.html#l00418">removeLightedModel()</a>, and <a class="el" href="a06179.html#l00393">resetLightedModels()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr7" doxytag="NL3D::CPointLight::_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="a03091.html#NL3D_1_1CPointLightr7">NL3D::CPointLight::_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="a06180.html#l00225">225</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr8" doxytag="NL3D::CPointLight::_OOCosSpotAngleDelta" ></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="a03091.html#NL3D_1_1CPointLightr8">NL3D::CPointLight::_OOCosSpotAngleDelta</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="a06180.html#l00234">234</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00273">computeLinearAttenuation()</a>, <a class="el" href="a06179.html#l00210">computeSpotAttenuationFactors()</a>, <a class="el" href="a06179.html#l00046">CPointLight()</a>, and <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr9" doxytag="NL3D::CPointLight::_OODeltaAttenuation" ></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="a03091.html#NL3D_1_1CPointLightr9">NL3D::CPointLight::_OODeltaAttenuation</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="a06180.html#l00223">223</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00180">computeAttenuationFactors()</a>, <a class="el" href="a06179.html#l00273">computeLinearAttenuation()</a>, and <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr10" doxytag="NL3D::CPointLight::_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">CVector</a> <a class="el" href="a03091.html#NL3D_1_1CPointLightr10">NL3D::CPointLight::_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="a06180.html#l00214">214</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr11" doxytag="NL3D::CPointLight::_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="a03091.html#NL3D_1_1CPointLightr11">NL3D::CPointLight::_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="a06180.html#l00226">226</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr12" doxytag="NL3D::CPointLight::_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="a03091.html#NL3D_1_1CPointLightr12">NL3D::CPointLight::_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="a06180.html#l00219">219</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr13" doxytag="NL3D::CPointLight::_SpotAngleBegin" ></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="a03091.html#NL3D_1_1CPointLightr13">NL3D::CPointLight::_SpotAngleBegin</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="a06180.html#l00230">230</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00210">computeSpotAttenuationFactors()</a>, <a class="el" href="a06179.html#l00046">CPointLight()</a>, <a class="el" href="a06180.html#l00151">getSpotAngleBegin()</a>, <a class="el" href="a06179.html#l00099">operator=()</a>, <a class="el" href="a06179.html#l00230">serial()</a>, and <a class="el" href="a06179.html#l00159">setupSpotAngle()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr14" doxytag="NL3D::CPointLight::_SpotAngleEnd" ></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="a03091.html#NL3D_1_1CPointLightr14">NL3D::CPointLight::_SpotAngleEnd</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="a06180.html#l00231">231</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00210">computeSpotAttenuationFactors()</a>, <a class="el" href="a06179.html#l00046">CPointLight()</a>, <a class="el" href="a06180.html#l00153">getSpotAngleEnd()</a>, <a class="el" href="a06179.html#l00099">operator=()</a>, <a class="el" href="a06179.html#l00230">serial()</a>, and <a class="el" href="a06179.html#l00159">setupSpotAngle()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr15" doxytag="NL3D::CPointLight::_SpotDirection" ></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">CVector</a> <a class="el" href="a03091.html#NL3D_1_1CPointLightr15">NL3D::CPointLight::_SpotDirection</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="a06180.html#l00229">229</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00273">computeLinearAttenuation()</a>, <a class="el" href="a06179.html#l00046">CPointLight()</a>, <a class="el" href="a06180.html#l00161">getSpotDirection()</a>, <a class="el" href="a06179.html#l00099">operator=()</a>, <a class="el" href="a06179.html#l00230">serial()</a>, <a class="el" href="a06179.html#l00346">setupDriverLight()</a>, and <a class="el" href="a06179.html#l00172">setupSpotDirection()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr16" doxytag="NL3D::CPointLight::_SpotExponent" ></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="a03091.html#NL3D_1_1CPointLightr16">NL3D::CPointLight::_SpotExponent</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="a06180.html#l00235">235</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00210">computeSpotAttenuationFactors()</a>, <a class="el" href="a06179.html#l00046">CPointLight()</a>, <a class="el" href="a06179.html#l00099">operator=()</a>, and <a class="el" href="a06179.html#l00346">setupDriverLight()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CPointLightr17" doxytag="NL3D::CPointLight::_Type" ></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="a03091.html#NL3D_1_1CPointLightNamedw5">TType</a> <a class="el" href="a03091.html#NL3D_1_1CPointLightr17">NL3D::CPointLight::_Type</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="a06180.html#l00211">211</a> of file <a class="el" href="a06180.html">point_light.h</a>. +<p> +Referenced by <a class="el" href="a06179.html#l00099">operator=()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a06180.html">point_light.h</a><li><a class="el" href="a06179.html">point_light.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:01:38 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> |