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) 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)
 
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)
 
void setLightLink (const UT_StringHolder &link)
 
const UT_StringHolderlightLink () const
 
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 ()
 
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
 

Detailed Description

Definition at line 116 of file GR_LightTypes.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Implements GR_Light.

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

Implements GR_Light.

Definition at line 165 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 162 of file GR_LightTypes.h.

int GR_PointLight::projectMapOpId ( ) const
inline

Definition at line 163 of file GR_LightTypes.h.

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

Definition at line 150 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 183 of file GR_LightTypes.h.


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