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

#include <GR_MaterialTypes.h>

+ Inheritance diagram for GR_MatXMaterial:

Public Member Functions

bool bindInt (const UT_StringRef &name, int32 value)
 
bool bindInts (const UT_StringRef &name, const UT_Array< int32 > &values)
 
bool bindFloat (const UT_StringRef &name, fpreal32 value)
 
bool bindFloats (const UT_StringRef &name, const UT_Array< fpreal32 > &values)
 
bool bindFloat2 (const UT_StringRef &name, const UT_Vector2D &value)
 
bool bindFloat3 (const UT_StringRef &name, const UT_Vector3D &value)
 
bool bindFloat4 (const UT_StringRef &name, const UT_Vector4D &value)
 
bool bindMatrix3 (const UT_StringRef &name, const UT_Matrix3D &value)
 
bool bindMatrix4 (const UT_StringRef &name, const UT_Matrix4D &value)
 
bool bindTexture (const UT_StringRef &name, const UT_StringRef &map_path, bool is_color, const UT_Vector4F &fallback_color)
 
void enableLighting (bool enable)
 
void setSurfaceShader (exint id)
 
void setCurveShader (exint id)
 
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
 
void setCachedName (UT_StringHolder &name)
 
const UT_StringHoldercachedName () const
 
void setShaderDirty (bool dirty)
 
bool isShaderDirty () const
 
void setMatXNodeVersion (int64 version)
 
int64 getMatXNodeVersion () const
 
void setShaderCompiled (bool comp)
 
- Public Member Functions inherited from GR_SimpleMaterial
 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)
 
- 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)
 
bool isTimeDependent () const
 
fpreal getCurrentTime () const
 
bool isDirty (fpreal time)
 
void dirty (bool dirty=true)
 
bool isTextured () const
 
void setTextured (bool has_tex)
 
bool hasUDIM () const
 
void setHasUDIM (bool has_udim)
 
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 bind (RV_Render *r, RV_ShaderProgram *shader, const GR_DisplayOption *opts)
 
bool bindSets (RV_Render *r, RV_ShaderProgram *shader)
 
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
 
- 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_MatXMaterial (const UT_StringHolder &name)
 
 UT_NON_COPYABLE (GR_MatXMaterial)
 
- Protected Member Functions inherited from GR_SimpleMaterial
 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)
 
- 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
}
 
- Static Public Member Functions inherited from GR_Material
static GR_MaterialPtr create (MaterialType type, const UT_StringHolder &name)
 
- Protected Attributes inherited from GR_Material
bool myDirtyFlag
 
bool myBlockDirtyFlag
 

Detailed Description

Definition at line 517 of file GR_MaterialTypes.h.

Constructor & Destructor Documentation

GR_MatXMaterial::GR_MatXMaterial ( const UT_StringHolder name)
protected

Member Function Documentation

bool GR_MatXMaterial::bindFloat ( const UT_StringRef name,
fpreal32  value 
)
bool GR_MatXMaterial::bindFloat2 ( const UT_StringRef name,
const UT_Vector2D value 
)
bool GR_MatXMaterial::bindFloat3 ( const UT_StringRef name,
const UT_Vector3D value 
)
bool GR_MatXMaterial::bindFloat4 ( const UT_StringRef name,
const UT_Vector4D value 
)
bool GR_MatXMaterial::bindFloats ( const UT_StringRef name,
const UT_Array< fpreal32 > &  values 
)
bool GR_MatXMaterial::bindInt ( const UT_StringRef name,
int32  value 
)
bool GR_MatXMaterial::bindInts ( const UT_StringRef name,
const UT_Array< int32 > &  values 
)
bool GR_MatXMaterial::bindMatrix3 ( const UT_StringRef name,
const UT_Matrix3D value 
)
bool GR_MatXMaterial::bindMatrix4 ( const UT_StringRef name,
const UT_Matrix4D value 
)
bool GR_MatXMaterial::bindTexture ( const UT_StringRef name,
const UT_StringRef map_path,
bool  is_color,
const UT_Vector4F fallback_color 
)
const UT_StringHolder& GR_MatXMaterial::cachedName ( ) const
inline

Definition at line 565 of file GR_MaterialTypes.h.

void GR_MatXMaterial::enableLighting ( bool  enable)
inline

Definition at line 537 of file GR_MaterialTypes.h.

int64 GR_MatXMaterial::getMatXNodeVersion ( ) const
inline

Definition at line 571 of file GR_MaterialTypes.h.

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

Reimplemented from GR_SimpleMaterial.

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

Reimplemented from GR_SimpleMaterial.

bool GR_MatXMaterial::isShaderDirty ( ) const
inline

Definition at line 568 of file GR_MaterialTypes.h.

void GR_MatXMaterial::setCachedName ( UT_StringHolder name)
inline

Definition at line 563 of file GR_MaterialTypes.h.

void GR_MatXMaterial::setCurveShader ( exint  id)
inline

Definition at line 549 of file GR_MaterialTypes.h.

void GR_MatXMaterial::setMatXNodeVersion ( int64  version)
inline

Definition at line 570 of file GR_MaterialTypes.h.

void GR_MatXMaterial::setShaderCompiled ( bool  comp)
inline

Definition at line 573 of file GR_MaterialTypes.h.

void GR_MatXMaterial::setShaderDirty ( bool  dirty)
inline

Definition at line 567 of file GR_MaterialTypes.h.

void GR_MatXMaterial::setSurfaceShader ( exint  id)
inline

Definition at line 546 of file GR_MaterialTypes.h.

void GR_MatXMaterial::update ( const GR_MaterialParms options)
overridevirtual

Reimplemented from GR_SimpleMaterial.

GR_MatXMaterial::UT_NON_COPYABLE ( GR_MatXMaterial  )
protected

Friends And Related Function Documentation

friend class GR_Material
friend

Definition at line 579 of file GR_MaterialTypes.h.


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