sgPlanarLightMap Class Reference#include <sgLightMap.h>
Inheritance diagram for sgPlanarLightMap:
[legend]
Detailed Description
Used to generate light maps on interiors.
This class will calculate one surface at a time (using sgPlanarLightMap::sgSurfaceIndex).
|
Public Types |
enum | sgLightingPass {
sglpInner = 0,
sglpOuter,
sglpCount
} |
enum | sgAdjacent {
sgaTrue,
sgaFalse,
sgaMaybe
} |
Public Member Functions |
| sgPlanarLightMap (U32 width, U32 height, InteriorInstance *interior, Interior *detail, S32 surface, ConstructorSimpleMesh *staticmesh, PlaneF surfaceplane, const Vector< sgSmoothingVert > &tristrip) |
void | sgMergeLighting (GBitmap *lightmap, U32 xoffset, U32 yoffset) |
| Transfer the light map to a GBitmap and blur.
|
void | sgSetupLighting () |
| See: sgLightMap::sgCalculateLighting.
|
virtual void | sgCalculateLighting (LightInfo *light) |
| Object specific light mapping calculations are done here.
|
bool | sgIsDirty () |
Data Fields |
PlaneF | surfacePlane |
| Surface to generate light map.
|
Vector< sgSmoothingVert > | triStrip |
bool | sgUseSmoothing |
S32 | sgSAxis |
S32 | sgTAxis |
bool | sgFlippedWindings |
Box3F | sgSurfaceBox |
Vector< sgLexel > | sgInnerLexels |
Vector< sgLexel > | sgOuterLexels |
InteriorInstance * | sgInteriorInstance |
Interior * | sgInteriorDetail |
S32 | sgInteriorSurface |
ConstructorSimpleMesh * | sgInteriorStaticMesh |
Protected Member Functions |
void | sgBuildDerivatives (sgSmoothingTri &tri) |
void | sgBuildLexels (const Vector< sgSmoothingTri > &tris) |
bool | sgCastRay (Point3F s, Point3F e, SceneObject *obj, Interior *detail, ConstructorSimpleMesh *sm, sgOccluder &occluderinfo) |
bool | sgIsValidOccluder (const sgOccluder &occluderinfo, hash_multimap< void *, sgOccluder > &validoccluders, bool isinnerlexel) |
sgAdjacent | sgAreAdjacent (U32 surface1, U32 surface2) |
| Try to avoid false shadows by ignoring direct neighbors.
|
Protected Attributes |
bool | sgDirty |
Static Protected Attributes |
static U32 | sgCurrentOccluderMaskId |
Data Structures |
struct | sgLexel |
struct | sgOccluder |
struct | sgSmoothingTri |
struct | sgSmoothingVert |
Member Enumeration Documentation
- Enumerator:
-
sglpInner |
|
sglpOuter |
|
sglpCount |
|
- Enumerator:
-
sgaTrue |
|
sgaFalse |
|
sgaMaybe |
|
Constructor & Destructor Documentation
Member Function Documentation
void sgPlanarLightMap::sgMergeLighting |
( |
GBitmap * |
lightmap, |
|
|
U32 |
xoffset, |
|
|
U32 |
yoffset | |
|
) |
| | |
Transfer the light map to a GBitmap and blur.
void sgPlanarLightMap::sgSetupLighting |
( |
|
) |
|
virtual void sgPlanarLightMap::sgCalculateLighting |
( |
LightInfo * |
light |
) |
[virtual] |
Object specific light mapping calculations are done here.
Implements sgLightMap.
bool sgPlanarLightMap::sgIsDirty |
( |
|
) |
[inline] |
sgAdjacent sgPlanarLightMap::sgAreAdjacent |
( |
U32 |
surface1, |
|
|
U32 |
surface2 | |
|
) |
| | [protected] |
Try to avoid false shadows by ignoring direct neighbors.
Field Documentation
Surface to generate light map.
|