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

#include <GR_LightTypes.h>

+ Inheritance diagram for GR_PointLight:

Public Member Functions

 GR_PointLight (const UT_StringHolder &name)
 
 ~GR_PointLight () override
 
 UT_NON_COPYABLE (GR_PointLight)
 
 LIGHTPARM (UT_Matrix4F, Projection)
 
 LIGHTPARM (UT_Vector4F, Focus)
 
 LIGHTPARM_SM (UT_Vector3F, Pos)
 
 LIGHTPARM_SM (UT_Vector3F, Dir)
 
 LIGHTPARM (UT_Vector3F, LightX)
 
 LIGHTPARM (UT_Vector3F, LightY)
 
 LIGHTPARM (UT_Vector3F, Color)
 
 LIGHTPARM (UT_Vector3F, Atten)
 
 LIGHTPARM (UT_Vector2F, ActiveRadius)
 
 LIGHTPARM (UT_Vector2F, AttenRange)
 
 LIGHTPARM (UT_Vector2F, AttenRampRange)
 
 LIGHTPARM (UT_Vector2F, LeftBarn)
 
 LIGHTPARM (UT_Vector2F, RightBarn)
 
 LIGHTPARM (UT_Vector2F, TopBarn)
 
 LIGHTPARM (UT_Vector2F, BottomBarn)
 
 LIGHTPARM_SM (fpreal32, Cutoff)
 
 LIGHTPARM (fpreal32, Falloff)
 
 LIGHTPARM (fpreal32, SpotRolloff)
 
 LIGHTPARM (int32, HasSpot)
 
 LIGHTPARM (int32, HasProject)
 
 LIGHTPARM (int32, ProjectClamp)
 
 LIGHTPARM (int32, HasAttenRamp)
 
 SHADOWPARM_SM (UT_Matrix4F, ShadowTransform)
 
 SHADOWPARM_SM (fpreal32, ShadowBias)
 
 SHADOWPARM (fpreal32, ShadowIntensity)
 
void setProjectMap (const UT_StringHolder &map_name, int op_id)
 
const UT_StringHolderprojectMap () const
 
int projectMapOpId () 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
 
void clearShadowMap () 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
 
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)
 

Friends

class GR_PointShadowMap
 

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

Definition at line 125 of file GR_LightTypes.h.

Constructor & Destructor Documentation

GR_PointLight::GR_PointLight ( const UT_StringHolder name)
GR_PointLight::~GR_PointLight ( )
override

Member Function Documentation

void GR_PointLight::clearShadowMap ( )
overridevirtual

Reimplemented from GR_Light.

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

Implements GR_Light.

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

Implements GR_Light.

Definition at line 174 of file GR_LightTypes.h.

GR_PointLight::LIGHTPARM ( UT_Matrix4F  ,
Projection   
)
GR_PointLight::LIGHTPARM ( UT_Vector4F  ,
Focus   
)
GR_PointLight::LIGHTPARM ( UT_Vector3F  ,
LightX   
)
GR_PointLight::LIGHTPARM ( UT_Vector3F  ,
LightY   
)
GR_PointLight::LIGHTPARM ( UT_Vector3F  ,
Color   
)
GR_PointLight::LIGHTPARM ( UT_Vector3F  ,
Atten   
)
GR_PointLight::LIGHTPARM ( UT_Vector2F  ,
ActiveRadius   
)
GR_PointLight::LIGHTPARM ( UT_Vector2F  ,
AttenRange   
)
GR_PointLight::LIGHTPARM ( UT_Vector2F  ,
AttenRampRange   
)
GR_PointLight::LIGHTPARM ( UT_Vector2F  ,
LeftBarn   
)
GR_PointLight::LIGHTPARM ( UT_Vector2F  ,
RightBarn   
)
GR_PointLight::LIGHTPARM ( UT_Vector2F  ,
TopBarn   
)
GR_PointLight::LIGHTPARM ( UT_Vector2F  ,
BottomBarn   
)
GR_PointLight::LIGHTPARM ( fpreal32  ,
Falloff   
)
GR_PointLight::LIGHTPARM ( fpreal32  ,
SpotRolloff   
)
GR_PointLight::LIGHTPARM ( int32  ,
HasSpot   
)
GR_PointLight::LIGHTPARM ( int32  ,
HasProject   
)
GR_PointLight::LIGHTPARM ( int32  ,
ProjectClamp   
)
GR_PointLight::LIGHTPARM ( int32  ,
HasAttenRamp   
)
GR_PointLight::LIGHTPARM_SM ( UT_Vector3F  ,
Pos   
)
GR_PointLight::LIGHTPARM_SM ( UT_Vector3F  ,
Dir   
)
GR_PointLight::LIGHTPARM_SM ( fpreal32  ,
Cutoff   
)
const UT_StringHolder& GR_PointLight::projectMap ( ) const
inline

Definition at line 171 of file GR_LightTypes.h.

int GR_PointLight::projectMapOpId ( ) const
inline

Definition at line 172 of file GR_LightTypes.h.

void GR_PointLight::setProjectMap ( const UT_StringHolder map_name,
int  op_id 
)
inline

Definition at line 159 of file GR_LightTypes.h.

GR_PointLight::SHADOWPARM ( fpreal32  ,
ShadowIntensity   
)
GR_PointLight::SHADOWPARM_SM ( UT_Matrix4F  ,
ShadowTransform   
)
GR_PointLight::SHADOWPARM_SM ( fpreal32  ,
ShadowBias   
)
GR_PointLight::UT_NON_COPYABLE ( GR_PointLight  )

Friends And Related Function Documentation

friend class GR_PointShadowMap
friend

Definition at line 197 of file GR_LightTypes.h.


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