class ART::IReflectionProbe
Reflection probe interface for probe manipulation.
#include <ARTIReflectionProbe.h>
Inherits: IREDObject.
Public functions:
virtual double | GetBlendWeight ( ) const = 0 |
virtual const RED::Vector3 & | GetCameraPositionOffset ( ) const = 0 |
virtual void | GetEffectBox ( RED::Vector3 & oMin, RED::Vector3 & oMax ) const = 0 |
virtual double | GetEffectRadius ( ) const = 0 |
virtual RED::Object * | GetEnvironmentMap ( ) const = 0 |
virtual RED::Object * | GetEnvironmentMapIndex ( ) const = 0 |
virtual void | GetFalloffBox ( RED::Vector3 & oFalloffMin, RED::Vector3 & oFalloffMax ) const = 0 |
virtual double | GetFalloffRadius ( ) const = 0 |
virtual const RED::Matrix & | GetMatrix ( ) const = 0 |
virtual RED::Vector4 | GetPlanarReflectionPlaneEquation ( ) const = 0 |
virtual RED::Vector3 | GetPlanarReflectionPlaneNormal ( ) const = 0 |
virtual RED::Vector3 | GetPlanarReflectionPlanePoint ( ) const = 0 |
virtual RED::Object * | GetPlanarReflectionTex ( ) const = 0 |
virtual bool | GetRenderPlanar ( ) const = 0 |
virtual ART::REFLECTION_PROBE_TYPE | GetType ( ) const = 0 |
virtual bool | HasEnvironmentMap ( ) const = 0 |
virtual RED_RC | Initialize ( RED::Object * iOther ) = 0 |
virtual RED_RC | InitializeBox ( const RED::Matrix & iTransform, const RED::Vector3 & iEffectBoxMin, const RED::Vector3 & iEffectBoxMax, const RED::Vector3 & iFalloffBoxMin, const RED::Vector3 & iFalloffBoxMax ) = 0 |
virtual RED_RC | InitializePlanar ( const RED::Matrix & iTransform, const RED::Vector3 & iEffectBoxMin, const RED::Vector3 & iEffectBoxMax, const RED::Vector3 & iFalloffBoxMin, const RED::Vector3 & iFalloffBoxMax ) = 0 |
virtual RED_RC | InitializeSphere ( const RED::Matrix & iTransform, double iEffectRadius, double iFalloffRadius ) = 0 |
virtual bool | IsActive ( ) const = 0 |
virtual void | SetActive ( bool iActive ) = 0 |
virtual void | SetBlendWeight ( double iBlendWeight ) = 0 |
virtual RED_RC | SetCameraPositionOffset ( const RED::Vector3 & iCameraPosition ) = 0 |
virtual RED_RC | SetEffectBox ( const RED::Vector3 & iMin, const RED::Vector3 & iMax ) = 0 |
virtual RED_RC | SetEffectRadius ( double iRadius ) = 0 |
virtual RED_RC | SetEnvironmentMap ( RED::Object * iEnvironmentMapAtlas, RED::Object * iEnvironmentMapAtlasIndex ) = 0 |
virtual RED_RC | SetFalloffBox ( const RED::Vector3 & iMin, const RED::Vector3 & iMax ) = 0 |
virtual RED_RC | SetFalloffRadius ( double iRadius ) = 0 |
virtual RED_RC | SetMatrix ( const RED::Matrix & iMatrix ) = 0 |
virtual RED_RC | SetPlanarReflectionPlaneEquation ( const RED::Vector4 & iPlaneEquation ) = 0 |
virtual RED_RC | SetPlanarReflectionPlaneNormal ( const RED::Vector3 & iPlaneNormal ) = 0 |
virtual RED_RC | SetPlanarReflectionPlanePoint ( const RED::Vector3 & iPlanePoint ) = 0 |
virtual RED_RC | SetPlanarReflectionTex ( RED::Object * iPlanarReflectionTex ) = 0 |
virtual void | SetRenderPlanar ( bool iRender ) = 0 |
Public static functions:
static RED::CID | GetClassID ( ) |
Functions documentation
public static RED::CID ART::IReflectionProbe::GetClassID | ( | ) |
public virtual double ART::IReflectionProbe::GetBlendWeight | ( | ) const = 0 |
Gets the probe blend weight.
Returns:
public virtual const RED::Vector3 & ART::IReflectionProbe::GetCameraPositionOffset | ( | ) const = 0 |
Gets the position offset between the camera position and the probe matrix position.
Returns:
public virtual void ART::IReflectionProbe::GetEffectBox | ( | RED::Vector3 & | oMin, |
RED::Vector3 & | oMax | ||
) | const = 0 |
Gets the probe effect box in the case of a box one.
Parameters:
oMin: | Returned probe effect box min. |
oMax: | Returned probe effect box max. |
public virtual double ART::IReflectionProbe::GetEffectRadius | ( | ) const = 0 |
Gets the probe effect radius in the case of a spherical one.
Returns:
public virtual RED::Object * ART::IReflectionProbe::GetEnvironmentMap | ( | ) const = 0 |
Gets the environment map atlas texture.
Returns:
public virtual RED::Object * ART::IReflectionProbe::GetEnvironmentMapIndex | ( | ) const = 0 |
Gets the environment maps index texture.
Returns:
public virtual void ART::IReflectionProbe::GetFalloffBox | ( | RED::Vector3 & | oFalloffMin, |
RED::Vector3 & | oFalloffMax | ||
) | const = 0 |
Gets the probe falloff box in the case of a box one.
Parameters:
oFalloffMin: | Returned probe falloff box min. |
oFalloffMax: | Returned probe falloff box max. |
public virtual double ART::IReflectionProbe::GetFalloffRadius | ( | ) const = 0 |
Gets the probe falloff radius in the case of a spherical one.
Returns:
public virtual const RED::Matrix & ART::IReflectionProbe::GetMatrix | ( | ) const = 0 |
Gets the probe transform matrix.
Returns:
public virtual RED::Vector4 ART::IReflectionProbe::GetPlanarReflectionPlaneEquation | ( | ) const = 0 |
Gets the plane equation for planar probes.
Returns:
public virtual RED::Vector3 ART::IReflectionProbe::GetPlanarReflectionPlaneNormal | ( | ) const = 0 |
Gets the plane normal vector for planar probes.
public virtual RED::Vector3 ART::IReflectionProbe::GetPlanarReflectionPlanePoint | ( | ) const = 0 |
Gets a point located on the plane for planar probes.
public virtual RED::Object * ART::IReflectionProbe::GetPlanarReflectionTex | ( | ) const = 0 |
Gets the reflection texture for planar probes.
Returns:
public virtual bool ART::IReflectionProbe::GetRenderPlanar | ( | ) const = 0 |
Gets the render planar parameter.
Returns:
public virtual ART::REFLECTION_PROBE_TYPE ART::IReflectionProbe::GetType | ( | ) const = 0 |
Gets the probe type.
Returns:
public virtual bool ART::IReflectionProbe::HasEnvironmentMap | ( | ) const = 0 |
Tests if the probe has environment maps.
Returns:
public virtual RED_RC ART::IReflectionProbe::Initialize | ( | RED::Object * | iOther | ) = 0 |
public virtual RED_RC ART::IReflectionProbe::InitializeBox | ( | const RED::Matrix & | iTransform, |
const RED::Vector3 & | iEffectBoxMin, | ||
const RED::Vector3 & | iEffectBoxMax, | ||
const RED::Vector3 & | iFalloffBoxMin, | ||
const RED::Vector3 & | iFalloffBoxMax | ||
) | = 0 |
Initializes a box probe.
Parameters:
iTransform: | transform matrix containing the probe position and orientation, PCS. |
iEffectBoxMin: | effect box minimum point, offset relative to iTransform. |
iEffectBoxMax: | effect box maximum point, offset relative to iTransform. |
iFalloffBoxMin: | falloff box minimum point, offset relative to iTransform. |
iFalloffBoxMax: | falloff box maximum point, offset relative to iTransform. |
Returns:
public virtual RED_RC ART::IReflectionProbe::InitializePlanar | ( | const RED::Matrix & | iTransform, |
const RED::Vector3 & | iEffectBoxMin, | ||
const RED::Vector3 & | iEffectBoxMax, | ||
const RED::Vector3 & | iFalloffBoxMin, | ||
const RED::Vector3 & | iFalloffBoxMax | ||
) | = 0 |
Initializes a planar probe.
Parameters:
iTransform: | transform matrix containing the probe position and orientation, PCS. |
iEffectBoxMin: | effect box minimum point, offset relative to iTransform. |
iEffectBoxMax: | effect box maximum point, offset relative to iTransform. |
iFalloffBoxMin: | falloff box minimum point, offset relative to iTransform. |
iFalloffBoxMax: | falloff box maximum point, offset relative to iTransform. |
Returns:
public virtual RED_RC ART::IReflectionProbe::InitializeSphere | ( | const RED::Matrix & | iTransform, |
double | iEffectRadius, | ||
double | iFalloffRadius | ||
) | = 0 |
Initializes a spherical probe.
Parameters:
iTransform: | transform matrix containing the probe position and orientation, PCS. |
iEffectRadius: | effect radius of the sphere, offset relative to iTransform. |
iFalloffRadius: | falloff radius of the sphere, offset relative to iTransform. |
Returns:
public virtual bool ART::IReflectionProbe::IsActive | ( | ) const = 0 |
Tells if the probe is active or not.
Returns:
public virtual void ART::IReflectionProbe::SetActive | ( | bool | iActive | ) = 0 |
Activates or deactivates the probe.
Parameters:
iActive: | True to activate the probe. |
public virtual void ART::IReflectionProbe::SetBlendWeight | ( | double | iBlendWeight | ) = 0 |
Sets the probe blend weight ]0,+inf] .
The blend weight is used at rendering. It is the importance of the probe against other probes when there volumes intersect each other.
Parameters:
iBlendWeight: | Probe blend weight. |
public virtual RED_RC ART::IReflectionProbe::SetCameraPositionOffset | ( | const RED::Vector3 & | iCameraPosition | ) = 0 |
public virtual RED_RC ART::IReflectionProbe::SetEffectBox | ( | const RED::Vector3 & | iMin, |
const RED::Vector3 & | iMax | ||
) | = 0 |
Sets the probe effect box in the case of a box one.
Parameters:
iMin: | Probe effect box min. |
iMax: | Probe effect box max. |
Returns:
RED_BAD_PARAM if the method has received an invalid parameter,
RED_FAIL otherwise.
public virtual RED_RC ART::IReflectionProbe::SetEffectRadius | ( | double | iRadius | ) = 0 |
Sets the probe effect radius in the case of a spherical one.
Parameters:
iRadius: | the probe effect radius. |
Returns:
RED_BAD_PARAM if the method has received an invalid parameter,
RED_FAIL otherwise.
public virtual RED_RC ART::IReflectionProbe::SetEnvironmentMap | ( | RED::Object * | iEnvironmentMapAtlas, |
RED::Object * | iEnvironmentMapAtlasIndex | ||
) | = 0 |
Sets the environment maps atlas.
Parameters:
iEnvironmentMapAtlas: | environment map atlas as RED::IImage2D. |
iEnvironmentMapAtlasIndex: | environment map atlas index as RED::IImage2D. |
Returns:
RED_BAD_PARAM if the method has received an invalid parameter,
RED_FAIL otherwise.
public virtual RED_RC ART::IReflectionProbe::SetFalloffBox | ( | const RED::Vector3 & | iMin, |
const RED::Vector3 & | iMax | ||
) | = 0 |
Sets the probe falloff box in the case of a box one.
Parameters:
iMin: | Probe falloff box min. |
iMax: | Probe falloff box max. |
Returns:
RED_BAD_PARAM if the method has received an invalid parameter,
RED_FAIL otherwise.
public virtual RED_RC ART::IReflectionProbe::SetFalloffRadius | ( | double | iRadius | ) = 0 |
Sets the probe falloff radius in the case of a spherical one.
Parameters:
iRadius: | the probe falloff radius. |
Returns:
RED_BAD_PARAM if the method has received an invalid parameter,
RED_FAIL otherwise.
public virtual RED_RC ART::IReflectionProbe::SetMatrix | ( | const RED::Matrix & | iMatrix | ) = 0 |
public virtual RED_RC ART::IReflectionProbe::SetPlanarReflectionPlaneEquation | ( | const RED::Vector4 & | iPlaneEquation | ) = 0 |
Sets the plane equation for planar probes.
Parameters:
iPlaneEquation | : RED::Vector4(a,b,c,d) for a plane of equation ax + by + cz + d = 0 in world coordinates. |
Returns:
RED_INIT_FAILED if this method is called on a probe that is not planar,
RED_FAIL otherwise.
public virtual RED_RC ART::IReflectionProbe::SetPlanarReflectionPlaneNormal | ( | const RED::Vector3 & | iPlaneNormal | ) = 0 |
Sets the plane normal for planar probes.
Parameters:
iPlaneNormal | : normal to the plane, WCS. |
Returns:
RED_INIT_FAILED if this method is called on a probe that is not planar,
RED_FAIL otherwise.
public virtual RED_RC ART::IReflectionProbe::SetPlanarReflectionPlanePoint | ( | const RED::Vector3 & | iPlanePoint | ) = 0 |
Sets a reference point located on the plane.
Parameters:
iPlanePoint | : any point located on the plane, WCS. |
Returns:
RED_INIT_FAILED if this method is called on a probe that is not planar,
RED_FAIL otherwise.
public virtual RED_RC ART::IReflectionProbe::SetPlanarReflectionTex | ( | RED::Object * | iPlanarReflectionTex | ) = 0 |
Sets the reflection texture for planar probes.
Parameters:
iPlanarReflectionTex: | the reflection texture. |
Returns:
RED_INIT_FAILED if this method is called on a probe that is not planar,
RED_FAIL otherwise.
public virtual void ART::IReflectionProbe::SetRenderPlanar | ( | bool | iRender | ) = 0 |
Sets this reflection probe to handle the rendering of the planar reflection texture. For geometry instances, ReflectionProbe objects are duplicated but share the same planar reflection texture, which needs to be rendered only once. If several reflections probes share the same reflection tex and have SetRenderPlanar to true, the rendering will happen several times for nothing. If several reflections probes share the same reflection tex but none has SetRenderPlanar to true, the texture will not be rendered.
Parameters:
iRender: | true to render, false to let another probe render. |