HDK
|
Base class for all light types. More...
#include <GR_Light.h>
Public Types | |
enum | LightType { AMBIENT, DISTANT, POINT, ENVIRONMENT, AREA } |
Public Member Functions | |
LightType | type () const |
bool | isHeadlight () const |
void | setHeadlight (bool e) |
bool | isEnabled () const |
void | setEnabled (bool e) |
void | setTransform (const UT_Matrix4D &t) |
const UT_Matrix4D & | transform () const |
void | setLightID (exint id) |
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) |
virtual bool | initBlocks (RV_Render *r)=0 |
virtual RV_ShaderProgram * | getShader (bool shadows, bool per_sample)=0 |
Public Member Functions inherited from GR_SceneItem | |
const UT_StringHolder & | name () 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) |
Static Public Member Functions | |
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, RV_TextureParms *tex_parms=nullptr, bool is_cube=false) |
RV_ShaderProgram * | privGetShader (exint tags) |
Protected Member Functions inherited from GR_SceneItem | |
GR_SceneItem (const UT_StringHolder &name, int id) | |
virtual | ~GR_SceneItem () |
UT_NON_COPYABLE (GR_SceneItem) | |
Protected Attributes | |
bool | myDirtyFlag |
bool | myShadowDirtyFlag |
bool | mySetBound |
Base class for all light types.
Definition at line 36 of file GR_Light.h.
|
protected |
Enumerator | |
---|---|
GLOBAL_SET | |
LIGHT_SET |
Definition at line 103 of file GR_Light.h.
enum GR_Light::LightType |
Enumerator | |
---|---|
AMBIENT | |
DISTANT | |
POINT | |
ENVIRONMENT | |
AREA |
Definition at line 39 of file GR_Light.h.
|
protected |
|
overrideprotected |
bool GR_Light::bindSets | ( | RV_Render * | r, |
RV_ShaderProgramBase * | shader | ||
) |
|
static |
|
pure virtual |
Implemented in GR_EnvLight, GR_AmbientLight, GR_PointLight, and GR_DistantLight.
|
pure virtual |
Implemented in 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 |
|
inline |
Definition at line 53 of file GR_Light.h.
|
inline |
Definition at line 50 of file GR_Light.h.
|
protected |
|
protected |
|
protected |
|
inline |
Definition at line 54 of file GR_Light.h.
|
inline |
Definition at line 51 of file GR_Light.h.
Definition at line 59 of file GR_Light.h.
|
inline |
Definition at line 56 of file GR_Light.h.
|
inline |
Definition at line 57 of file GR_Light.h.
|
inline |
Definition at line 48 of file GR_Light.h.
|
protected |
|
protected |
Definition at line 99 of file GR_Light.h.
|
protected |
Definition at line 101 of file GR_Light.h.
|
protected |
Definition at line 100 of file GR_Light.h.