![]() |
VR-Forces 5.0.2 Developer's Guide
|
Screen space light data, set up per frame and re-used multiple times while adding lights to light buckets.
Public Member Functions | |
| DtLightScreenSpaceData () | |
| void | calculate (const DtLight &, const DtLightScreenSpacePerViewData &perView, int viewMatrix) |
| bool | intersect (const DtScreenRect &rect) const |
| uint32 | area () const |
| const DtScreenRect & | screenRect () const |
Protected Member Functions | |
| bool | insideEllipse (float xDiff, float yDiff) const |
| bool | insideSpot (const Vector2_32 &relPos) const |
Protected Attributes | |
| DtScreenRect | myScreenRect |
| Vector2_32 | myPositionUnclipped |
| Vector2_32 | myRadiusSquared |
| Vector3_32 | mySpotCenterProj |
| float | mySpotAngleMin |
| bool | mySpotEllipseProjection |
| uint32 | myArea |
| const DtLight * | myLight |
|
inline |
| void makVrv::DtLightScreenSpaceData::calculate | ( | const DtLight & | , |
| const DtLightScreenSpacePerViewData & | perView, | ||
| int | viewMatrix | ||
| ) |
Calculate screen space light parameters. This is called from a subthread in DtTileSpaceLightGrid to calculate per-light screenspace parameters that can be re-used whilst adding lights to many light bins.
| bool makVrv::DtLightScreenSpaceData::intersect | ( | const DtScreenRect & | rect | ) | const |
true if we intersect the given screen area
|
inline |
Return screenspace area.
|
inline |
Return screenspace bounding rectangle.
|
protected |
True if given point lies inside screen space projected point light ellipse.
|
protected |
True if given point lies inside screen space projected spot light cone.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |