<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> <html> <!-- Created by texi2html 1.76 --> <!-- Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others. Maintained by: Many creative people <dev@texi2html.cvshome.org> Send bugs and suggestions to <users@texi2html.cvshome.org> --> <head> <title>Crystal Space 1.2.1: 4.10.6 Mesh Lighting and Animation</title> <meta name="description" content="Crystal Space 1.2.1: 4.10.6 Mesh Lighting and Animation"> <meta name="keywords" content="Crystal Space 1.2.1: 4.10.6 Mesh Lighting and Animation"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} pre.display {font-family: serif} pre.format {font-family: serif} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: serif; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: serif; font-size: smaller} pre.smalllisp {font-size: smaller} span.sansserif {font-family:sans-serif; font-weight:normal;} ul.toc {list-style: none} --> </style> </head> <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> <a name="HOWTO-Mesh-LightAnim"></a> <a name="0"></a> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="HOWTO-Create-Genmesh.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="HOWTO-Mesh-Movement.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="MeshObject.html#0" title="Up section"> Up </a>]</td> <td valign="middle" align="left">[<a href="Working-with-Engine-Content.html#0" title="Next chapter"> >> </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> <td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> <td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> <h3 class="subsection"> 4.10.6 Mesh Lighting and Animation </h3> <p>This section describes how to do animation for meshes and how they can get lit by surrounding lights. </p> <a name="1"></a> <h4 class="subsubheading"> Animating Meshes </h4> <p>Not all meshes support animation. All particle systems and 3D sprites have animation. </p> <p>The engine is smart enough to only animate mesh objects that are actually visible on screen. </p> <a name="2"></a> <h4 class="subsubheading"> Lighting Meshes </h4> <p>Almost all meshes support lighting. Mesh things are treated specially as they have support for lightmaps and dynamic lighting using dynamic lightmaps. So this discussion is not for them. But for all other meshes the system below applies. Note that for many meshes lighting can be disabled (usually by calling <code>SetLighting(false)</code> on the state of the mesh object). </p> <p>Note that objects that don't use lightmaps are normally updated automatically whenever needed. The engine will track when lights are added, removed, or changed (i.e. moving or color change), and the engine will track when the object itself moves. There is one case where this can fail and that's when a light affects an object indirectly through some portal and the object containing the portal changes (i.e. moves or otherwise). In this case the engine will not notice the lighting change on the mesh. If you suffer from this rare case then you can force the set of lights to be recalculated all the time (when the object is visible) by using <code>iMeshWrapper::SetLightingUpdate()</code> and setting the <code>CS_LIGHTINGUPDATE_ALWAYSUPDATE</code> flag. Note that using the same function you can also control the maximum number of lights that can affect your mesh (default is 8). </p> <a name="3"></a> <h4 class="subsubheading"> Mesh Include Files </h4> <p>The include files useful for this section are: </p> <table><tr><td> </td><td><pre class="example">#include <iengine/mesh.h> #include <iengine/engine.h> </pre></td></tr></table> <hr size="1"> <p> <font size="-1"> This document was generated using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>. </font> <br> </p> </body> </html>