TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
iPainterLight Struct Referenceabstract
Inheritance diagram for iPainterLight:
iUnknown

Detailed Description

Painter light interface.

General

virtual tPtr GetDescStructPtr () const =0
 Get the material description structure pointer. {Property}. More...
 
virtual void SetName (iHString *aName)=0
 Set the light name. {Property}. More...
 
virtual iHStringGetName () const =0
 Get the light name. {Property}. More...
 
virtual void SetType (eLightType aType)=0
 Set the light type. {Property}. More...
 
virtual eLightType GetType () const =0
 Get the light type. {Property}. More...
 
virtual iPainterLightClone () const =0
 Create a copy of this light. More...
 
virtual iFrustumGetFrustum () const =0
 Get the light's frustum. {Property}. More...
 
virtual iBoundingVolumeGetBoundingVolume () const =0
 Get the bounding volume of the light. {Property}. More...
 
virtual iTransformGetTransform () const =0
 Get the tranform of the light. {Property}. More...
 
virtual tBool SerializeDataTable (iDataTable *apDT, tSerializeFlags aFlags)=0
 Serialize the light in a data table. More...
 
virtual tLightFlags GetFlags () const =0
 Get the light flags. {Property}. More...
 
virtual void SetFlags (tLightFlags aFlags)=0
 Set the light flags. {Property}. More...
 
virtual void SetSyncCounter (tU16 anSync)=0
 Set the synchronization counter. {Property}. More...
 
virtual tU16 GetSyncCounter () const =0
 Get the synchronization counter. {Property}. More...
 

Color & Attenuation

virtual void SetIntensity (tF32 afI)=0
 Set the global light intensity. More...
 
virtual tF32 GetIntensity () const =0
 Get the global light intensity. {Property}. More...
 
virtual void SetDiffuseColor (const sColor3f &col)=0
 Set the diffuse color. {Property}. More...
 
virtual const sColor3fGetDiffuseColor () const =0
 Get the diffuse color. {Property}. More...
 
virtual void SetSpecularColor (const sColor3f &col)=0
 Set the specular color. {Property}. More...
 
virtual const sColor3fGetSpecularColor () const =0
 Get the specular color. {Property}. More...
 
virtual void SetCosineBias (tF32 afBias)=0
 Set the cosine weighted bias. More...
 
virtual tF32 GetCosineBias () const =0
 Get the N.L bias. {Property}. More...
 
virtual void SetRange (tF32 afRange)=0
 Set the light's range. {Property}. More...
 
virtual tF32 GetRange () const =0
 Get the light's range. {Property}. More...
 
virtual void SetNearClipPlane (tF32 afNearClipPlane)=0
 Set the light's near clip plane. {Property}. More...
 
virtual tF32 GetNearClipPlane () const =0
 Get the light's near clip plane. {Property}. More...
 
virtual void SetFarClipPlane (tF32 afFarClipPlane)=0
 Set the light's far clip plane. {Property}. More...
 
virtual tF32 GetFarClipPlane () const =0
 Get the light's far clip plane. {Property}. More...
 

Cookie

virtual tBool SetCookie (iHString *ahspCookie)=0
 Set the cookie texture name. More...
 
virtual iHStringGetCookie () const =0
 Get the cookie texture. {Property}. More...
 
virtual tBool SetCookieTexture (iTexture *apTexture)=0
 Set the cookie texture attached to the light. {Property}. More...
 
virtual iTextureGetCookieTexture () const =0
 Get the cookie texture attached to the light. {Property}. More...
 
virtual void SetCookieMatrix (const sMatrixf &aMatrix)=0
 Set the cookie space matrix. {Property}. More...
 
virtual sMatrixf GetCookieMatrix () const =0
 Get the cookie space matrix. {Property}. More...
 

Shadows

virtual void SetShadowColor (sColor3f aColor)=0
 Set the light's shadow color. {Property}. More...
 
virtual const sColor3fGetShadowColor () const =0
 Get the light's shadow color. {Property}. More...
 
virtual void SetShadowMapSize (tU32 anSize)=0
 Set the shadow map size. (Default:512) {Property}. More...
 
virtual tU32 GetShadowMapSize () const =0
 Get the shadow map size. {Property}. More...
 
virtual void SetShadowMapBias (tF32 afBias)=0
 Set the shadow map bias. (Default:-0.005) {Property}. More...
 
virtual tF32 GetShadowMapBias () const =0
 Get the shadow map bias. {Property}. More...
 
virtual void SetShadowMapBlur (tF32 afBlur)=0
 Set the shadow map blur. (Default:3.0) {Property}. More...
 
virtual tF32 GetShadowMapBlur () const =0
 Get the shadow map blur. {Property}. More...
 
virtual void SetShadowMapFov (tF32 afFov)=0
 Set the shadow map fov. (Default:0) {Property}. More...
 
virtual tF32 GetShadowMapFov () const =0
 Get the shadow map fov. {Property}. More...
 
virtual void SetShadowMapNearFarBias (const sVec3f &avNearFarBias)=0
 Set the shadow map near/far/bias parameter. {Property}. More...
 
virtual sVec3f GetShadowMapNearFarBias () const =0
 Get the shadow map near/far/bias parameter. {Property}. More...
 
virtual void SetShadowFilter (eLightShadowFilter aFilter)=0
 Set the shadow filter. {Property}. More...
 
virtual eLightShadowFilter GetShadowFilter () const =0
 Get the shadow filter. {Property}. More...
 
virtual void SetShadowMapMatrix (const sMatrixf &aShadowMapMatrix)=0
 Set the shadow map space matrix. {Property}. More...
 
virtual sMatrixf GetShadowMapMatrix () const =0
 Get the shadow map space matrix. {Property}. More...
 
virtual tBool SetShadowMapTexture (iTexture *apTexture)=0
 Set the shadow map texture attached to the light. {Property}. More...
 
virtual iTextureGetShadowMapTexture () const =0
 Get the shadow map texture attached to the light. {Property}. More...
 

Spot light

virtual void SetSpotInner (tF32 afAngle)=0
 Set the inner cone, in radians. {Property}. More...
 
virtual tF32 GetSpotInner () const =0
 Get the inner cone. {Property}. More...
 
virtual void SetSpotOuter (tF32 afAngle)=0
 Set the outer cone, in radians. {Property}. More...
 
virtual tF32 GetSpotOuter () const =0
 Get the outer cone. {Property}. More...
 

Physical based lighting

virtual tBool SetIBLDiffuse (iHString *ahspIBLDiffuse)=0
 Set the IBLDiffuse texture name. {Property}. More...
 
virtual iHStringGetIBLDiffuse () const =0
 Get the IBLDiffuse texture. {Property}. More...
 
virtual tBool SetIBLDiffuseTexture (iTexture *apTexture)=0
 Set the IBLDiffuse texture attached to the light. {Property}. More...
 
virtual iTextureGetIBLDiffuseTexture () const =0
 Get the IBLDiffuse texture attached to the light. {Property}. More...
 
virtual tBool SetIBLSpecular (iHString *ahspIBLSpecular)=0
 Set the IBLSpecular texture name. {Property}. More...
 
virtual iHStringGetIBLSpecular () const =0
 Get the IBLSpecular texture. {Property}. More...
 
virtual tBool SetIBLSpecularTexture (iTexture *apTexture)=0
 Set the IBLSpecular texture attached to the light. {Property}. More...
 
virtual iTextureGetIBLSpecularTexture () const =0
 Get the IBLSpecular texture attached to the light. {Property}. More...
 
virtual tBool SetIESProfile (iHString *ahspIESProfile)=0
 Set the IESProfile texture name. {Property}. More...
 
virtual iHStringGetIESProfile () const =0
 Get the IESProfile texture. {Property}. More...
 
virtual tBool SetIESProfileTexture (iTexture *apTexture)=0
 Set the IESProfile texture attached to the light. {Property}. More...
 
virtual iTextureGetIESProfileTexture () const =0
 Get the IESProfile texture attached to the light. {Property}. More...
 

Culling and DrawSets

virtual void SetIsLightCulled (ni::tBool abCulled)=0
 Set whether the light has been culled (is not visible). {Property}. More...
 
virtual ni::tBool GetIsLightCulled () const =0
 Get whether the light has been culled (is not visible). {Property}. More...
 
virtual ni::tBool SetLightDrawSet (iPainterDrawSet *apDrawSet)=0
 Set the painter light's light draw set. {Property}. More...
 
virtual iPainterDrawSetGetLightDrawSet () const =0
 Get the painter light's light draw set. {Property}. More...
 
virtual ni::tBool SetShadowDrawSet (iPainterDrawSet *apDrawSet)=0
 Set the painter light's shadow draw set. {Property}. More...
 
virtual iPainterDrawSetGetShadowDrawSet () const =0
 Get the painter light's shadow draw set. {Property}. More...
 
virtual void SetLightPriority (ni::tU32 anPriority)=0
 Set the light's priority. More...
 
virtual ni::tU32 GetLightPriority () const =0
 Get the light's priority. {Property}. More...
 

Additional Inherited Members

- Public Member Functions inherited from iUnknown
virtual tBool IsOK () const =0
 Check if the object is valid. More...
 
virtual tI32 AddRef ()=0
 Signal that one more reference of the object has been created. More...
 
virtual tI32 Release ()=0
 Release a reference of the object. More...
 
virtual void DeleteThis ()=0
 Bypass any reference counting and delete this object. More...
 
virtual void Invalidate ()=0
 Invalidate the object. More...
 
virtual iUnknownQueryInterface (const tUUID &aIID)=0
 Query an interface. More...
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0
 Fill a UUID list containing the UUIDs of the implemented interfaces. More...
 
virtual tI32 SetNumRefs (tI32 anNumRefs)=0
 Set the reference counter directly. More...
 
virtual tI32 GetNumRefs () const =0
 Get the number of references to this object. More...
 

Member Function Documentation

virtual tPtr GetDescStructPtr ( ) const
pure virtual

Get the material description structure pointer. {Property}.

virtual void SetName ( iHString aName)
pure virtual

Set the light name. {Property}.

virtual iHString* GetName ( ) const
pure virtual

Get the light name. {Property}.

virtual void SetType ( eLightType  aType)
pure virtual

Set the light type. {Property}.

virtual eLightType GetType ( ) const
pure virtual

Get the light type. {Property}.

virtual iPainterLight* Clone ( ) const
pure virtual

Create a copy of this light.

virtual iFrustum* GetFrustum ( ) const
pure virtual

Get the light's frustum. {Property}.

virtual iBoundingVolume* GetBoundingVolume ( ) const
pure virtual

Get the bounding volume of the light. {Property}.

virtual iTransform* GetTransform ( ) const
pure virtual

Get the tranform of the light. {Property}.

virtual tBool SerializeDataTable ( iDataTable apDT,
tSerializeFlags  aFlags 
)
pure virtual

Serialize the light in a data table.

virtual tLightFlags GetFlags ( ) const
pure virtual

Get the light flags. {Property}.

virtual void SetFlags ( tLightFlags  aFlags)
pure virtual

Set the light flags. {Property}.

virtual void SetSyncCounter ( tU16  anSync)
pure virtual

Set the synchronization counter. {Property}.

virtual tU16 GetSyncCounter ( ) const
pure virtual

Get the synchronization counter. {Property}.

virtual void SetIntensity ( tF32  afI)
pure virtual

Set the global light intensity.

Remarks
This just modulate the diffuse and specular color. {Property}
virtual tF32 GetIntensity ( ) const
pure virtual

Get the global light intensity. {Property}.

virtual void SetDiffuseColor ( const sColor3f col)
pure virtual

Set the diffuse color. {Property}.

virtual const sColor3f& GetDiffuseColor ( ) const
pure virtual

Get the diffuse color. {Property}.

virtual void SetSpecularColor ( const sColor3f col)
pure virtual

Set the specular color. {Property}.

virtual const sColor3f& GetSpecularColor ( ) const
pure virtual

Get the specular color. {Property}.

virtual void SetCosineBias ( tF32  afBias)
pure virtual

Set the cosine weighted bias.

Remarks
This depend of the BRDF of the surface. For a phong BRDF it'll be N.L+bias. {Property}
virtual tF32 GetCosineBias ( ) const
pure virtual

Get the N.L bias. {Property}.

virtual void SetRange ( tF32  afRange)
pure virtual

Set the light's range. {Property}.

Remarks
Used to size the bounding volume, the attenuation range and the shadow map's maximum depth.
virtual tF32 GetRange ( ) const
pure virtual

Get the light's range. {Property}.

virtual void SetNearClipPlane ( tF32  afNearClipPlane)
pure virtual

Set the light's near clip plane. {Property}.

Remarks
Used as the shadow map's near clip plane and when the light is used as a camera.
virtual tF32 GetNearClipPlane ( ) const
pure virtual

Get the light's near clip plane. {Property}.

virtual void SetFarClipPlane ( tF32  afFarClipPlane)
pure virtual

Set the light's far clip plane. {Property}.

Remarks
Used as the shadow map's far clip plane and when the light is used as a camera. If set to zero use the light's range.
virtual tF32 GetFarClipPlane ( ) const
pure virtual

Get the light's far clip plane. {Property}.

virtual tBool SetCookie ( iHString ahspCookie)
pure virtual

Set the cookie texture name.

Remarks
Try to get the cookie from the texture manager when set.
Returns
eFalse if the texture is invalid or that it can't be used with the light type. {Property}
virtual iHString* GetCookie ( ) const
pure virtual

Get the cookie texture. {Property}.

virtual tBool SetCookieTexture ( iTexture apTexture)
pure virtual

Set the cookie texture attached to the light. {Property}.

virtual iTexture* GetCookieTexture ( ) const
pure virtual

Get the cookie texture attached to the light. {Property}.

virtual void SetCookieMatrix ( const sMatrixf aMatrix)
pure virtual

Set the cookie space matrix. {Property}.

virtual sMatrixf GetCookieMatrix ( ) const
pure virtual

Get the cookie space matrix. {Property}.

virtual void SetShadowColor ( sColor3f  aColor)
pure virtual

Set the light's shadow color. {Property}.

virtual const sColor3f& GetShadowColor ( ) const
pure virtual

Get the light's shadow color. {Property}.

virtual void SetShadowMapSize ( tU32  anSize)
pure virtual

Set the shadow map size. (Default:512) {Property}.

virtual tU32 GetShadowMapSize ( ) const
pure virtual

Get the shadow map size. {Property}.

virtual void SetShadowMapBias ( tF32  afBias)
pure virtual

Set the shadow map bias. (Default:-0.005) {Property}.

virtual tF32 GetShadowMapBias ( ) const
pure virtual

Get the shadow map bias. {Property}.

virtual void SetShadowMapBlur ( tF32  afBlur)
pure virtual

Set the shadow map blur. (Default:3.0) {Property}.

virtual tF32 GetShadowMapBlur ( ) const
pure virtual

Get the shadow map blur. {Property}.

virtual void SetShadowMapFov ( tF32  afFov)
pure virtual

Set the shadow map fov. (Default:0) {Property}.

Remarks
If set to zero use the light's spot outer radius.
virtual tF32 GetShadowMapFov ( ) const
pure virtual

Get the shadow map fov. {Property}.

virtual void SetShadowMapNearFarBias ( const sVec3f avNearFarBias)
pure virtual

Set the shadow map near/far/bias parameter. {Property}.

Remarks
This should be set by the shadow map preparation process at the same time as the shadow map matrix. The near and far planes can be different from NearClipPlane and Range when the shadow map is tightened around the drawn geometry.
virtual sVec3f GetShadowMapNearFarBias ( ) const
pure virtual

Get the shadow map near/far/bias parameter. {Property}.

virtual void SetShadowFilter ( eLightShadowFilter  aFilter)
pure virtual

Set the shadow filter. {Property}.

virtual eLightShadowFilter GetShadowFilter ( ) const
pure virtual

Get the shadow filter. {Property}.

virtual void SetShadowMapMatrix ( const sMatrixf aShadowMapMatrix)
pure virtual

Set the shadow map space matrix. {Property}.

virtual sMatrixf GetShadowMapMatrix ( ) const
pure virtual

Get the shadow map space matrix. {Property}.

virtual tBool SetShadowMapTexture ( iTexture apTexture)
pure virtual

Set the shadow map texture attached to the light. {Property}.

virtual iTexture* GetShadowMapTexture ( ) const
pure virtual

Get the shadow map texture attached to the light. {Property}.

virtual void SetSpotInner ( tF32  afAngle)
pure virtual

Set the inner cone, in radians. {Property}.

virtual tF32 GetSpotInner ( ) const
pure virtual

Get the inner cone. {Property}.

virtual void SetSpotOuter ( tF32  afAngle)
pure virtual

Set the outer cone, in radians. {Property}.

virtual tF32 GetSpotOuter ( ) const
pure virtual

Get the outer cone. {Property}.

virtual tBool SetIBLDiffuse ( iHString ahspIBLDiffuse)
pure virtual

Set the IBLDiffuse texture name. {Property}.

virtual iHString* GetIBLDiffuse ( ) const
pure virtual

Get the IBLDiffuse texture. {Property}.

virtual tBool SetIBLDiffuseTexture ( iTexture apTexture)
pure virtual

Set the IBLDiffuse texture attached to the light. {Property}.

virtual iTexture* GetIBLDiffuseTexture ( ) const
pure virtual

Get the IBLDiffuse texture attached to the light. {Property}.

virtual tBool SetIBLSpecular ( iHString ahspIBLSpecular)
pure virtual

Set the IBLSpecular texture name. {Property}.

virtual iHString* GetIBLSpecular ( ) const
pure virtual

Get the IBLSpecular texture. {Property}.

virtual tBool SetIBLSpecularTexture ( iTexture apTexture)
pure virtual

Set the IBLSpecular texture attached to the light. {Property}.

virtual iTexture* GetIBLSpecularTexture ( ) const
pure virtual

Get the IBLSpecular texture attached to the light. {Property}.

virtual tBool SetIESProfile ( iHString ahspIESProfile)
pure virtual

Set the IESProfile texture name. {Property}.

virtual iHString* GetIESProfile ( ) const
pure virtual

Get the IESProfile texture. {Property}.

virtual tBool SetIESProfileTexture ( iTexture apTexture)
pure virtual

Set the IESProfile texture attached to the light. {Property}.

virtual iTexture* GetIESProfileTexture ( ) const
pure virtual

Get the IESProfile texture attached to the light. {Property}.

virtual void SetIsLightCulled ( ni::tBool  abCulled)
pure virtual

Set whether the light has been culled (is not visible). {Property}.

Remarks
This method is usually called automatically by the painter drawing method.
virtual ni::tBool GetIsLightCulled ( ) const
pure virtual

Get whether the light has been culled (is not visible). {Property}.

Remarks
This method is usually called automatically by the painter drawing method.
virtual ni::tBool SetLightDrawSet ( iPainterDrawSet apDrawSet)
pure virtual

Set the painter light's light draw set. {Property}.

virtual iPainterDrawSet* GetLightDrawSet ( ) const
pure virtual

Get the painter light's light draw set. {Property}.

virtual ni::tBool SetShadowDrawSet ( iPainterDrawSet apDrawSet)
pure virtual

Set the painter light's shadow draw set. {Property}.

virtual iPainterDrawSet* GetShadowDrawSet ( ) const
pure virtual

Get the painter light's shadow draw set. {Property}.

virtual void SetLightPriority ( ni::tU32  anPriority)
pure virtual

Set the light's priority.

Remarks
Higher priority lights are rendered before the lower priority ones. {Property}
virtual ni::tU32 GetLightPriority ( ) const
pure virtual

Get the light's priority. {Property}.