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

#include <GR_MaterialTypes.h>

+ Inheritance diagram for GR_HeightfieldMaterial:

Public Member Functions

void updateDisplaceMap (RV_Render *r, GT_DataArray *disp, UT_Vector2i res)
 
void updateNormalMap (RV_Render *r, GT_DataArray *nml, UT_Vector2i res)
 
void updateColorMap (RV_Render *r, GT_DataArray *color, UT_Vector2i res)
 
void updateBlendMap (RV_Render *r, GT_DataArray *blend, UT_Vector2i res)
 
 TEXMAP_PARM (RoughMap, RoughID)
 
 TEXMAP_PARM (SpecularMap, SpecularID)
 
 TEXMAP_PARM (EmissionMap, EmissionID)
 
 TEXMAP_PARM (Layer1Map, Layer1ID)
 
 TEXMAP_PARM (Layer2Map, Layer2ID)
 
 TEXMAP_PARM (Layer3Map, Layer3ID)
 
 TEXMAP_PARM (Layer4Map, Layer4ID)
 
 TEXMAP_PARM (Layer5Map, Layer5ID)
 
 TEXMAP_PARM (Layer6Map, Layer6ID)
 
 TEXMAP_PARM (Layer7Map, Layer7ID)
 
 TEXMAP_PARM (Layer8Map, Layer8ID)
 
 TEXMAP_PARM (Layer9Map, Layer9ID)
 
 TEXMAP_PARM (Layer10Map, Layer10ID)
 
 LAYER_PARM (Diff, UT_Vector3F)
 
 LAYER_PARM (Spec, UT_Vector3F)
 
 LAYER_PARM (SpecRough, fpreal32)
 
 LAYER_PARM (SpecModel, int32)
 
 LAYER_PARM (Quality, fpreal32)
 
 LAYER_PARM (NumUVSets, int32)
 
 LAYER_PARM (UseBlendMap, int32)
 
 LAYER_PARM (HasTriplanar, int32)
 
 LAYER_INST (UVTransform, UT_Matrix4F)
 
 LAYER_INST (Tint, UT_Vector4F)
 
 LAYER_INST (TriplanarBlend, UT_Vector3F)
 
 LAYER_INST (TriplanarOffset, UT_Vector3F)
 
 LAYER_INST (TriplanarScale, fpreal32)
 
 LAYER_INST (TriplanarSharp, fpreal32)
 
 LAYER_INST (Rough, fpreal32)
 
 LAYER_INST (UseTint, int32)
 
 LAYER_INST (HasMap, int32)
 
 LAYER_INST (UseTriplanar, int32)
 
 PARMKEY (ClampToEdge)
 
void update (const GR_MaterialParms &options) override
 
bool initMaterialSetForRender (RV_Render *r, RV_ShaderProgram *shader, bool &created) override
 
bool initBlocks (RV_Render *r, const GR_DisplayOption *opts) override
 
- Public Member Functions inherited from GR_Material
MaterialType type () const
 
int getNodeID () const
 
void setNodeID (int id)
 
UT_StringHolder getNodePath () const
 
void setTimeDependent (bool timedep, fpreal t=0.0)
 
void setOPTimeDependent (bool timedep, fpreal t=0.0)
 
bool isTimeDependent () const
 
bool isOPTimeDependent () const
 
fpreal getCurrentTime () const
 
bool isDirty (fpreal time)
 
void dirty (bool dirty=true)
 
virtual void dirtyTextures ()
 
bool isTextured () const
 
void setTextured (bool has_tex)
 
bool hasUDIM () const
 
void setHasUDIM (bool has_udim)
 
bool hasDisplacement () const
 
void setHasDisplacement (bool has_disp)
 
bool needsUVs () const
 
void setNeedsUVs (bool uvs)
 
bool needsTangents () const
 
void setNeedsTangents (bool tan)
 
bool isTransparent () const
 
void setTransparent (bool has_tex)
 
bool texturesLoaded () const
 
void setTexturesLoaded (bool loaded)
 
bool bindWithoutUpdate (RV_Render *r, RV_ShaderProgram *shader, const GR_DisplayOption *opts, bool for_curve=false)
 
bool bind (RV_Render *r, RV_ShaderProgram *shader, const GR_DisplayOption *opts, bool for_curve=false)
 
bool bindSets (RV_Render *r, RV_ShaderProgram *shader, bool for_curve)
 
DEP_MicroNodedependencies ()
 
virtual RV_ShaderProgramgetSurfaceShader () const
 
virtual RV_ShaderProgramgetCurveShader () const
 
bool opDependenciesDirty () const
 
void clearOpDependenciesDirty ()
 
const UT_Set< intopDependencies () const
 
void setOverrides (const UT_Options *overrides)
 
const UT_OptionsgetOverrides () const
 
void setFallbacks (const UT_Options *attrib_fallbacks)
 
const UT_OptionsgetFallbacks () const
 
void setExtraInputs (const UT_StringMap< InputType > &extra_inputs)
 
const UT_StringMap< InputType > & extraInputs () 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)
 

Protected Member Functions

 GR_HeightfieldMaterial (const UT_StringHolder &name)
 
 UT_NON_COPYABLE (GR_HeightfieldMaterial)
 
- Protected Member Functions inherited from GR_Material
 GR_Material (const UT_StringHolder &name, MaterialType type)
 
 ~GR_Material () override
 
 UT_NON_COPYABLE (GR_Material)
 
void clearOpIDs ()
 
void addOpID (int id)
 
bool timeChangeCheck () const
 
- Protected Member Functions inherited from GR_SceneItem
 GR_SceneItem (const UT_StringHolder &name, int id)
 
virtual ~GR_SceneItem ()
 
 UT_NON_COPYABLE (GR_SceneItem)
 

Friends

class GR_Material
 

Additional Inherited Members

- Public Types inherited from GR_Material
enum  AlphaMode { ALPHA_BLEND = 0, ALPHA_CUTOUT, ALPHA_IGNORE }
 
enum  MaterialType {
  SIMPLE_SURFACE, UNLIT_SURFACE, FILM_SURFACE, HAIR_CURVE,
  HEIGHTFIELD_SURFACE, MATX_SURFACE, MATCAP_SURFACE
}
 
enum  InputType {
  IN_INT, IN_FLOAT, IN_VEC2, IN_VEC3,
  IN_VEC4
}
 
- Static Public Member Functions inherited from GR_Material
static GR_MaterialPtr create (MaterialType type, const UT_StringHolder &name)
 
static exint getUniqueMaterialID ()
 
- Protected Attributes inherited from GR_Material
bool myDirtyFlag
 
bool myBlockDirtyFlag
 

Detailed Description

Definition at line 729 of file GR_MaterialTypes.h.

Constructor & Destructor Documentation

GR_HeightfieldMaterial::GR_HeightfieldMaterial ( const UT_StringHolder name)
protected

Member Function Documentation

bool GR_HeightfieldMaterial::initBlocks ( RV_Render r,
const GR_DisplayOption opts 
)
overridevirtual

Implements GR_Material.

bool GR_HeightfieldMaterial::initMaterialSetForRender ( RV_Render r,
RV_ShaderProgram shader,
bool &  created 
)
overridevirtual

Implements GR_Material.

GR_HeightfieldMaterial::LAYER_INST ( UVTransform  ,
UT_Matrix4F   
)
GR_HeightfieldMaterial::LAYER_INST ( Tint  ,
UT_Vector4F   
)
GR_HeightfieldMaterial::LAYER_INST ( TriplanarBlend  ,
UT_Vector3F   
)
GR_HeightfieldMaterial::LAYER_INST ( TriplanarOffset  ,
UT_Vector3F   
)
GR_HeightfieldMaterial::LAYER_INST ( TriplanarScale  ,
fpreal32   
)
GR_HeightfieldMaterial::LAYER_INST ( TriplanarSharp  ,
fpreal32   
)
GR_HeightfieldMaterial::LAYER_INST ( Rough  ,
fpreal32   
)
GR_HeightfieldMaterial::LAYER_INST ( UseTint  ,
int32   
)
GR_HeightfieldMaterial::LAYER_INST ( HasMap  ,
int32   
)
GR_HeightfieldMaterial::LAYER_INST ( UseTriplanar  ,
int32   
)
GR_HeightfieldMaterial::LAYER_PARM ( Diff  ,
UT_Vector3F   
)
GR_HeightfieldMaterial::LAYER_PARM ( Spec  ,
UT_Vector3F   
)
GR_HeightfieldMaterial::LAYER_PARM ( SpecRough  ,
fpreal32   
)
GR_HeightfieldMaterial::LAYER_PARM ( SpecModel  ,
int32   
)
GR_HeightfieldMaterial::LAYER_PARM ( Quality  ,
fpreal32   
)
GR_HeightfieldMaterial::LAYER_PARM ( NumUVSets  ,
int32   
)
GR_HeightfieldMaterial::LAYER_PARM ( UseBlendMap  ,
int32   
)
GR_HeightfieldMaterial::LAYER_PARM ( HasTriplanar  ,
int32   
)
GR_HeightfieldMaterial::PARMKEY ( ClampToEdge  )
GR_HeightfieldMaterial::TEXMAP_PARM ( RoughMap  ,
RoughID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( SpecularMap  ,
SpecularID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( EmissionMap  ,
EmissionID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer1Map  ,
Layer1ID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer2Map  ,
Layer2ID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer3Map  ,
Layer3ID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer4Map  ,
Layer4ID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer5Map  ,
Layer5ID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer6Map  ,
Layer6ID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer7Map  ,
Layer7ID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer8Map  ,
Layer8ID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer9Map  ,
Layer9ID   
)
GR_HeightfieldMaterial::TEXMAP_PARM ( Layer10Map  ,
Layer10ID   
)
void GR_HeightfieldMaterial::update ( const GR_MaterialParms options)
overridevirtual

Implements GR_Material.

void GR_HeightfieldMaterial::updateBlendMap ( RV_Render r,
GT_DataArray blend,
UT_Vector2i  res 
)
void GR_HeightfieldMaterial::updateColorMap ( RV_Render r,
GT_DataArray color,
UT_Vector2i  res 
)
void GR_HeightfieldMaterial::updateDisplaceMap ( RV_Render r,
GT_DataArray disp,
UT_Vector2i  res 
)
void GR_HeightfieldMaterial::updateNormalMap ( RV_Render r,
GT_DataArray nml,
UT_Vector2i  res 
)
GR_HeightfieldMaterial::UT_NON_COPYABLE ( GR_HeightfieldMaterial  )
protected

Friends And Related Function Documentation

friend class GR_Material
friend

Definition at line 791 of file GR_MaterialTypes.h.


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