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

#include <GR_MaterialTypes.h>

+ Inheritance diagram for GR_SimpleMaterial:

Public Member Functions

 MATPARM (UT_Vector3F, Diff)
 
 MATPARM (UT_Vector3F, Spec)
 
 MATPARM (UT_Vector3F, Emit)
 
 MATPARM (UT_Vector3F, MetalColor)
 
 MATPARM (UT_Vector3F, SheenColor)
 
 MATPARM (fpreal32, DiffRough)
 
 MATPARM (fpreal32, SpecRough)
 
 MATPARM (fpreal32, SpecTint)
 
 MATPARM (fpreal32, Metal)
 
 MATPARM (fpreal32, IOR)
 
 MATPARM (fpreal32, Alpha)
 
 MATPARM (fpreal32, AlphaPara)
 
 MATPARM (fpreal32, AlphaCutoff)
 
 MATPARM (fpreal32, AlphaMode)
 
 MATPARM (fpreal32, CoatIntensity)
 
 MATPARM (fpreal32, CoatRough)
 
 MATPARM (fpreal32, SheenIntensity)
 
 MATPARM (fpreal32, SheenRough)
 
 MATPARM (int32, SpecModel)
 
 MATPARM (int32, CoatSpecModel)
 
 MATPARM (int32, UseGeoColor)
 
 MATPARM (int32, UsePackedColor)
 
 MATPARM (int32, HasTextures)
 
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_SimpleMaterial (const UT_StringHolder &name, MaterialType type=SIMPLE_SURFACE)
 
 UT_NON_COPYABLE (GR_SimpleMaterial)
 
- 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 72 of file GR_MaterialTypes.h.

Constructor & Destructor Documentation

GR_SimpleMaterial::GR_SimpleMaterial ( const UT_StringHolder name,
MaterialType  type = SIMPLE_SURFACE 
)
protected

Member Function Documentation

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

Implements GR_Material.

Reimplemented in GR_MatXMaterial, and GR_FilmMaterial.

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

Implements GR_Material.

Reimplemented in GR_MatXMaterial, and GR_FilmMaterial.

GR_SimpleMaterial::MATPARM ( UT_Vector3F  ,
Diff   
)
GR_SimpleMaterial::MATPARM ( UT_Vector3F  ,
Spec   
)
GR_SimpleMaterial::MATPARM ( UT_Vector3F  ,
Emit   
)
GR_SimpleMaterial::MATPARM ( UT_Vector3F  ,
MetalColor   
)
GR_SimpleMaterial::MATPARM ( UT_Vector3F  ,
SheenColor   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
DiffRough   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
SpecRough   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
SpecTint   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
Metal   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
IOR   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
Alpha   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
AlphaPara   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
AlphaCutoff   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
AlphaMode   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
CoatIntensity   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
CoatRough   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
SheenIntensity   
)
GR_SimpleMaterial::MATPARM ( fpreal32  ,
SheenRough   
)
GR_SimpleMaterial::MATPARM ( int32  ,
SpecModel   
)
GR_SimpleMaterial::MATPARM ( int32  ,
CoatSpecModel   
)
GR_SimpleMaterial::MATPARM ( int32  ,
UseGeoColor   
)
GR_SimpleMaterial::MATPARM ( int32  ,
UsePackedColor   
)
GR_SimpleMaterial::MATPARM ( int32  ,
HasTextures   
)
void GR_SimpleMaterial::update ( const GR_MaterialParms options)
overridevirtual

Implements GR_Material.

Reimplemented in GR_MatXMaterial, and GR_FilmMaterial.

GR_SimpleMaterial::UT_NON_COPYABLE ( GR_SimpleMaterial  )
protected

Friends And Related Function Documentation

friend class GR_Material
friend

Definition at line 111 of file GR_MaterialTypes.h.


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