HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RE_Light Class Reference

#include <RE_Light.h>

Public Types

enum  RE_HQLightType {
  HQLIGHT_AMBIENT, HQLIGHT_DIR, HQLIGHT_ENV, HQLIGHT_POINT,
  HQLIGHT_SPOT, HQLIGHT_AREA, HQLIGHT_AREA_SPOT, NUM_HQLIGHT_TYPES
}
 

Public Member Functions

 RE_Light (const char *n=nullptr)
 
virtual ~RE_Light ()
 
const char * getName () const
 
void setName (const char *name)
 
void enable (bool e)
 
bool isEnabled () const
 
bool isLightContributing () const
 
void setHeadlight (bool hl)
 
bool isHeadlight () const
 
const UT_Vector3getPosition () const
 
void setPosition (const UT_Vector3 &p)
 
const UT_Vector3getDirection () const
 
void setDirection (const UT_Vector3 &d)
 
void setOrientation (const UT_Matrix3 &orient)
 
const UT_Matrix3getOrientation ()
 
const UT_Vector3FgetColor () const
 
UT_Vector3getColor ()
 
void setColor (const UT_Vector3 &c)
 
void setIntensity (float i)
 
float getIntensity () const
 
const UT_Matrix4getTransform () const
 
UT_Matrix4getTransform ()
 
void setTransform (const UT_Matrix4 &m)
 
const UT_BoundingBoxFgetIlluminationBounds ()
 
int isCone () const
 
int isInfinite () const
 
int isAmbient () const
 
int isMapProjector () const
 
bool isEnvironmentLight () const
 
bool isPortalLight () const
 
bool isGlobalIllumination () const
 
bool isAreaLight () const
 
UT_Vector3 getAreaAxes () const
 
UT_Matrix4 getAreaTransform () const
 
float getSurfaceArea () const
 
RE_LightAreaShape getAreaShape () const
 
bool isAreaSingleSided () const
 
bool isAreaSingleSideReversed () const
 
int isDiffuse () const
 
int isSpecular () const
 
bool isShadowed () const
 
virtual int64 getVersion () const
 
int64 getEmitVersion () const
 
virtual int getUniqueId () const
 
void setInfinite (int onoff)
 
void setAmbient (int onoff)
 
void setCone (int onoff)
 
void setArea (bool onoff)
 
void setEnvironment (bool onoff)
 
void setPortal (bool onoff)
 
void setGlobalIllumination (bool onoff)
 
void setAreaShape (RE_LightAreaShape shape)
 
void setAreaAxes (const UT_Vector3F &axes)
 
void setAreaTransform (UT_Matrix4 t)
 
void setAreaSide (bool single, bool reverse)
 
void setAreaSamplePoints (const UT_Vector3FArray &pos, const UT_Vector3FArray &dir)
 
void buildAreaShape (int numsample)
 
void setSurfaceArea (float area)
 
void setDiffuse (int onoff)
 
void setSpecular (int onoff)
 
void setConeAttrib (float a=45, float d=10, float r=1)
 
float getConeAngle () const
 
float getConeDelta () const
 
float getConeRoll () const
 
void setAttenuation (float constant, float linear, float quadratic)
 
void getAttenuation (float atten[3]) const
 
void setAttenuationRange (float near_dist, float far_dist)
 
void getAttenuationRange (float range[2]) const
 
void setAttenuationRamp (const UT_Ramp *ramp, float start_dist, float end_dist)
 
RE_TexturegetAttenuationRamp (RE_Render *r)
 
void getAttenuationRampRange (float range[2]) const
 
void setShadowed (bool onoff)
 
void setShadowIntensity (float i)
 
void setShadowBias (float b)
 
void setShadowBlur (float b)
 
void setShadowQuality (float q)
 
void setLightShadowMapSize (int s)
 
void setShadowMapSize (int s)
 
void setShadowMask (const char *m)
 
void setLinearShadowMap (bool linear)
 
void setViewFrustum (UT_Vector3FArray &pnts, UT_Vector3F &cam)
 
void setSceneBounds (const UT_BoundingBox &scene)
 
float getShadowIntensity () const
 
float getShadowBias () const
 
float getShadowBlur () const
 
float getShadowQuality () const
 
int getShadowMapSize () const
 
int getLightShadowMapSize () const
 
int getNumAreaMaps () const
 
const UT_StringRefgetShadowMask () const
 
bool getLinearShadowMap () const
 
void getShadowZRange (fpreal &n, fpreal &f)
 
RE_TexturegetShadowMap (int area_index=0)
 
void setMultiMap (bool m)
 
bool beginShadowRender (RE_Render *r, RE_TextureCubeFace face=RE_TEXTURE_CUBE_POS_X, int area_index=0)
 
void endShadowRender (RE_Render *r, RE_TextureCubeFace face=RE_TEXTURE_CUBE_POS_X, int area_index=0)
 
void setShadowMapVersion (uint64 version)
 
int64 getShadowMapVersion () const
 
void setShadowMapTime (fpreal t)
 
fpreal getShadowMapTime () const
 
void setZoom (float z)
 
void setFocalLength (float focal)
 
void setAperture (float aper)
 
void setOrthoWidth (float width)
 
void setNearDistance (float znear)
 
void setFarDistance (float zfar)
 
void setLeftBarn (float amount, float falloff)
 
void setRightBarn (float amount, float falloff)
 
void setTopBarn (float amount, float falloff)
 
void setBottomBarn (float amount, float falloff)
 
void setFogScatter (float para, fpreal perp)
 
void setFogIntensity (float intensity)
 
float getZoom () const
 
float getFocalLength () const
 
float getAperture () const
 
float getOrthoWidth () const
 
float getNearDistance () const
 
float getFarDistance () const
 
float getFogIntensity () const
 
float getFogScatterPara () const
 
float getFogScatterPerp () const
 
int64 getLightVersion () const
 
void bumpLightVersion ()
 
int getConeTextureIndex () const
 
void setConeTextureIndex (int idx)
 
void setProjectMap (const char *name, const char *relativeTo)
 
void setProjectMapClamp (int onoff)
 
void setProjectMapFormat (RE_TextureCompress format)
 
void setProjectMapScale (float sc, bool limitres, int maxw, int maxh)
 
void setProjectMapMipmap (bool onoff)
 
void setProjectMapAnisotropy (int samples)
 
RE_Texture2DMapgetProjectMap (RE_Render *r)
 
void setEnvironmentMap (const char *name, const char *relativeTo)
 
void setEnvironmentFormat (RE_TextureCompress format)
 
void setEnvironmentMipmap (bool onoff)
 
void setEnvironmentCone (float angle)
 
RE_TextureHolder getEnvironmentMap (RE_Render *r, int max_width)
 
float getEnvironmentCone () const
 
void updateBasicLighting (RE_Render *r, RE_Shader *sh, int index)
 
void updateHQLighting (RE_Render *r, RE_Shader *sh)
 
void updateAreaLighting (RE_Render *r, RE_Shader *sh)
 
void updateShadow (RE_Render *r, RE_Shader *sh)
 
void updateBasicBlock (RE_UniformBlock *lighting_block, int light_index, const char *light_prefix)
 
void updateHQLightingBlock (RE_Render *r, RE_UniformBlock *block, int light_index, const char *light_prefix) const
 
void updateAreaLightingBlock (RE_Render *r, RE_UniformBlock *block, int light_index, const char *light_pref) const
 
RE_ShadowMapgetShadowMap ()
 Accessor to underlaying shadow map object Each light may have a shadow map object. Turning off shadows on the light will delete the map, so do not cache the pointer. If a shadow map does not exist, this will create a new one. More...
 
RE_HQLightType hqLightType () const
 
void setLightBatchID (int id, int index)
 
int getLightBatchID ()
 
int getLightBatchIndex ()
 
void setLightLink (const UT_StringRef &link)
 
const UT_StringRefgetLightLink () const
 
void attachUserData (RE_LightData *data, int index)
 Allows data, like shadow maps, to be stored with the light Attaching data to the light gives it ownership, meaning that it will be deleted when the light is deleted, or when a different data chunk is assigned to the same index. To avoid it being deleted, detach the chunk. More...
 
RE_LightDatadetachUserData (int index)
 Allows data, like shadow maps, to be stored with the light Attaching data to the light gives it ownership, meaning that it will be deleted when the light is deleted, or when a different data chunk is assigned to the same index. To avoid it being deleted, detach the chunk. More...
 
RE_LightDatagetAttachedUserData (int index) const
 Allows data, like shadow maps, to be stored with the light Attaching data to the light gives it ownership, meaning that it will be deleted when the light is deleted, or when a different data chunk is assigned to the same index. To avoid it being deleted, detach the chunk. More...
 

Static Public Member Functions

static void clearLight (RE_Shader *sh, int index)
 

Protected Member Functions

void invalidateShadowMap (bool purge_map=false)
 
void createEnvMap ()
 
void getAreaLightProjection (UT_Matrix4 &mat) const
 

Protected Attributes

int myGLConeTextureIndex
 
unsigned myContribDiff:1
 
unsigned myContribSpec:1
 
unsigned myUseShadows:1
 
unsigned myAreaSingleSided:1
 
unsigned myAreaSingleReverse:1
 
unsigned myBBoxDirty: 1
 
RE_LightFlag flag
 
UT_StringHolder myName
 
UT_StringHolder myLightLink
 
UT_Vector3 myPos
 
UT_Vector3 myDir
 
UT_Vector3 myColor
 
UT_Matrix3 myOrientation
 
UT_Matrix4 myTransform
 
float myIntensity
 
float myConeAngle
 
float myConeDelta
 
float myConeRoll
 
float myAperture
 
float myFocalLength
 
float myOrthoWidth
 
float myNearDist
 
float myFarDist
 
float myZoom
 
float myAtten [3]
 
float myAttenRange [2]
 
float myMaxLightRadius
 
RE_Texture2DMapprojectMap
 
RE_TextureCubeMapmyEnvMap
 
float myEnvCone
 
int myMaxEnvMapSize
 
UT_String myProjectMapName
 
UT_String myProjectMapRelativeTo
 
bool myProjectMapLimit
 
int myProjectMapMaxW
 
int myProjectMapMaxH
 
float myProjectMapScale
 
RE_TextureCompress myProjectMapFormat
 
int myAnisotropySamples
 
float myShadowIntensity
 
float myShadowBias
 
float myShadowBlur
 
float myShadowQuality
 
int myShadowMapSize
 
UT_StringHolder myShadowMask
 
int myLightShadowMapSize
 
RE_LightAreaShape myAreaLightShape
 
UT_Vector2F myLeftBarn
 
UT_Vector2F myRightBarn
 
UT_Vector2F myTopBarn
 
UT_Vector2F myBottomBarn
 
RE_ShadowMapmyShadowMap
 
RE_TexturemyAttenMap
 
UT_RampmyAttenRamp
 
float myAttenRampStart
 
float myAttenRampEnd
 
bool myAttenRampDirty
 
UT_Vector3 myAreaAxes
 
float mySurfaceArea
 
UT_Matrix4 myAreaTransform
 
UT_Vector3FArray myAreaPos
 
UT_Vector3FArray myAreaDir
 
bool myAreaDirty
 
float myFogIntensity
 
float myFogScatterPara
 
float myFogScatterPerp
 
int64 myLightVersion
 
int64 myEmitSerial
 
int myBatchID
 
int myBatchIndex
 
UT_Array< RE_LightData * > myAttachedLightData
 
UT_BoundingBoxF myBBox
 
RE_UniformBlockHandle myBasicLightingBlock
 
RE_UniformBlockHandle myHighQualityBlock
 
RE_UniformBlockHandle myShadowBlock
 
RE_UniformBlockHandle myAreaBlock
 

Detailed Description

Definition at line 93 of file RE_Light.h.

Member Enumeration Documentation

Enumerator
HQLIGHT_AMBIENT 
HQLIGHT_DIR 
HQLIGHT_ENV 
HQLIGHT_POINT 
HQLIGHT_SPOT 
HQLIGHT_AREA 
HQLIGHT_AREA_SPOT 
NUM_HQLIGHT_TYPES 

Definition at line 373 of file RE_Light.h.

Constructor & Destructor Documentation

RE_Light::RE_Light ( const char *  n = nullptr)
virtual RE_Light::~RE_Light ( )
virtual

Member Function Documentation

void RE_Light::attachUserData ( RE_LightData data,
int  index 
)

Allows data, like shadow maps, to be stored with the light Attaching data to the light gives it ownership, meaning that it will be deleted when the light is deleted, or when a different data chunk is assigned to the same index. To avoid it being deleted, detach the chunk.

bool RE_Light::beginShadowRender ( RE_Render r,
RE_TextureCubeFace  face = RE_TEXTURE_CUBE_POS_X,
int  area_index = 0 
)
void RE_Light::buildAreaShape ( int  numsample)
void RE_Light::bumpLightVersion ( )
inline

Definition at line 304 of file RE_Light.h.

static void RE_Light::clearLight ( RE_Shader sh,
int  index 
)
static
void RE_Light::createEnvMap ( )
protected
RE_LightData* RE_Light::detachUserData ( int  index)

Allows data, like shadow maps, to be stored with the light Attaching data to the light gives it ownership, meaning that it will be deleted when the light is deleted, or when a different data chunk is assigned to the same index. To avoid it being deleted, detach the chunk.

void RE_Light::enable ( bool  e)
inline

Definition at line 102 of file RE_Light.h.

void RE_Light::endShadowRender ( RE_Render r,
RE_TextureCubeFace  face = RE_TEXTURE_CUBE_POS_X,
int  area_index = 0 
)
float RE_Light::getAperture ( ) const
inline

Definition at line 295 of file RE_Light.h.

UT_Vector3 RE_Light::getAreaAxes ( ) const
inline

Definition at line 151 of file RE_Light.h.

void RE_Light::getAreaLightProjection ( UT_Matrix4 mat) const
protected
RE_LightAreaShape RE_Light::getAreaShape ( ) const
inline

Definition at line 154 of file RE_Light.h.

UT_Matrix4 RE_Light::getAreaTransform ( ) const
inline

Definition at line 152 of file RE_Light.h.

RE_LightData* RE_Light::getAttachedUserData ( int  index) const

Allows data, like shadow maps, to be stored with the light Attaching data to the light gives it ownership, meaning that it will be deleted when the light is deleted, or when a different data chunk is assigned to the same index. To avoid it being deleted, detach the chunk.

void RE_Light::getAttenuation ( float  atten[3]) const
inline

Definition at line 214 of file RE_Light.h.

RE_Texture* RE_Light::getAttenuationRamp ( RE_Render r)
void RE_Light::getAttenuationRampRange ( float  range[2]) const
inline

Definition at line 226 of file RE_Light.h.

void RE_Light::getAttenuationRange ( float  range[2]) const
inline

Definition at line 219 of file RE_Light.h.

const UT_Vector3F& RE_Light::getColor ( ) const
inline

Definition at line 125 of file RE_Light.h.

UT_Vector3& RE_Light::getColor ( )
inline

Definition at line 126 of file RE_Light.h.

float RE_Light::getConeAngle ( ) const
inline

Definition at line 206 of file RE_Light.h.

float RE_Light::getConeDelta ( ) const
inline

Definition at line 207 of file RE_Light.h.

float RE_Light::getConeRoll ( ) const
inline

Definition at line 208 of file RE_Light.h.

int RE_Light::getConeTextureIndex ( ) const
inline

Definition at line 306 of file RE_Light.h.

const UT_Vector3& RE_Light::getDirection ( ) const
inline

Definition at line 116 of file RE_Light.h.

int64 RE_Light::getEmitVersion ( ) const
inline

Definition at line 167 of file RE_Light.h.

float RE_Light::getEnvironmentCone ( ) const
inline

Definition at line 656 of file RE_Light.h.

RE_TextureHolder RE_Light::getEnvironmentMap ( RE_Render r,
int  max_width 
)
float RE_Light::getFarDistance ( ) const
inline

Definition at line 298 of file RE_Light.h.

float RE_Light::getFocalLength ( ) const
inline

Definition at line 294 of file RE_Light.h.

float RE_Light::getFogIntensity ( ) const
inline

Definition at line 299 of file RE_Light.h.

float RE_Light::getFogScatterPara ( ) const
inline

Definition at line 300 of file RE_Light.h.

float RE_Light::getFogScatterPerp ( ) const
inline

Definition at line 301 of file RE_Light.h.

const UT_BoundingBoxF& RE_Light::getIlluminationBounds ( )
float RE_Light::getIntensity ( ) const
inline

Definition at line 130 of file RE_Light.h.

int RE_Light::getLightBatchID ( )
inline

Definition at line 389 of file RE_Light.h.

int RE_Light::getLightBatchIndex ( )
inline

Definition at line 390 of file RE_Light.h.

const UT_StringRef& RE_Light::getLightLink ( ) const
inline

Definition at line 394 of file RE_Light.h.

int RE_Light::getLightShadowMapSize ( ) const
inline

Definition at line 249 of file RE_Light.h.

int64 RE_Light::getLightVersion ( ) const
inline

Definition at line 303 of file RE_Light.h.

bool RE_Light::getLinearShadowMap ( ) const
const char* RE_Light::getName ( ) const
inline

Definition at line 99 of file RE_Light.h.

float RE_Light::getNearDistance ( ) const
inline

Definition at line 297 of file RE_Light.h.

int RE_Light::getNumAreaMaps ( ) const
const UT_Matrix3& RE_Light::getOrientation ( )
inline

Definition at line 123 of file RE_Light.h.

float RE_Light::getOrthoWidth ( ) const
inline

Definition at line 296 of file RE_Light.h.

const UT_Vector3& RE_Light::getPosition ( ) const
inline

Definition at line 112 of file RE_Light.h.

RE_Texture2DMap* RE_Light::getProjectMap ( RE_Render r)
float RE_Light::getShadowBias ( ) const
inline

Definition at line 245 of file RE_Light.h.

float RE_Light::getShadowBlur ( ) const
inline

Definition at line 246 of file RE_Light.h.

float RE_Light::getShadowIntensity ( ) const
inline

Definition at line 244 of file RE_Light.h.

RE_Texture* RE_Light::getShadowMap ( int  area_index = 0)
RE_ShadowMap* RE_Light::getShadowMap ( )

Accessor to underlaying shadow map object Each light may have a shadow map object. Turning off shadows on the light will delete the map, so do not cache the pointer. If a shadow map does not exist, this will create a new one.

int RE_Light::getShadowMapSize ( ) const
inline

Definition at line 248 of file RE_Light.h.

fpreal RE_Light::getShadowMapTime ( ) const
int64 RE_Light::getShadowMapVersion ( ) const
const UT_StringRef& RE_Light::getShadowMask ( ) const
inline

Definition at line 252 of file RE_Light.h.

float RE_Light::getShadowQuality ( ) const
inline

Definition at line 247 of file RE_Light.h.

void RE_Light::getShadowZRange ( fpreal n,
fpreal f 
)
float RE_Light::getSurfaceArea ( ) const
inline

Definition at line 153 of file RE_Light.h.

const UT_Matrix4& RE_Light::getTransform ( ) const
inline

Definition at line 132 of file RE_Light.h.

UT_Matrix4& RE_Light::getTransform ( )
inline

Definition at line 133 of file RE_Light.h.

virtual int RE_Light::getUniqueId ( ) const
inlinevirtual

Can be used by OP_Node::lookupNode() to return the light object this light is attached to.

Definition at line 171 of file RE_Light.h.

virtual int64 RE_Light::getVersion ( ) const
inlinevirtual

Definition at line 164 of file RE_Light.h.

float RE_Light::getZoom ( ) const
inline

Definition at line 293 of file RE_Light.h.

RE_HQLightType RE_Light::hqLightType ( ) const
void RE_Light::invalidateShadowMap ( bool  purge_map = false)
protected
int RE_Light::isAmbient ( ) const
inline

Definition at line 144 of file RE_Light.h.

bool RE_Light::isAreaLight ( ) const
inline

Definition at line 150 of file RE_Light.h.

bool RE_Light::isAreaSingleSided ( ) const
inline

Definition at line 155 of file RE_Light.h.

bool RE_Light::isAreaSingleSideReversed ( ) const
inline

Definition at line 156 of file RE_Light.h.

int RE_Light::isCone ( ) const
inline

Definition at line 142 of file RE_Light.h.

int RE_Light::isDiffuse ( ) const
inline

Definition at line 158 of file RE_Light.h.

bool RE_Light::isEnabled ( ) const
inline

Definition at line 103 of file RE_Light.h.

bool RE_Light::isEnvironmentLight ( ) const
inline

Definition at line 146 of file RE_Light.h.

bool RE_Light::isGlobalIllumination ( ) const
inline

Definition at line 148 of file RE_Light.h.

bool RE_Light::isHeadlight ( ) const
inline

Definition at line 110 of file RE_Light.h.

int RE_Light::isInfinite ( ) const
inline

Definition at line 143 of file RE_Light.h.

bool RE_Light::isLightContributing ( ) const
int RE_Light::isMapProjector ( ) const
inline

Definition at line 145 of file RE_Light.h.

bool RE_Light::isPortalLight ( ) const
inline

Definition at line 147 of file RE_Light.h.

bool RE_Light::isShadowed ( ) const
inline

Definition at line 161 of file RE_Light.h.

int RE_Light::isSpecular ( ) const
inline

Definition at line 159 of file RE_Light.h.

void RE_Light::setAmbient ( int  onoff)
inline

Definition at line 527 of file RE_Light.h.

void RE_Light::setAperture ( float  aper)
inline

Definition at line 794 of file RE_Light.h.

void RE_Light::setArea ( bool  onoff)
inline

Definition at line 562 of file RE_Light.h.

void RE_Light::setAreaAxes ( const UT_Vector3F axes)
inline

Definition at line 721 of file RE_Light.h.

void RE_Light::setAreaSamplePoints ( const UT_Vector3FArray pos,
const UT_Vector3FArray dir 
)
void RE_Light::setAreaShape ( RE_LightAreaShape  shape)
void RE_Light::setAreaSide ( bool  single,
bool  reverse 
)
inline

Definition at line 632 of file RE_Light.h.

void RE_Light::setAreaTransform ( UT_Matrix4  t)
inline

Definition at line 732 of file RE_Light.h.

void RE_Light::setAttenuation ( float  constant,
float  linear,
float  quadratic 
)
inline

Definition at line 692 of file RE_Light.h.

void RE_Light::setAttenuationRamp ( const UT_Ramp ramp,
float  start_dist,
float  end_dist 
)
void RE_Light::setAttenuationRange ( float  near_dist,
float  far_dist 
)
inline

Definition at line 709 of file RE_Light.h.

void RE_Light::setBottomBarn ( float  amount,
float  falloff 
)
inline

Definition at line 849 of file RE_Light.h.

void RE_Light::setColor ( const UT_Vector3 c)
inline

Definition at line 487 of file RE_Light.h.

void RE_Light::setCone ( int  onoff)
inline

Definition at line 545 of file RE_Light.h.

void RE_Light::setConeAttrib ( float  a = 45,
float  d = 10,
float  r = 1 
)
inline

Definition at line 193 of file RE_Light.h.

void RE_Light::setConeTextureIndex ( int  idx)
inline

Definition at line 308 of file RE_Light.h.

void RE_Light::setDiffuse ( int  onoff)
inline

Definition at line 754 of file RE_Light.h.

void RE_Light::setDirection ( const UT_Vector3 d)
inline

Definition at line 117 of file RE_Light.h.

void RE_Light::setEnvironment ( bool  onoff)
inline

Definition at line 592 of file RE_Light.h.

void RE_Light::setEnvironmentCone ( float  angle)
inline

Definition at line 645 of file RE_Light.h.

void RE_Light::setEnvironmentFormat ( RE_TextureCompress  format)
void RE_Light::setEnvironmentMap ( const char *  name,
const char *  relativeTo 
)
void RE_Light::setEnvironmentMipmap ( bool  onoff)
void RE_Light::setFarDistance ( float  zfar)
inline

Definition at line 672 of file RE_Light.h.

void RE_Light::setFocalLength ( float  focal)
inline

Definition at line 784 of file RE_Light.h.

void RE_Light::setFogIntensity ( float  intensity)
inline

Definition at line 290 of file RE_Light.h.

void RE_Light::setFogScatter ( float  para,
fpreal  perp 
)
inline

Definition at line 287 of file RE_Light.h.

void RE_Light::setGlobalIllumination ( bool  onoff)
inline

Definition at line 613 of file RE_Light.h.

void RE_Light::setHeadlight ( bool  hl)
inline

Definition at line 109 of file RE_Light.h.

void RE_Light::setInfinite ( int  onoff)
inline

Definition at line 509 of file RE_Light.h.

void RE_Light::setIntensity ( float  i)
inline

Definition at line 498 of file RE_Light.h.

void RE_Light::setLeftBarn ( float  amount,
float  falloff 
)
inline

Definition at line 831 of file RE_Light.h.

void RE_Light::setLightBatchID ( int  id,
int  index 
)
inline

Definition at line 824 of file RE_Light.h.

void RE_Light::setLightLink ( const UT_StringRef link)
inline

Definition at line 392 of file RE_Light.h.

void RE_Light::setLightShadowMapSize ( int  s)
inline

Definition at line 237 of file RE_Light.h.

void RE_Light::setLinearShadowMap ( bool  linear)
void RE_Light::setMultiMap ( bool  m)
void RE_Light::setName ( const char *  name)
inline

Definition at line 100 of file RE_Light.h.

void RE_Light::setNearDistance ( float  znear)
inline

Definition at line 662 of file RE_Light.h.

void RE_Light::setOrientation ( const UT_Matrix3 orient)
inline

Definition at line 119 of file RE_Light.h.

void RE_Light::setOrthoWidth ( float  width)
inline

Definition at line 804 of file RE_Light.h.

void RE_Light::setPortal ( bool  onoff)
inline

Definition at line 581 of file RE_Light.h.

void RE_Light::setPosition ( const UT_Vector3 p)
inline

Definition at line 113 of file RE_Light.h.

void RE_Light::setProjectMap ( const char *  name,
const char *  relativeTo 
)
void RE_Light::setProjectMapAnisotropy ( int  samples)
void RE_Light::setProjectMapClamp ( int  onoff)
void RE_Light::setProjectMapFormat ( RE_TextureCompress  format)
void RE_Light::setProjectMapMipmap ( bool  onoff)
void RE_Light::setProjectMapScale ( float  sc,
bool  limitres,
int  maxw,
int  maxh 
)
void RE_Light::setRightBarn ( float  amount,
float  falloff 
)
inline

Definition at line 837 of file RE_Light.h.

void RE_Light::setSceneBounds ( const UT_BoundingBox scene)
void RE_Light::setShadowBias ( float  b)
inline

Definition at line 234 of file RE_Light.h.

void RE_Light::setShadowBlur ( float  b)
inline

Definition at line 235 of file RE_Light.h.

void RE_Light::setShadowed ( bool  onoff)
void RE_Light::setShadowIntensity ( float  i)
inline

Definition at line 233 of file RE_Light.h.

void RE_Light::setShadowMapSize ( int  s)
void RE_Light::setShadowMapTime ( fpreal  t)
void RE_Light::setShadowMapVersion ( uint64  version)
void RE_Light::setShadowMask ( const char *  m)
inline

Definition at line 682 of file RE_Light.h.

void RE_Light::setShadowQuality ( float  q)
inline

Definition at line 236 of file RE_Light.h.

void RE_Light::setSpecular ( int  onoff)
inline

Definition at line 764 of file RE_Light.h.

void RE_Light::setSurfaceArea ( float  area)
inline

Definition at line 743 of file RE_Light.h.

void RE_Light::setTopBarn ( float  amount,
float  falloff 
)
inline

Definition at line 843 of file RE_Light.h.

void RE_Light::setTransform ( const UT_Matrix4 m)
inline

Definition at line 814 of file RE_Light.h.

void RE_Light::setViewFrustum ( UT_Vector3FArray pnts,
UT_Vector3F cam 
)
void RE_Light::setZoom ( float  z)
inline

Definition at line 774 of file RE_Light.h.

void RE_Light::updateAreaLighting ( RE_Render r,
RE_Shader sh 
)
void RE_Light::updateAreaLightingBlock ( RE_Render r,
RE_UniformBlock block,
int  light_index,
const char *  light_pref 
) const
void RE_Light::updateBasicBlock ( RE_UniformBlock lighting_block,
int  light_index,
const char *  light_prefix 
)
void RE_Light::updateBasicLighting ( RE_Render r,
RE_Shader sh,
int  index 
)
void RE_Light::updateHQLighting ( RE_Render r,
RE_Shader sh 
)
void RE_Light::updateHQLightingBlock ( RE_Render r,
RE_UniformBlock block,
int  light_index,
const char *  light_prefix 
) const
void RE_Light::updateShadow ( RE_Render r,
RE_Shader sh 
)

Member Data Documentation

RE_LightFlag RE_Light::flag
protected

Definition at line 408 of file RE_Light.h.

int RE_Light::myAnisotropySamples
protected

Definition at line 438 of file RE_Light.h.

float RE_Light::myAperture
protected

Definition at line 418 of file RE_Light.h.

UT_Vector3 RE_Light::myAreaAxes
protected

Definition at line 459 of file RE_Light.h.

RE_UniformBlockHandle RE_Light::myAreaBlock
protected

Definition at line 483 of file RE_Light.h.

UT_Vector3FArray RE_Light::myAreaDir
protected

Definition at line 463 of file RE_Light.h.

bool RE_Light::myAreaDirty
protected

Definition at line 464 of file RE_Light.h.

RE_LightAreaShape RE_Light::myAreaLightShape
protected

Definition at line 446 of file RE_Light.h.

UT_Vector3FArray RE_Light::myAreaPos
protected

Definition at line 462 of file RE_Light.h.

unsigned RE_Light::myAreaSingleReverse
protected

Definition at line 402 of file RE_Light.h.

unsigned RE_Light::myAreaSingleSided
protected

Definition at line 402 of file RE_Light.h.

UT_Matrix4 RE_Light::myAreaTransform
protected

Definition at line 461 of file RE_Light.h.

UT_Array<RE_LightData *> RE_Light::myAttachedLightData
protected

Definition at line 476 of file RE_Light.h.

float RE_Light::myAtten[3]
protected

Definition at line 423 of file RE_Light.h.

RE_Texture* RE_Light::myAttenMap
protected

Definition at line 453 of file RE_Light.h.

UT_Ramp* RE_Light::myAttenRamp
protected

Definition at line 454 of file RE_Light.h.

bool RE_Light::myAttenRampDirty
protected

Definition at line 457 of file RE_Light.h.

float RE_Light::myAttenRampEnd
protected

Definition at line 456 of file RE_Light.h.

float RE_Light::myAttenRampStart
protected

Definition at line 455 of file RE_Light.h.

float RE_Light::myAttenRange[2]
protected

Definition at line 424 of file RE_Light.h.

RE_UniformBlockHandle RE_Light::myBasicLightingBlock
protected

Definition at line 480 of file RE_Light.h.

int RE_Light::myBatchID
protected

Definition at line 473 of file RE_Light.h.

int RE_Light::myBatchIndex
protected

Definition at line 474 of file RE_Light.h.

UT_BoundingBoxF RE_Light::myBBox
protected

Definition at line 477 of file RE_Light.h.

unsigned RE_Light::myBBoxDirty
protected

Definition at line 402 of file RE_Light.h.

UT_Vector2F RE_Light::myBottomBarn
protected

Definition at line 450 of file RE_Light.h.

UT_Vector3 RE_Light::myColor
protected

Definition at line 413 of file RE_Light.h.

float RE_Light::myConeAngle
protected

Definition at line 417 of file RE_Light.h.

float RE_Light::myConeDelta
protected

Definition at line 417 of file RE_Light.h.

float RE_Light::myConeRoll
protected

Definition at line 417 of file RE_Light.h.

unsigned RE_Light::myContribDiff
protected

Definition at line 402 of file RE_Light.h.

unsigned RE_Light::myContribSpec
protected

Definition at line 402 of file RE_Light.h.

UT_Vector3 RE_Light::myDir
protected

Definition at line 412 of file RE_Light.h.

int64 RE_Light::myEmitSerial
protected

Definition at line 471 of file RE_Light.h.

float RE_Light::myEnvCone
protected

Definition at line 428 of file RE_Light.h.

RE_TextureCubeMap* RE_Light::myEnvMap
protected

Definition at line 427 of file RE_Light.h.

float RE_Light::myFarDist
protected

Definition at line 421 of file RE_Light.h.

float RE_Light::myFocalLength
protected

Definition at line 418 of file RE_Light.h.

float RE_Light::myFogIntensity
protected

Definition at line 466 of file RE_Light.h.

float RE_Light::myFogScatterPara
protected

Definition at line 467 of file RE_Light.h.

float RE_Light::myFogScatterPerp
protected

Definition at line 468 of file RE_Light.h.

int RE_Light::myGLConeTextureIndex
protected

Definition at line 401 of file RE_Light.h.

RE_UniformBlockHandle RE_Light::myHighQualityBlock
protected

Definition at line 481 of file RE_Light.h.

float RE_Light::myIntensity
protected

Definition at line 416 of file RE_Light.h.

UT_Vector2F RE_Light::myLeftBarn
protected

Definition at line 447 of file RE_Light.h.

UT_StringHolder RE_Light::myLightLink
protected

Definition at line 410 of file RE_Light.h.

int RE_Light::myLightShadowMapSize
protected

Definition at line 445 of file RE_Light.h.

int64 RE_Light::myLightVersion
protected

Definition at line 470 of file RE_Light.h.

int RE_Light::myMaxEnvMapSize
protected

Definition at line 429 of file RE_Light.h.

float RE_Light::myMaxLightRadius
protected

Definition at line 425 of file RE_Light.h.

UT_StringHolder RE_Light::myName
protected

Definition at line 409 of file RE_Light.h.

float RE_Light::myNearDist
protected

Definition at line 420 of file RE_Light.h.

UT_Matrix3 RE_Light::myOrientation
protected

Definition at line 414 of file RE_Light.h.

float RE_Light::myOrthoWidth
protected

Definition at line 419 of file RE_Light.h.

UT_Vector3 RE_Light::myPos
protected

Definition at line 411 of file RE_Light.h.

RE_TextureCompress RE_Light::myProjectMapFormat
protected

Definition at line 437 of file RE_Light.h.

bool RE_Light::myProjectMapLimit
protected

Definition at line 433 of file RE_Light.h.

int RE_Light::myProjectMapMaxH
protected

Definition at line 435 of file RE_Light.h.

int RE_Light::myProjectMapMaxW
protected

Definition at line 434 of file RE_Light.h.

UT_String RE_Light::myProjectMapName
protected

Definition at line 431 of file RE_Light.h.

UT_String RE_Light::myProjectMapRelativeTo
protected

Definition at line 432 of file RE_Light.h.

float RE_Light::myProjectMapScale
protected

Definition at line 436 of file RE_Light.h.

UT_Vector2F RE_Light::myRightBarn
protected

Definition at line 448 of file RE_Light.h.

float RE_Light::myShadowBias
protected

Definition at line 440 of file RE_Light.h.

RE_UniformBlockHandle RE_Light::myShadowBlock
protected

Definition at line 482 of file RE_Light.h.

float RE_Light::myShadowBlur
protected

Definition at line 441 of file RE_Light.h.

float RE_Light::myShadowIntensity
protected

Definition at line 439 of file RE_Light.h.

RE_ShadowMap* RE_Light::myShadowMap
protected

Definition at line 452 of file RE_Light.h.

int RE_Light::myShadowMapSize
protected

Definition at line 443 of file RE_Light.h.

UT_StringHolder RE_Light::myShadowMask
protected

Definition at line 444 of file RE_Light.h.

float RE_Light::myShadowQuality
protected

Definition at line 442 of file RE_Light.h.

float RE_Light::mySurfaceArea
protected

Definition at line 460 of file RE_Light.h.

UT_Vector2F RE_Light::myTopBarn
protected

Definition at line 449 of file RE_Light.h.

UT_Matrix4 RE_Light::myTransform
protected

Definition at line 415 of file RE_Light.h.

unsigned RE_Light::myUseShadows
protected

Definition at line 402 of file RE_Light.h.

float RE_Light::myZoom
protected

Definition at line 422 of file RE_Light.h.

RE_Texture2DMap* RE_Light::projectMap
protected

Definition at line 426 of file RE_Light.h.


The documentation for this class was generated from the following file: