|
| RE_Material (const char *materialName) |
|
const UT_StringHolder & | getMaterialName () const |
|
int | getUniqueId () const |
|
int64 | getVersion () const |
|
void | setVersion (int64 v) |
|
void | dirty (bool dirty=true) |
|
bool | isDirty (fpreal time) const |
|
void | setTimeDependent (bool timedep, fpreal t=0.0) |
|
bool | isTimeDependent () const |
|
fpreal | getCurrentTime () const |
|
void | incref () |
|
void | decref () |
|
void | setNodePath (UT_StringHolder path, int node_id) |
|
const UT_StringHolder & | getNodePath () const |
|
int | getNodeId () const |
|
void | setMatNetName (const UT_StringRef &mat_path) |
|
const UT_StringRef & | getMatNetName () const |
|
void | setMatXNodeVersion (int64 version) |
|
int64 | getMatXNodeVersion () const |
|
void | dirtyMatNet (bool dirty=true) |
|
bool | isMatNetDirty () const |
|
void | setOverrides (const UT_Options *overrides) |
|
const UT_Options & | getOverrides () const |
|
bool | hasOverrides () const |
|
void | setVertexOverrides (const UT_StringMap< UT_StringHolder > &ovr) |
|
const UT_StringMap
< UT_StringHolder > & | vertexOverrides () const |
|
void | setMaterialType (RE_MaterialType type) |
|
RE_MaterialType | getMaterialType () const |
|
void | markDefaultShader (bool def) |
|
bool | isDefaultShader () const |
|
void | assignShaderRef (int shader_program_id, RE_ShaderTarget ptype=RE_SHADER_TARGET_TRIANGLE) |
|
void | assignShader (RE_Shader *sh, RE_ShaderTarget ptype=RE_SHADER_TARGET_TRIANGLE, bool owned=true) |
|
void | assignShader (UT_UniquePtr< RE_Shader > &&sh, RE_ShaderTarget ptype=RE_SHADER_TARGET_TRIANGLE) |
|
int | getShaderRefID (RE_ShaderTarget ptype=RE_SHADER_TARGET_TRIANGLE) const |
|
void | clearTexture (RE_Render *r) |
|
void | clearDiffuseMap () |
|
void | reserveDiffuseLayers (int nlayers) |
|
RE_TextureHolder | getDiffuseMap (RE_Render *r, int layer, bool preload=false, bool mat_changed=true) |
|
RE_TextureHolder | getSpecularMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getBumpMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getNormalMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getOpacityMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getDisplaceMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getEmissionMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getRoughnessMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getOcclusionMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getMetallicMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getCoatIntensityMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getCoatRoughnessMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getReflectionAmountMap (RE_Render *r, bool preload=false, bool mat_change=true) |
|
RE_TextureHolder | getHairDiffuseMap (RE_Render *r, bool preload=false) |
|
RE_TextureHolder | getHairSpecularMap (RE_Render *r, bool preload=false) |
|
RE_TextureHolder | getHairDiffuseRamp (RE_Render *r, bool preload=false) |
|
RE_TextureHolder | getHairSpecularRamp (RE_Render *r, bool preload=false) |
|
RE_TextureHolder | getHairAlphaRamp (RE_Render *r, bool preload=false) |
|
RE_TextureHolder | getEnvMap (RE_Render *r, bool preload=false) |
|
bool | areTexturesPending () |
|
void | clearTextureLayer (int layer) |
|
bool | hasSpecularMap () const |
|
bool | hasBumpMap () const |
|
bool | hasNormalMap () const |
|
bool | hasOpacityMap () const |
|
bool | hasDisplaceMap () const |
|
bool | hasEnvMap () const |
|
bool | hasEmissionMap () const |
|
bool | hasRoughnessMap () const |
|
bool | hasOcclusionMap () const |
|
bool | hasMetallicMap () const |
|
bool | hasCoatRoughnessMap () const |
|
bool | hasCoatIntensityMap () const |
|
bool | hasReflectionAmountMap () const |
|
bool | hasHairDiffuseMap () const |
|
bool | hasHairSpecularMap () const |
|
bool | hasHairDiffuseRamp () const |
|
bool | hasHairSpecularRamp () const |
|
bool | hasHairAlphaRamp () const |
|
bool | isTransparent (bool check_diffuse_alpha) const |
|
void | setTransparent (bool alpha) |
|
bool | isTextured () const |
|
void | setTextured (bool has_tex) |
|
bool | needsUVs () const |
|
void | setNeedsUVs (bool uvs) |
|
void | needTextureUpdate () |
|
bool | needsTextureUpdate () const |
|
void | setNumMatXTextures (int num) |
|
void | setMatXTexture (RE_TextureMap *map, int index) |
|
RE_TextureMap * | getMatXTexture (int index) const |
|
void | finishTextureSetup (RE_Render *r, bool preload, bool draw_textured) |
|
bool | checkForCacheUpdate (int cache_serial, fpreal t) |
|
bool | isMatCapTextured () const |
|
const UT_Map< UT_StringHolder,
int > & | getUVSets () |
|
void | clearUVSets () |
|
void | addUVSet (const UT_StringRef &uv) |
|
const UT_StringHolder & | getLayerUVSet (int layer) const |
|
void | setTextureFormat (RE_TextureCompress format) |
|
RE_TextureCompress | getTextureFormat () const |
|
void | limitTextureSize (bool limit, int w, int h) |
|
bool | limitTextureSize () const |
|
void | getMaxTextureSize (int &w, int &h) |
|
void | setTextureScale (float sc) |
|
float | getTextureScale () const |
|
void | setTextureMemLimitMB (int mem) |
|
int | getTextureMemLimitMB () const |
|
void | mipMapTextures (bool yes) |
|
bool | mipMapTextures () const |
|
void | setAnisotropySamples (int samp) |
|
int | getAnisotropySamples () const |
|
void | allowShaders (bool yes) |
|
bool | allowShaders () const |
|
void | doLighting (bool yes) |
|
bool | isLit () const |
|
RE_Shader * | createShader (RE_Render *r, const char *name=nullptr, RE_ShaderTarget ptype=RE_SHADER_TARGET_TRIANGLE) |
|
RE_Shader * | getShader (RE_ShaderTarget sht=RE_SHADER_TARGET_TRIANGLE) const |
|
bool | isShaderOwned (RE_ShaderTarget sht=RE_SHADER_TARGET_TRIANGLE) const |
|
void | setShaderSource (const char *vert_src, const char *geom_src, const char *frag_src, RE_ShaderTarget ptype=RE_SHADER_TARGET_TRIANGLE) |
| caches the source for the shader in the material. More...
|
|
bool | hasShaderSource (const char *vert_src, const char *geom_src, const char *frag_src, RE_ShaderTarget ptype=RE_SHADER_TARGET_TRIANGLE) |
|
void | setShaderProgram (const char *program_file) |
|
bool | hasShaderProgram (const char *program_file) const |
|
bool | hasCustomShader (RE_ShaderTarget ptype=RE_SHADER_TARGET_TRIANGLE) const |
|
bool | customShaderDirty () const |
|
void | removeShader () |
|
float | amb (unsigned idx) const |
|
UT_Vector3F | amb () const |
|
float | diff (unsigned idx) const |
|
UT_Vector3F | diff () const |
|
float | spec (unsigned idx) const |
|
UT_Vector3F | spec () const |
|
float | emit (unsigned idx) const |
|
UT_Vector3F | emit () const |
|
UT_Vector3F | metallicEdgeTint () const |
|
float | metallic () const |
|
float | alpha () const |
|
float | roughness () const |
|
float | reflection () const |
|
float | coatRoughness () const |
|
float | coatIntensity () const |
|
float | diffuseRoughness () const |
|
void | setAlpha (float alpha_perp, float alpha_para=-1.0) |
|
void | setAlphaMode (AlphaMode mode) |
|
AlphaMode | getAlphaMode () const |
|
void | setAlphaCutoff (fpreal alpha_val) |
|
fpreal | getAlphaCutoff () const |
|
void | setShaderAlpha (bool enabled) |
|
bool | hasShaderAlpha () const |
|
void | setRoughness (float r) |
|
void | setShininess (float sh) |
|
void | setDiffuseRoughness (fpreal r) |
|
void | setAmb (float r, float g, float b) |
|
void | setDiff (float r, float g, float b) |
|
void | setSpec (float r, float g, float b) |
|
void | setEmit (float r, float g, float b) |
|
void | setMetallic (float metal) |
|
void | setMetallicEdge (const UT_Vector3F &metal) |
|
void | setAmbient (UT_Color col) |
|
void | setDiffuse (UT_Color col) |
|
void | setSpecular (UT_Color col) |
|
void | setEmission (UT_Color col) |
|
void | setAmbient (const UT_Vector3F &col) |
|
void | setDiffuse (const UT_Vector3F &col) |
|
void | setSpecular (const UT_Vector3F &col) |
|
void | setEmission (const UT_Vector3F &col) |
|
void | setSpecularTint (fpreal t) |
|
fpreal | getSpecularTint () const |
|
void | setSpecularModel (int spec_model) |
|
int | getSpecularModel () const |
|
void | setCoatSpecularModel (int spec_model) |
|
int | getCoatSpecuarModel () const |
|
void | setCoatIntensity (fpreal i) |
|
fpreal | getCoatIntensity () const |
|
void | setCoatRoughness (fpreal r) |
|
fpreal | getCoatRoughness () const |
|
void | setIOR (float ior) |
|
fpreal | getIOR () const |
|
void | setReflection (float r, bool explicit_r) |
|
fpreal | getReflection () const |
|
void | usePackedColor (bool enable) |
|
void | useGeometryColor (bool enable) |
|
bool | usePackedColor () const |
|
bool | useGeometryColor () const |
|
bool | hasExplicitReflection () const |
|
void | setNeedsTangentSpace (bool b) |
|
bool | needsTangentSpace () const |
|
void | setOpacityMapParms (bool invert, int component) |
|
void | setNormalParms (re_NormalMapType type, bool bias, UT_Vector2F scale, bool flip_x, bool flip_y, bool flip_z) |
|
void | setEnvParms (float scale, const UT_Vector3 &rot, const UT_XformOrder &rord) |
|
void | setDisplaceParms (float scale, float offset, float quality, re_Displace vector_space, bool y_up) |
|
void | setDisplaceLOD (float lod) |
|
float | getDisplaceLOD () const |
|
void | setRoughParms (bool invert_map, int component) |
|
void | setOcclusionParms (int component) |
|
void | setMetallicParms (int component) |
|
void | setCoatRoughnessParms (int component) |
|
void | setCoatIntensityParms (int component) |
|
void | setReflectionAmountParms (int component, bool affect_ior) |
|
void | setEmissionParms (bool use_matcap) |
|
bool | hasDisplacement () const |
|
void | setUVTransform (RE_TexMapType maptype, const UT_Matrix3F &xform, int layer=0) |
|
void | clearUVTransform (RE_TexMapType maptype, int layer=0) |
|
void | enableHairParameters (bool e) |
|
void | setHairDiffuse (float intensity, UT_Vector3F root_col, UT_Vector3F tip_col, bool use_map, bool use_ramp) |
|
void | setHairSpecular (float intensity, float angle, float shift, UT_Vector3F root_col, UT_Vector3F tip_col, bool use_map, bool use_ramp) |
|
void | setHairAlpha (float alpha, bool use_alpha_ramp) |
|
void | setHairRandomize (bool random_hue, UT_Vector2F hue_range, bool random_sat, UT_Vector2F sat_range, bool random_int, UT_Vector2F int_range, bool random_spec_int, UT_Vector2F spec_int_range) |
|
void | clearGameLayers () |
|
void | setUVTransform (int layer, UT_Vector2F t, fpreal r, UT_Vector2F s) |
|
void | getUVTransform (int layer, UT_Vector2F &t, fpreal &r, UT_Vector2F &s) const |
|
void | setUVLayerTint (int layer, bool use_tint, UT_Vector4F tint, fpreal rough) |
|
void | setUVTriplanar (int layer, fpreal scale=1.0, fpreal sharp=1.0, UT_Vector3F blend=UT_Vector3F(1.0f), UT_Vector3F offset=UT_Vector3F(0.0f)) |
|
bool | isUVTriplanar (int layer) const |
|
fpreal | getUVTriplanarSharp (int layer) const |
|
fpreal | getUVTriplanarScale (int layer) const |
|
UT_Vector3F | getUVTriplanarBlend (int layer) const |
|
UT_Vector3F | getUVTriplanarOffset (int layer) const |
|
bool | getUVLayerUseTint (int layer) const |
|
UT_Vector4F | getUVLayerTint (int layer) const |
|
fpreal | getUVLayerRough (int layer) const |
|
void | setDiffuseOverride (RE_Texture *diffuse) |
|
void | setReflectionMap (RE_Texture *map) |
|
void | clearReflectionMap () |
|
RE_MaterialPtr | cloneWithoutTexture () const |
|
bool | loadTextureMaps (RE_Render *r, bool preload_only=false) |
|
void | preloadMapsOnly (bool preload) |
|
void | assignTextureMap (RE_Texture *tex, RE_TexMapType maptype, int index=0) |
|
void | removeTextureMap (RE_TexMapType maptype, int index=0) |
|
void | setTextureMap (RE_TextureMap *map, bool give_ownership, RE_TexMapType maptype, const UT_StringRef &uv_set, int index=0) |
|
void | clearTextureMap (RE_TexMapType maptype, int index=0) |
|
RE_TextureMap * | getTextureMap (RE_TexMapType maptype, int index=0) |
|
int | getNumDiffuseLayers () const |
|
bool | updateShaderForMaterial (RE_Render *r, int layer, bool textured, RE_ShaderTarget sht=RE_SHADER_TARGET_TRIANGLE, RE_Shader *shader=nullptr, bool allow_partial=false) |
|
void | restoreShader (RE_Render *r, RE_ShaderTarget sht=RE_SHADER_TARGET_TRIANGLE) |
|
int64 | getMemoryUsage (bool inclusive) const |
|
void | writeMaterialParmsToBlockGL4 (RE_Render *r, RE_UniformBlock *block, int material_idx, int layer, bool lit, bool textured) |
|
void | makeTexturesResident (RE_Render *r) |
|
void | removeTexturesFromResident (RE_Render *r) |
|
DEP_MicroNode & | dependencies () |
|
void | updateMaterialBlock (int layer, bool textured) |
|
const RE_UniformBlockHandle & | materialBlock () const |
|
const RE_UniformBlockHandle & | hairBlock () const |
|
const RE_UniformBlockHandle & | gameMatBlock () const |
|