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

Distant (infinite) light. Rays parallel. More...

#include <GR_LightTypes.h>

+ Inheritance diagram for GR_DistantLight:

Public Member Functions

 GR_DistantLight (const UT_StringHolder &name)
 
 ~GR_DistantLight () override
 
 UT_NON_COPYABLE (GR_DistantLight)
 
 LIGHTPARM_SM (UT_Vector3F, Dir)
 
 LIGHTPARM (UT_Vector3F, Color)
 
 LIGHTPARM_SM (int32, WorldSpace)
 
 LIGHTPARM (int32, UseSpecular)
 
 SHADOWPARM_SM (XformsArray, Xforms)
 
 SHADOWPARM_SM (InvXformsArray, InvXforms)
 
 SHADOWPARM_SM (BiasesArray, Biases)
 
 SHADOWPARM_SM (DepthsArray, Depths)
 
 SHADOWPARM (fpreal32, ShadowIntensity)
 
bool initBlocks (RV_Render *r, const GR_CommonDispOption &opts) override
 
RV_ShaderProgramgetShader (bool shadows, bool per_sample, bool is_antialiased, bool is_raytrace) override
 
void clearShadowMap () override
 
- Public Member Functions inherited from GR_Light
LightType type () const
 
bool isHeadlight () const
 
void setHeadlight (bool e)
 
bool isEnabled () const
 
void setEnabled (bool e)
 
bool canShadow () const
 
void setCanShadow (bool e)
 
void setLightID (exint id)
 
void setInstanceTransforms (const UT_Matrix4FArray &transforms, const UT_Vector4FArray &colors)
 
bool isInstanced () const
 
int numInstances () const
 
bool initSceneSetForRender (RV_Render *r, RV_ShaderProgram *shader, UT_UniquePtr< RV_ShaderBlock > &scene_block, UT_UniquePtr< RV_ShaderVariableSet > &scene_set)
 
bool initLightSetForRender (RV_Render *r, RV_ShaderProgramBase *shader)
 
bool bindSets (RV_Render *r, RV_ShaderProgramBase *shader)
 
bool isDirty () const
 
virtual bool canRayTraceShadow () const
 
void setLightLink (const UT_StringHolder &link)
 
const UT_StringHolderlightLink () const
 
virtual void setShadowMask (const UT_StringHolder &mask)
 
const UT_StringHoldershadowMask () const
 
- Public Member Functions inherited from GR_SceneItem
const UT_StringHoldername () const
 
exint id () const
 
int64 getVersion () const
 
void setVersion (int64 v)
 
void incref ()
 
void decref ()
 
void setName (const UT_StringHolder &name)
 
void setID (int id)
 

Additional Inherited Members

- Public Types inherited from GR_Light
enum  LightType {
  AMBIENT, DISTANT, POINT, ENVIRONMENT,
  AREA
}
 
- Static Public Member Functions inherited from GR_Light
static RV_ShaderProgramgetAmbientOcclusionShader (bool is_raytrace)
 
static bool initShaders (RV_Instance *inst)
 
static void cleanupShaders ()
 
- Protected Types inherited from GR_Light
enum  { GLOBAL_SET = 0, LIGHT_SET = 1 }
 
- Protected Member Functions inherited from GR_Light
 GR_Light (const UT_StringHolder &name, LightType type)
 
 ~GR_Light () override
 
 UT_NON_COPYABLE (GR_Light)
 
bool privInitBlocks (RV_Render *r, void *light_block, int light_size, void *shadow_block, int shadow_size)
 
void privBindTexture (RV_Render *r, const UT_StringHolder &map_name, int rel_op_id, RV_TextureRef &map_id, const UT_StringHolder &sampler_name, const GR_CommonDispOption &opts, RV_TextureParms *tex_parms=nullptr, bool is_cube=false)
 
void initTexParms (RV_Render *r, const GR_CommonDispOption &opts, RV_TextureParms &parms) const
 
- Protected Member Functions inherited from GR_SceneItem
 GR_SceneItem (const UT_StringHolder &name, int id)
 
virtual ~GR_SceneItem ()
 
 UT_NON_COPYABLE (GR_SceneItem)
 
- Static Protected Member Functions inherited from GR_Light
static RV_ShaderProgramprivGetShader (exint tags)
 
- Protected Attributes inherited from GR_Light
bool myDirtyFlag
 
bool myShadowDirtyFlag
 
bool mySetBound
 
UT_StringHolder myShadowMask
 
- Static Protected Attributes inherited from GR_Light
static LightTag Tag
 

Detailed Description

Distant (infinite) light. Rays parallel.

Definition at line 56 of file GR_LightTypes.h.

Constructor & Destructor Documentation

GR_DistantLight::GR_DistantLight ( const UT_StringHolder name)
GR_DistantLight::~GR_DistantLight ( )
override

Member Function Documentation

void GR_DistantLight::clearShadowMap ( )
overridevirtual

Reimplemented from GR_Light.

RV_ShaderProgram* GR_DistantLight::getShader ( bool  shadows,
bool  per_sample,
bool  is_antialiased,
bool  is_raytrace 
)
overridevirtual

Implements GR_Light.

bool GR_DistantLight::initBlocks ( RV_Render r,
const GR_CommonDispOption opts 
)
inlineoverridevirtual

Implements GR_Light.

Definition at line 78 of file GR_LightTypes.h.

GR_DistantLight::LIGHTPARM ( UT_Vector3F  ,
Color   
)
GR_DistantLight::LIGHTPARM ( int32  ,
UseSpecular   
)
GR_DistantLight::LIGHTPARM_SM ( UT_Vector3F  ,
Dir   
)
GR_DistantLight::LIGHTPARM_SM ( int32  ,
WorldSpace   
)
GR_DistantLight::SHADOWPARM ( fpreal32  ,
ShadowIntensity   
)
GR_DistantLight::SHADOWPARM_SM ( XformsArray  ,
Xforms   
)
GR_DistantLight::SHADOWPARM_SM ( InvXformsArray  ,
InvXforms   
)
GR_DistantLight::SHADOWPARM_SM ( BiasesArray  ,
Biases   
)
GR_DistantLight::SHADOWPARM_SM ( DepthsArray  ,
Depths   
)
GR_DistantLight::UT_NON_COPYABLE ( GR_DistantLight  )

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