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

Environment light. Infinitely far away incoming rays from all directions. More...

#include <GR_LightTypes.h>

+ Inheritance diagram for GR_EnvLight:

Public Member Functions

 GR_EnvLight (const UT_StringHolder &name)
 
 ~GR_EnvLight () override
 
 UT_NON_COPYABLE (GR_EnvLight)
 
 LIGHTPARM (UT_Matrix4F, EnvRotate)
 
 LIGHTPARM (UT_Vector3F, Color)
 
void setEnvMap (const UT_StringHolder &map_name, int op_id)
 
const UT_StringHolderenvMap () const
 
int envMapOpId () const
 
bool initBlocks (RV_Render *r, const GR_CommonDispOption &opts) override
 
RV_ShaderProgramgetShader (bool shadows, bool per_sample, bool is_antialiased, bool is_raytrace) override
 
bool setSkyMapParms (const char *map_name, const UT_Vector3F &gcol, const UT_Vector3F &galbedo, fpreal turbidity, fpreal horizon_blur, fpreal solar_altitude, fpreal solar_azimuth)
 
bool hasMap () const
 
- 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

Environment light. Infinitely far away incoming rays from all directions.

Definition at line 301 of file GR_LightTypes.h.

Constructor & Destructor Documentation

GR_EnvLight::GR_EnvLight ( const UT_StringHolder name)
inline

Definition at line 304 of file GR_LightTypes.h.

GR_EnvLight::~GR_EnvLight ( )
override

Member Function Documentation

const UT_StringHolder& GR_EnvLight::envMap ( ) const
inline

Definition at line 339 of file GR_LightTypes.h.

int GR_EnvLight::envMapOpId ( ) const
inline

Definition at line 340 of file GR_LightTypes.h.

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

Implements GR_Light.

bool GR_EnvLight::hasMap ( ) const
inline

Definition at line 400 of file GR_LightTypes.h.

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

Implements GR_Light.

Definition at line 342 of file GR_LightTypes.h.

GR_EnvLight::LIGHTPARM ( UT_Matrix4F  ,
EnvRotate   
)
GR_EnvLight::LIGHTPARM ( UT_Vector3F  ,
Color   
)
void GR_EnvLight::setEnvMap ( const UT_StringHolder map_name,
int  op_id 
)
inline

Definition at line 313 of file GR_LightTypes.h.

bool GR_EnvLight::setSkyMapParms ( const char *  map_name,
const UT_Vector3F gcol,
const UT_Vector3F galbedo,
fpreal  turbidity,
fpreal  horizon_blur,
fpreal  solar_altitude,
fpreal  solar_azimuth 
)
inline

Definition at line 372 of file GR_LightTypes.h.

GR_EnvLight::UT_NON_COPYABLE ( GR_EnvLight  )

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