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

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

#include <GR_LightTypes.h>

+ Inheritance diagram for GR_AmbientLight:

Public Member Functions

 GR_AmbientLight (const UT_StringHolder &name)
 
 ~GR_AmbientLight () override
 
 UT_NON_COPYABLE (GR_AmbientLight)
 
 LIGHTPARM (UT_Vector3F, Color)
 
bool initBlocks (RV_Render *r, const GR_CommonDispOption &opts) override
 
RV_ShaderProgramgetShader (bool shadows, bool per_sample, bool is_antialiased, bool is_raytrace) override
 
unsigned setupShadowRenders (RE_RenderContext, GR_RenderMode &out_render_mode, bool scene_changed, unsigned shadowmap_size, const GR_DistantShadowMapParms &) override
 
bool needsShadowMap () override
 
bool hasShadowMap () 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
 
virtual void startShadowRender (RE_RenderContext rc, unsigned shadowmap_index)
 
virtual void finishShadowRender (RE_RenderContext)
 
virtual void finishShadowRenders (RE_RenderContext)
 
virtual void attachShadowMap (RE_RenderContext)
 
virtual void clearShadowMap ()
 
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 264 of file GR_LightTypes.h.

Constructor & Destructor Documentation

GR_AmbientLight::GR_AmbientLight ( const UT_StringHolder name)
inline

Definition at line 267 of file GR_LightTypes.h.

GR_AmbientLight::~GR_AmbientLight ( )
override

Member Function Documentation

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

Implements GR_Light.

bool GR_AmbientLight::hasShadowMap ( )
inlineoverridevirtual

Implements GR_Light.

Definition at line 291 of file GR_LightTypes.h.

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

Implements GR_Light.

Definition at line 275 of file GR_LightTypes.h.

GR_AmbientLight::LIGHTPARM ( UT_Vector3F  ,
Color   
)
bool GR_AmbientLight::needsShadowMap ( )
inlineoverridevirtual

Implements GR_Light.

Definition at line 290 of file GR_LightTypes.h.

unsigned GR_AmbientLight::setupShadowRenders ( RE_RenderContext  ,
GR_RenderMode out_render_mode,
bool  scene_changed,
unsigned  shadowmap_size,
const GR_DistantShadowMapParms  
)
inlineoverridevirtual

Implements GR_Light.

Definition at line 284 of file GR_LightTypes.h.

GR_AmbientLight::UT_NON_COPYABLE ( GR_AmbientLight  )

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