HDK
|
Base class for all light types. More...
#include <GR_Light.h>
Public Types | |
enum | LightType { AMBIENT, DISTANT, POINT, ENVIRONMENT, AREA } |
Static Public Member Functions | |
static RV_ShaderProgram * | getAmbientOcclusionShader () |
static bool | initShaders (RV_Instance *inst) |
static void | cleanupShaders () |
Protected Types | |
enum | { GLOBAL_SET = 0, LIGHT_SET = 1 } |
Protected Member Functions | |
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 | |
static RV_ShaderProgram * | privGetShader (exint tags) |
Protected Attributes | |
bool | myDirtyFlag |
bool | myShadowDirtyFlag |
bool | mySetBound |
Base class for all light types.
Definition at line 40 of file GR_Light.h.
|
protected |
Enumerator | |
---|---|
GLOBAL_SET | |
LIGHT_SET |
Definition at line 127 of file GR_Light.h.
enum GR_Light::LightType |
Enumerator | |
---|---|
AMBIENT | |
DISTANT | |
POINT | |
ENVIRONMENT | |
AREA |
Definition at line 43 of file GR_Light.h.
|
protected |
|
overrideprotected |
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 88 of file GR_Light.h.
bool GR_Light::bindSets | ( | RV_Render * | r, |
RV_ShaderProgramBase * | shader | ||
) |
|
static |
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 85 of file GR_Light.h.
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 86 of file GR_Light.h.
|
static |
|
pure virtual |
Implemented in GR_AreaLight, GR_EnvLight, GR_AmbientLight, GR_PointLight, and GR_DistantLight.
|
pure virtual |
Implemented in GR_AreaLight, and GR_AmbientLight.
|
pure virtual |
Implemented in GR_AreaLight, GR_EnvLight, GR_AmbientLight, GR_PointLight, and GR_DistantLight.
bool GR_Light::initLightSetForRender | ( | RV_Render * | r, |
RV_ShaderProgramBase * | shader | ||
) |
bool GR_Light::initSceneSetForRender | ( | RV_Render * | r, |
RV_ShaderProgram * | shader, | ||
UT_UniquePtr< RV_ShaderBlock > & | scene_block, | ||
UT_UniquePtr< RV_ShaderVariableSet > & | scene_set | ||
) |
|
static |
|
protected |
|
inline |
Definition at line 57 of file GR_Light.h.
|
inline |
Definition at line 54 of file GR_Light.h.
|
inline |
Definition at line 94 of file GR_Light.h.
|
protected |
|
staticprotected |
|
protected |
|
inline |
Definition at line 58 of file GR_Light.h.
|
inline |
Definition at line 55 of file GR_Light.h.
Definition at line 60 of file GR_Light.h.
|
inline |
Definition at line 93 of file GR_Light.h.
|
inline |
Definition at line 95 of file GR_Light.h.
|
pure virtual |
Implemented in GR_AreaLight, and GR_AmbientLight.
|
inline |
Definition at line 96 of file GR_Light.h.
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 83 of file GR_Light.h.
|
inline |
Definition at line 52 of file GR_Light.h.
|
protected |
|
protected |
Definition at line 123 of file GR_Light.h.
|
protected |
Definition at line 125 of file GR_Light.h.
|
protected |
Definition at line 124 of file GR_Light.h.