#include <light.h>
Public Methods | |
| csLightPatch () | |
| Create an empty light patch (infinite frustum). | |
| ~csLightPatch () | |
| Unlink this light patch from the polygon and the light and then destroy. | |
| void | Initialize (int n) |
| Make room for the specified number of vertices and initialize to start a new light patch. | |
| void | RemovePatch () |
| Remove this light patch (unlink from all lists). | |
| csPolygon3D* | GetPolygon () |
| Get the polygon that this light patch belongs too. | |
| csCurve* | GetCurve () |
| Get the curve that this light patch belongs too. | |
| csDynLight* | GetLight () |
| Get the light that this light patch belongs too. | |
| csShadowBlock& | GetShadowBlock () |
| Get a reference to the shadow list. | |
| int | GetVertexCount () |
| Get the number of vertices in this light patch. | |
| csVector3* | GetVertices () |
| Get all the vertices. | |
| csVector3& | GetVertex (int i) |
| Get a vertex. | |
| csLightPatch* | GetNextPoly () |
| Get next light patch as seen from the standpoint of the polygon. | |
| csLightPatch* | GetNextLight () |
| Get the next light patch as seen from the standpoint of the light. | |
| void | SetPolyCurve (csPolygon3D *pol) |
| Set polygon. | |
| void | SetPolyCurve (csCurve *c) |
| Set curve. | |
| void | SetLight (csDynLight *l) |
| Set light. | |
| void | AddPolyList (csLightPatch *&first) |
| Add to poly list. | |
| void | RemovePolyList (csLightPatch *&first) |
| Remove from poly list. | |
| void | AddLightList (csLightPatch *&first) |
| Add to light list. | |
| void | RemoveLightList (csLightPatch *&first) |
| Remove from light list. | |
| void | SetLightFrustum (csFrustum *lf) |
| Set the light frustum. | |
| csFrustum* | GetLightFrustum () |
| Get the light frustum. | |
Friends | |
| class | csLightPatchPool |
This is a 3D polygon which fits on a world level 3D polygon and defines where the light hits the polygon. There is a list of light patches in every polygon (all dynamic lights hitting a polygon will give rise to a seperate light patch) and there is a list of light patches in every dynamic light (representing all polygons that are hit by that particular light).