HDK
|
Base class for all light types. More...
#include <GR_Light.h>
Classes | |
struct | LightTag |
Public Types | |
enum | LightType { AMBIENT, DISTANT, POINT, ENVIRONMENT, AREA } |
Static Public Member Functions | |
static RV_ShaderProgram * | getAmbientOcclusionShader (bool is_raytrace) |
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 |
![]() | |
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 |
UT_StringHolder | myShadowMask |
Static Protected Attributes | |
static LightTag | Tag |
Base class for all light types.
Definition at line 41 of file GR_Light.h.
|
protected |
Enumerator | |
---|---|
GLOBAL_SET | |
LIGHT_SET |
Definition at line 146 of file GR_Light.h.
enum GR_Light::LightType |
Enumerator | |
---|---|
AMBIENT | |
DISTANT | |
POINT | |
ENVIRONMENT | |
AREA |
Definition at line 44 of file GR_Light.h.
|
protected |
|
overrideprotected |
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 103 of file GR_Light.h.
bool GR_Light::bindSets | ( | RV_Render * | r, |
RV_ShaderProgramBase * | shader | ||
) |
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 93 of file GR_Light.h.
|
inline |
Definition at line 61 of file GR_Light.h.
|
static |
|
inlinevirtual |
Reimplemented in GR_AreaLight, GR_PointLight, and GR_DistantLight.
Definition at line 104 of file GR_Light.h.
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 99 of file GR_Light.h.
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 100 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 80 of file GR_Light.h.
|
inline |
Definition at line 58 of file GR_Light.h.
|
inline |
Definition at line 55 of file GR_Light.h.
|
inline |
Definition at line 68 of file GR_Light.h.
|
inline |
Definition at line 110 of file GR_Light.h.
|
pure virtual |
Implemented in GR_AreaLight, and GR_AmbientLight.
|
inline |
Definition at line 69 of file GR_Light.h.
|
protected |
|
staticprotected |
|
protected |
|
inline |
Definition at line 62 of file GR_Light.h.
|
inline |
Definition at line 59 of file GR_Light.h.
|
inline |
Definition at line 56 of file GR_Light.h.
void GR_Light::setInstanceTransforms | ( | const UT_Matrix4FArray & | transforms, |
const UT_Vector4FArray & | colors | ||
) |
Definition at line 64 of file GR_Light.h.
|
inline |
Definition at line 109 of file GR_Light.h.
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 111 of file GR_Light.h.
|
pure virtual |
Implemented in GR_AreaLight, and GR_AmbientLight.
|
inline |
Definition at line 113 of file GR_Light.h.
|
inlinevirtual |
Reimplemented in GR_AreaLight.
Definition at line 97 of file GR_Light.h.
|
inline |
Definition at line 53 of file GR_Light.h.
|
protected |
|
protected |
Definition at line 141 of file GR_Light.h.
|
protected |
Definition at line 143 of file GR_Light.h.
|
protected |
Definition at line 142 of file GR_Light.h.
|
protected |
Definition at line 144 of file GR_Light.h.
|
staticprotected |
Definition at line 171 of file GR_Light.h.