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

#include <GR_MaterialTypes.h>

+ Inheritance diagram for GR_FilmMaterial:

Public Member Functions

 TEXMAP_PARM (DiffuseMap, DiffuseID)
 
 TEXMAP_PARM (OpacityMap, OpacityID)
 
 TEXMAP_PARM (SpecularMap, SpecularID)
 
 TEXMAP_PARM (EmissionMap, EmissionID)
 
 TEXMAP_PARM (NormalMap, NormalID)
 
 TEXMAP_PARM (RoughMap, RoughID)
 
 TEXMAP_PARM (OcclusionMap, OcclusionID)
 
 TEXMAP_PARM (MetallicMap, MetallicID)
 
 TEXMAP_PARM (CoatIntMap, CoatIntID)
 
 TEXMAP_PARM (CoatRoughMap, CoatRoughID)
 
 TEXMAP_PARM (ReflectIntMap, ReflectIntID)
 
 TEXMAP_PARM (DisplaceMap, DisplaceID)
 
 TEX_PARM (UT_Matrix4F, DiffuseUV)
 
 TEX_PARM (UT_Matrix4F, SpecularUV)
 
 TEX_PARM (UT_Matrix4F, OpacityUV)
 
 TEX_PARM (UT_Matrix4F, EmissionUV)
 
 TEX_PARM (UT_Matrix4F, NormalUV)
 
 TEX_PARM (UT_Matrix4F, RoughUV)
 
 TEX_PARM (UT_Matrix4F, OcclusionUV)
 
 TEX_PARM (UT_Matrix4F, MetallicUV)
 
 TEX_PARM (UT_Matrix4F, CoatIntUV)
 
 TEX_PARM (UT_Matrix4F, CoatRoughUV)
 
 TEX_PARM (UT_Matrix4F, ReflectIntUV)
 
 TEX_PARM (UT_Matrix4F, DisplaceUV)
 
 TEX_PARM (int32, HasDiffuse)
 
 TEX_PARM (int32, HasSpecular)
 
 TEX_PARM (int32, HasOpacity)
 
 TEX_PARM (int32, HasEmission)
 
 TEX_PARM (int32, HasNormal)
 
 TEX_PARM (int32, HasRough)
 
 TEX_PARM (int32, HasOcclusion)
 
 TEX_PARM (int32, HasMetallic)
 
 TEX_PARM (int32, HasCoatInt)
 
 TEX_PARM (int32, HasCoatRough)
 
 TEX_PARM (int32, HasReflectInt)
 
 TEX_PARM (int32, HasDisplace)
 
 TEX_PARM (int32, HasDiffuseUV)
 
 TEX_PARM (int32, HasSpecularUV)
 
 TEX_PARM (int32, HasOpacityUV)
 
 TEX_PARM (int32, HasEmissionUV)
 
 TEX_PARM (int32, HasNormalUV)
 
 TEX_PARM (int32, HasRoughUV)
 
 TEX_PARM (int32, HasOcclusionUV)
 
 TEX_PARM (int32, HasMetallicUV)
 
 TEX_PARM (int32, HasCoatIntUV)
 
 TEX_PARM (int32, HasCoatRoughUV)
 
 TEX_PARM (int32, HasReflectIntUV)
 
 TEX_PARM (int32, HasDisplaceUV)
 
 TEX_PARM (UT_Vector4F, RoughComp)
 
 TEX_PARM (UT_Vector4F, OcclusionComp)
 
 TEX_PARM (UT_Vector4F, MetallicComp)
 
 TEX_PARM (UT_Vector4F, CoatIntComp)
 
 TEX_PARM (UT_Vector4F, CoatRoughComp)
 
 TEX_PARM (UT_Vector4F, OpacityComp)
 
 TEX_PARM (UT_Vector4F, ReflectIntComp)
 
 TEX_PARM (UT_Vector4i, DiffuseUDIMArea)
 
 TEX_PARM (UT_Vector4i, SpecularUDIMArea)
 
 TEX_PARM (UT_Vector4i, OpacityUDIMArea)
 
 TEX_PARM (UT_Vector4i, EmissionUDIMArea)
 
 TEX_PARM (UT_Vector4i, NormalUDIMArea)
 
 TEX_PARM (UT_Vector4i, RoughUDIMArea)
 
 TEX_PARM (UT_Vector4i, OcclusionUDIMArea)
 
 TEX_PARM (UT_Vector4i, MetallicUDIMArea)
 
 TEX_PARM (UT_Vector4i, CoatIntUDIMArea)
 
 TEX_PARM (UT_Vector4i, CoatRoughUDIMArea)
 
 TEX_PARM (UT_Vector4i, ReflectIntUDIMArea)
 
 TEX_PARM (UT_Vector4i, DisplaceUDIMArea)
 
 TEX_PARM (int32, NormalMapType)
 
 TEX_PARM (UT_Vector2F, NormalMapScaleShift)
 
 TEX_PARM (UT_Vector2F, NormalMapScale)
 
 TEX_PARM (UT_Vector2F, NormalMapFlip)
 
 TEX_PARM (int32, DisplaceSpace)
 
 TEX_PARM (fpreal32, DisplaceScale)
 
 TEX_PARM (fpreal32, DisplaceOffset)
 
 TEX_PARM (fpreal32, DisplaceQuality)
 
 TEX_PARM (int32, DisplaceYUp)
 
 TEX_PARM (int32, InvertOpacity)
 
 TEX_PARM (int32, InvertRough)
 
 TEX_PARM (int32, ReflectAsIOR)
 
void setUVSet (const UT_StringRef &set)
 
const UT_StringHoldergetUVSet () const
 
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 dirtyTextures () override
 
- 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)
 
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)
 
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_FilmMaterial (const UT_StringHolder &name)
 
 UT_NON_COPYABLE (GR_FilmMaterial)
 
- 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)
 
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 206 of file GR_MaterialTypes.h.

Constructor & Destructor Documentation

GR_FilmMaterial::GR_FilmMaterial ( const UT_StringHolder name)
protected

Member Function Documentation

void GR_FilmMaterial::dirtyTextures ( )
inlineoverridevirtual

Reimplemented from GR_Material.

Definition at line 321 of file GR_MaterialTypes.h.

const UT_StringHolder& GR_FilmMaterial::getUVSet ( ) const
inline

Definition at line 304 of file GR_MaterialTypes.h.

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

Reimplemented from GR_SimpleMaterial.

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

Reimplemented from GR_SimpleMaterial.

void GR_FilmMaterial::setUVSet ( const UT_StringRef set)
inline

Definition at line 303 of file GR_MaterialTypes.h.

GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
DiffuseUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
SpecularUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
OpacityUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
EmissionUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
NormalUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
RoughUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
OcclusionUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
MetallicUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
CoatIntUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
CoatRoughUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
ReflectIntUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Matrix4F  ,
DisplaceUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasDiffuse   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasSpecular   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasOpacity   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasEmission   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasNormal   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasRough   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasOcclusion   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasMetallic   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasCoatInt   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasCoatRough   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasReflectInt   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasDisplace   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasDiffuseUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasSpecularUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasOpacityUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasEmissionUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasNormalUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasRoughUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasOcclusionUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasMetallicUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasCoatIntUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasCoatRoughUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasReflectIntUV   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
HasDisplaceUV   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4F  ,
RoughComp   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4F  ,
OcclusionComp   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4F  ,
MetallicComp   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4F  ,
CoatIntComp   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4F  ,
CoatRoughComp   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4F  ,
OpacityComp   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4F  ,
ReflectIntComp   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
DiffuseUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
SpecularUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
OpacityUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
EmissionUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
NormalUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
RoughUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
OcclusionUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
MetallicUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
CoatIntUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
CoatRoughUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
ReflectIntUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector4i  ,
DisplaceUDIMArea   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
NormalMapType   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector2F  ,
NormalMapScaleShift   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector2F  ,
NormalMapScale   
)
GR_FilmMaterial::TEX_PARM ( UT_Vector2F  ,
NormalMapFlip   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
DisplaceSpace   
)
GR_FilmMaterial::TEX_PARM ( fpreal32  ,
DisplaceScale   
)
GR_FilmMaterial::TEX_PARM ( fpreal32  ,
DisplaceOffset   
)
GR_FilmMaterial::TEX_PARM ( fpreal32  ,
DisplaceQuality   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
DisplaceYUp   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
InvertOpacity   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
InvertRough   
)
GR_FilmMaterial::TEX_PARM ( int32  ,
ReflectAsIOR   
)
GR_FilmMaterial::TEXMAP_PARM ( DiffuseMap  ,
DiffuseID   
)
GR_FilmMaterial::TEXMAP_PARM ( OpacityMap  ,
OpacityID   
)
GR_FilmMaterial::TEXMAP_PARM ( SpecularMap  ,
SpecularID   
)
GR_FilmMaterial::TEXMAP_PARM ( EmissionMap  ,
EmissionID   
)
GR_FilmMaterial::TEXMAP_PARM ( NormalMap  ,
NormalID   
)
GR_FilmMaterial::TEXMAP_PARM ( RoughMap  ,
RoughID   
)
GR_FilmMaterial::TEXMAP_PARM ( OcclusionMap  ,
OcclusionID   
)
GR_FilmMaterial::TEXMAP_PARM ( MetallicMap  ,
MetallicID   
)
GR_FilmMaterial::TEXMAP_PARM ( CoatIntMap  ,
CoatIntID   
)
GR_FilmMaterial::TEXMAP_PARM ( CoatRoughMap  ,
CoatRoughID   
)
GR_FilmMaterial::TEXMAP_PARM ( ReflectIntMap  ,
ReflectIntID   
)
GR_FilmMaterial::TEXMAP_PARM ( DisplaceMap  ,
DisplaceID   
)
void GR_FilmMaterial::update ( const GR_MaterialParms options)
overridevirtual

Reimplemented from GR_SimpleMaterial.

GR_FilmMaterial::UT_NON_COPYABLE ( GR_FilmMaterial  )
protected

Friends And Related Function Documentation

friend class GR_Material
friend

Definition at line 327 of file GR_MaterialTypes.h.


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