##########
ISoftLight
##########

.. cpp:namespace:: RED::ISoftLight

.. default-domain:: cpp

Functions
=========

==================================== ==============================================================================================================================================================================================================================================================================================================================================
:doc:`classRED_1_1CID`               :cpp:func:`GetClassID <static RED::CID RED::ISoftLight::GetClassID()>`                                                                                                                                                                                                                                                                        
:doc:`classRED_1_1Object` *          :cpp:func:`GetShape <virtual RED::Object * RED::ISoftLight::GetShape() const =0>`                                                                                                                                                                                                                                                             
bool                                 :cpp:func:`IsSkyLight <virtual bool RED::ISoftLight::IsSkyLight(bool *oHemispherical=NULL) const =0>`                                                                                                                                                                                                                                         
void                                 :cpp:func:`GetDiffuseIntensity <virtual void RED::ISoftLight::GetDiffuseIntensity(double oDiffuse[4]) const =0>`                                                                                                                                                                                                                              
void                                 :cpp:func:`GetSpecularIntensity <virtual void RED::ISoftLight::GetSpecularIntensity(double oSpecular[4]) const =0>`                                                                                                                                                                                                                           
bool                                 :cpp:func:`GetAttenuation <virtual bool RED::ISoftLight::GetAttenuation(double oAttenuation[4], int iThreadID) const =0>`                                                                                                                                                                                                                     
bool                                 :cpp:func:`GetVolumeAttenuation <virtual bool RED::ISoftLight::GetVolumeAttenuation(double oAttenuation[4], const double *iPoint) const =0>`                                                                                                                                                                                                  
bool                                 :cpp:func:`NeedSampling <virtual bool RED::ISoftLight::NeedSampling() const =0>`                                                                                                                                                                                                                                                              
void                                 :cpp:func:`GetWCSLightPos <virtual void RED::ISoftLight::GetWCSLightPos(double oLightPos[4]) const =0>`                                                                                                                                                                                                                                       
void                                 :cpp:func:`GetWCSLightDir <virtual void RED::ISoftLight::GetWCSLightDir(double oDirection[4]) const =0>`                                                                                                                                                                                                                                      
void                                 :cpp:func:`GetWCSLightDir <virtual void RED::ISoftLight::GetWCSLightDir(double oDirection[4], const double *iPoint, const double *iSample) const =0>`                                                                                                                                                                                         
void                                 :cpp:func:`GetWCSBoundingSphere <virtual void RED::ISoftLight::GetWCSBoundingSphere(double oPosition[4], double &oRadius2) const =0>`                                                                                                                                                                                                         
unsigned int                         :cpp:func:`GetSamplesCount <virtual unsigned int RED::ISoftLight::GetSamplesCount() const =0>`                                                                                                                                                                                                                                                
unsigned int                         :cpp:func:`GetSeed <virtual unsigned int RED::ISoftLight::GetSeed() const =0>`                                                                                                                                                                                                                                                                
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetNextWCSSample <virtual RED_RC RED::ISoftLight::GetNextWCSSample(bool &oCompleted, double oLightDirection[4], double oLightColor[4], double oShadowColor[4], const double iPosition[4], const double iNormal[4], const RED::ISoftRayContext &iRayContext, const RED::ISoftRenderingContext &iRenderingContext) const =0>`        
:cpp:enumerator:`~RED_RC`            :cpp:func:`GetWCSSample <virtual RED_RC RED::ISoftLight::GetWCSSample(double oLightDirection[4], double oLightColor[4], double oShadowColor[4], double &oPDF, const double iPosition[4], const double iNormal[4], double iSample[2], const RED::ISoftRayContext &iRayContext, const RED::ISoftRenderingContext &iRenderingContext) const =0>` 
int                                  :cpp:func:`GetRenderMode <virtual int RED::ISoftLight::GetRenderMode(RENDER_MODE iMode) const =0>`                                                                                                                                                                                                                                            
const :doc:`classRED_1_1Color` &     :cpp:func:`GetShadowColor <virtual const Color & RED::ISoftLight::GetShadowColor() const =0>`                                                                                                                                                                                                                                                 
double                               :cpp:func:`GetShadowBias <virtual double RED::ISoftLight::GetShadowBias() const =0>`                                                                                                                                                                                                                                                          
const :doc:`classRED_1_1LayerSet` &  :cpp:func:`GetLayerSetLit <virtual const RED::LayerSet & RED::ISoftLight::GetLayerSetLit() const =0>`                                                                                                                                                                                                                                         
const :doc:`classRED_1_1LayerSet` &  :cpp:func:`GetLayerSetShadowCaster <virtual const RED::LayerSet & RED::ISoftLight::GetLayerSetShadowCaster() const =0>`                                                                                                                                                                                                                       
const :doc:`classRED_1_1LayerSet` &  :cpp:func:`GetLayerSetShadowReceiver <virtual const RED::LayerSet & RED::ISoftLight::GetLayerSetShadowReceiver() const =0>`                                                                                                                                                                                                                   
:cpp:enumerator:`~RED::LIGHT_TYPE`   :cpp:func:`GetLightType <virtual RED::LIGHT_TYPE RED::ISoftLight::GetLightType() const =0>`                                                                                                                                                                                                                                                   
double                               :cpp:func:`GetSpotAngle <virtual double RED::ISoftLight::GetSpotAngle() const =0>`                                                                                                                                                                                                                                                            
double                               :cpp:func:`GetSpotFallOff <virtual double RED::ISoftLight::GetSpotFallOff() const =0>`                                                                                                                                                                                                                                                        
double                               :cpp:func:`GetEffectDistance <virtual double RED::ISoftLight::GetEffectDistance() const =0>`                                                                                                                                                                                                                                                  
double                               :cpp:func:`GetBeamInnerRadius <virtual double RED::ISoftLight::GetBeamInnerRadius() const =0>`                                                                                                                                                                                                                                                
double                               :cpp:func:`GetBeamOuterRadius <virtual double RED::ISoftLight::GetBeamOuterRadius() const =0>`                                                                                                                                                                                                                                                
==================================== ==============================================================================================================================================================================================================================================================================================================================================

.. cpp:namespace:: nullptr

Detailed Description
====================

.. doxygenclass:: RED::ISoftLight
   :project: RED
   :members:
   :undoc-members:



