![]() |
VR-Forces Developer's Guide
|
Class for generic lights This holds per-light data such as range, attenuation factors, colors, etc.
Public Member Functions | |
| DtLight (DtLightManager *lightManager) | |
| virtual | ~DtLight () |
| DtLight & | operator= (const DtLight &rhs) |
| virtual void | setPosition (const Vector3_64 &vPosition) |
| virtual const Vector3_64 & | position (void) const |
| virtual void | setDirection (const Vector3_64 &vDirection) |
| virtual const Vector3_64 & | direction (void) const |
| virtual LightGroup | lightGroup () const |
| virtual void | setLightGroup (LightGroup group) |
| virtual const AxisAlignedBoundingBox_64 & | worldAABB (void) const |
| virtual bool | isInitted () const |
| virtual void | setLightSourceTypeId (unsigned int lightSourceTypeId) |
| virtual unsigned int | lightSourceTypeId () const |
| virtual void | printDetails (void) const |
| virtual void | setUserValue (float64 val) |
| virtual float64 | userValue (void) const |
| virtual void | setOn (bool bOn) |
| virtual bool | isOn (void) const |
| virtual void | setLightType (LightType lightType) |
| virtual LightType | lightType (void) const |
| virtual void | setSensorMask (unsigned int sensorMask) |
| virtual unsigned int | sensorMask () const |
| virtual void | setAmbientColor (const DtColorValue &color) |
| virtual void | setDiffuseColor (const DtColorValue &color) |
| virtual void | setSpecularColor (const DtColorValue &color) |
| virtual const DtColorValue & | ambientColor (void) const |
| virtual const DtColorValue & | diffuseColor (void) const |
| virtual const DtColorValue & | specularColor (void) const |
| virtual void | setRange (float32 fRange) |
| virtual float32 | range (void) const |
| virtual float32 | squaredRange (void) const |
| virtual void | setAttenuation (float32 fConstant, float32 fLinear, float32 fQuadratic) |
| virtual float32 | constantAttenuation (void) const |
| virtual float32 | linearAttenuation (void) const |
| virtual float32 | quadraticAttenuation (void) const |
| virtual void | getAttenuation (float32 attenuations[3]) const |
| virtual void | setSpotLightParameters (const DtDegrees &fInnerAngleDegrees, const DtDegrees &fOuterAngleDegrees, float32 fFalloff) |
| virtual void | setSpotLightAngles (const DtDegrees &fInnerAngleDegrees, const DtDegrees &fOuterAngleDegrees) |
| virtual void | spotLightAngles (DtDegrees &fInnerAngleDegrees, DtDegrees &fOuterAngleDegrees) |
| virtual DtDegrees | innerAngle (void) const |
| virtual DtDegrees | outerAngle (void) const |
| virtual float32 | falloff (void) const |
| virtual void | setReserved (bool val) |
| virtual bool | reserved (void) const |
| virtual void | setOctreeNode (void *pUserData) |
| virtual void * | octreeNode () const |
Protected Member Functions | |
| virtual void | getArbitraryBasisVectors (Vector3_64 &vBasis0, Vector3_64 &vBasis1) const |
| virtual void | getArbitraryBasisPoints (float distance, std::array< Vector3_64, 4 > &point) const |
| virtual float | getAngleFactor () const |
| virtual Vector3_64 | getSpotCenter () const |
| virtual void | UpdateBounds (void) |
Private Member Functions | |
| DtLight ()=delete | |
| DtLight (const DtLight &rhs)=delete | |
Friends | |
| class | DtLightScreenSpaceData |
| makVrv::DtLight::DtLight | ( | DtLightManager * | lightManager | ) |
CTOR.
|
virtual |
DTOR.
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
virtual |
Turn light on or off.
|
virtual |
Turn light on or off.
|
virtual |
Turn light on or off This is separate so as to enable pooling of lights so that a previous light of type x in the pool can be picked up and used as a light of a different type y, or the same type for that matter.
|
virtual |
Turn light on or off This is separate so as to enable pooling of lights so that a previous light of type x in the pool can be picked up and used as a light of a different type y, or the same type for that matter.
set/get the sensor bit mask. Controls which sensor modes this light source is visible in. bit 0 is visual, bit 1 is NVG, bit 2 is MWIR, bit 3 is LWIR. if the bit is set then the light source is applied in that sensor mode else it is not. see the getLightIntersectionData function in setupLightSourceIntersectionData.cs.glsl for the check
set/get the sensor bit mask. Controls which sensor modes this light source is visible in. bit 0 is visual, bit 1 is NVG, bit 2 is MWIR, bit 3 is LWIR. if the bit is set then the light source is applied in that sensor mode else it is not. see the getLightIntersectionData function in setupLightSourceIntersectionData.cs.glsl for the check
|
virtual |
Set ambient, diffuse, specular properties.
|
virtual |
Set ambient, diffuse, specular properties.
|
virtual |
Set ambient, diffuse, specular properties.
|
virtual |
Get ambient, diffuse, specular properties.
|
virtual |
Get ambient, diffuse, specular properties.
|
virtual |
Get ambient, diffuse, specular properties.
|
virtual |
Only relevant to Point and Spot Lights.
|
virtual |
|
virtual |
Only relevant to Directional and Spot Lights.
|
virtual |
|
virtual |
Range and Squared Range.
|
virtual |
Range and Squared Range.
|
virtual |
Range and Squared Range.
|
virtual |
Attenuation properties.
|
virtual |
Attenuation properties.
|
virtual |
Attenuation properties.
|
virtual |
Attenuation properties.
|
virtual |
Attenuation properties.
|
virtual |
Spot Light properties.
|
virtual |
Spot Light properties.
|
virtual |
Spot Light properties.
|
virtual |
Spot Light properties.
|
virtual |
Spot Light properties.
|
virtual |
Spot Light properties.
|
virtual |
reserved?
|
virtual |
reserved?
|
virtual |
octree Data
|
virtual |
octree Data
|
virtual |
Which group is this light under (prop, terrain, none)
|
virtual |
Set the group this light belongs to (props, terrain, none)
|
virtual |
Get the world AABB.
|
virtual |
initialized?
set the light source type id which is used by the light manager to know what type of light source this is.
get the light source type id
|
virtual |
print details
|
virtual |
arbitrary value on this light (like user data)
|
virtual |
arbitrary value on this light (like user data)
|
protectedvirtual |
Calculate two arbitrary basis vectors for the light direction.
|
protectedvirtual |
Calculate basis points along arbitrary basis vectors with given distance.
|
protectedvirtual |
Calculate angle multiplicative factor (see comment in C++)
|
protectedvirtual |
Return the center of the distant side of the spotlight cone.
|
protectedvirtual |
update bounds
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Applicable only to point lights and spot lights.
|
protected |
Applicable only to directional lights.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Angle of a spotlight's inner cone - that is, the fully illuminated spotlight cone.
|
protected |
Angle defining the outer edge of the spotlight's outer cone. Points outside this cone are not lit by the spotlight. This value must be between 0 and pi.
|
protected |
Decrease in illumination between a spotlight's inner cone and the outer edge of the outer cone.
|
protected |
|
protected |
init bit to keep track if it's really safe to add to the octtree
|
protected |
Is this a reserved light?
|
protected |
|
protected |
|
protected |
For switching on and off lights Is this light node under the DtOsgRenderer::propsRoot or under DtOsgRenderer::terrainRoot.
|
protected |
|
protected |