Material
Engine/source/materials/materialDefinition.h
The basic material definition.
Classes:
Public User Defined
bool
If true, show footprints when walking on surface with this material. Defaults to false.
bool
If true, show dust emitters (footpuffs, hover trails, etc) when on surface with this material. Defaults to false.
mEffectColor [NUM_EFFECT_COLOR_STAGES]
Color to use for particle effects and such when located on this material.
Footstep sound to play when walking on surface with this material.
SFXTrack *
Sound effect to play when walking on surface with this material.
Amount of volume occlusion on direct sounds.
Amount of volume occlusion on reverb sounds.
Public Types
AnimType { Scroll = 1 Rotate = 2 Wave = 4 Scale = 8 Sequence = 16 }
BlendOp { None = 0 Mul PreMul Add AddAlpha Sub LerpAlpha ToneMap NumBlendTypes }
Constants { MAX_TEX_PER_PASS = 8 MAX_STAGES = 4 NUM_EFFECT_COLOR_STAGES = 2 }
TexType { NoTexture = 0 Standard = 1 Detail Bump DetailBump Env Cube SGCube Lightmap ToneMapTex Mask BackBuff ReflectBuff Misc DynamicLight DynamicLightMask NormalizeCube TexTarget AccuMap }
WaveType { Sin = 0 Triangle Square }
Private Types
Parent
Public Attributes
mAccuCoverage [MAX_STAGES]
mAccuDirection [MAX_STAGES]
bool
mAccuEnabled [MAX_STAGES]
mAccuScale [MAX_STAGES]
mAccuSpecular [MAX_STAGES]
mAccuStrength [MAX_STAGES]
bool
mAnimFlags [MAX_STAGES]
bool
bool
A generic setting which tells the system to skip generation of shadows from this material.
mCellIndex [MAX_STAGES]
mCellLayout [MAX_STAGES]
mDetailNormalMapStrength [MAX_STAGES]
The strength scalar for the detail normal map.
mDetailScale [MAX_STAGES]
The repetition scale of the detail texture over the base texture.
mDiffuse [MAX_STAGES]
This color is the diffuse color of the material or if it has a texture it is multiplied against the diffuse texture color.
bool
mDiffuseMapSRGB [MAX_STAGES]
bool
bool
bool
mEmissive [MAX_STAGES]
bool
mGlow [MAX_STAGES]
Specual imposter rendering paramters.
Special array of UVs for imposter rendering.
bool
mInvertRoughness [MAX_STAGES]
bool
mIsSRGb [MAX_STAGES]
mMatInfoFlags [MAX_STAGES]
mMetalChan [MAX_STAGES]
mMetalness [MAX_STAGES]
mMinnaertConstant [MAX_STAGES]
bool
mNormalMapAtlas [MAX_STAGES]
mParallaxScale [MAX_STAGES]
bool
mRotPivotOffset [MAX_STAGES]
mRoughness [MAX_STAGES]
mRoughnessChan [MAX_STAGES]
mScrollDir [MAX_STAGES]
mScrollOffset [MAX_STAGES]
mScrollSpeed [MAX_STAGES]
mSeqFramePerSec [MAX_STAGES]
mSeqSegSize [MAX_STAGES]
bool
mSubSurface [MAX_STAGES]
mSubSurfaceColor [MAX_STAGES]
mSubSurfaceRolloff [MAX_STAGES]
bool
bool
bool
mUseAnisotropic [MAX_STAGES]
If the stage should use anisotropic filtering.
bool
mVertColor [MAX_STAGES]
If true for a stage, vertex colors are multiplied against diffuse colors.
bool
mVertLit [MAX_STAGES]
Public Static Attributes
Protected Attributes
Protected Static Attributes
Private Static Attributes
Public Static Functions
bool
_setAccuEnabled(void * object, const char * index, const char * data)
Public Functions
bool
Allocates and returns a BaseMatInstance for this material.
DECLARE_TEXTUREARRAY(Material , AOMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , DetailMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , DetailNormalMap , MAX_STAGES )
A second normal map which repeats at the detail map scale and blended with the base normal map.
DECLARE_TEXTUREARRAY(Material , DiffuseMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , GlowMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , LightMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , MetalMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , NormalMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , ORMConfigMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , OverlayMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , RoughMap , MAX_STAGES )
Called after any property of the object is changed in the world editor.
bool
bool
bool
bool
bool
bool
onAdd()
Called when the object is added to the sim.
setAutoGenerated(bool isAutoGenerated)
Called to update time based parameters for a material.
bool
writeField(StringTableEntry fieldname, const char * value)
Determine whether or not a field should be written.
Protected Functions
Map this material to the texture specified in the "mapTo" data variable.
Detailed Description
The basic material definition.
Public User Defined
bool mShowFootprints
If true, show footprints when walking on surface with this material. Defaults to false.
Behavioral properties.
bool mShowDust
If true, show dust emitters (footpuffs, hover trails, etc) when on surface with this material. Defaults to false.
LinearColorF mEffectColor [NUM_EFFECT_COLOR_STAGES]
Color to use for particle effects and such when located on this material.
S32 mFootstepSoundId
Footstep sound to play when walking on surface with this material.
Numeric ID of footstep sound defined on player datablock (0 == soft, 1 == hard, 2 == metal, 3 == snow). Defaults to -1 which deactivates default sound.
S32 mImpactSoundId
S32 mImpactFXIndex
SFXTrack * mFootstepSoundCustom
Sound effect to play when walking on surface with this material.
If defined, overrides mFootstepSoundId.
SFXTrack * mImpactSoundCustom
F32 mFriction
Friction coefficient when moving along surface.
F32 mDirectSoundOcclusion
Amount of volume occlusion on direct sounds.
F32 mReverbSoundOcclusion
Amount of volume occlusion on reverb sounds.
Public Types
AnimType
Enumerator
- Scroll = 1
- Rotate = 2
- Wave = 4
- Scale = 8
- Sequence = 16
BlendOp
Enumerator
- None = 0
- Mul
- PreMul
- Add
- AddAlpha
- Sub
- LerpAlpha
- ToneMap
- NumBlendTypes
Constants
Enumerator
- MAX_TEX_PER_PASS = 8
Number of textures per pass.
- MAX_STAGES = 4
- NUM_EFFECT_COLOR_STAGES = 2
Number of effect color definitions for transitioning effects.
TexType
Enumerator
- NoTexture = 0
- Standard = 1
- Detail
- Bump
- DetailBump
- Env
- Cube
- SGCube
- Lightmap
- ToneMapTex
- Mask
- BackBuff
- ReflectBuff
- Misc
- DynamicLight
- DynamicLightMask
- NormalizeCube
- TexTarget
- AccuMap
WaveType
Enumerator
- Sin = 0
- Triangle
- Square
Private Types
typedef BaseMaterialDefinition Parent
Public Attributes
F32 mAccuCoverage [MAX_STAGES]
F32 mAccuDirection [MAX_STAGES]
bool mAccuEnabled [MAX_STAGES]
F32 mAccuScale [MAX_STAGES]
F32 mAccuSpecular [MAX_STAGES]
F32 mAccuStrength [MAX_STAGES]
U32 mAlphaRef
bool mAlphaTest
U32 mAnimFlags [MAX_STAGES]
F32 mAOChan [MAX_STAGES]
bool mAutoGenerated
bool mCastShadows
A generic setting which tells the system to skip generation of shadows from this material.
Point2I mCellIndex [MAX_STAGES]
Point2I mCellLayout [MAX_STAGES]
U32 mCellSize [MAX_STAGES]
CubemapData * mCubemapData
String mCubemapName
F32 mDetailNormalMapStrength [MAX_STAGES]
The strength scalar for the detail normal map.
Point2F mDetailScale [MAX_STAGES]
The repetition scale of the detail texture over the base texture.
LinearColorF mDiffuse [MAX_STAGES]
This color is the diffuse color of the material or if it has a texture it is multiplied against the diffuse texture color.
bool mDiffuseMapSRGB [MAX_STAGES]
bool mDoubleSided
bool mDynamicCubemap
bool mEmissive [MAX_STAGES]
bool mGlow [MAX_STAGES]
F32 mGlowMul [MAX_STAGES]
Point4F mImposterLimits
Specual imposter rendering paramters.
Vector< RectF > mImposterUVs
Special array of UVs for imposter rendering.
bool mInvertRoughness [MAX_STAGES]
bool mIsSRGb [MAX_STAGES]
String mMapTo
F32 mMatInfoFlags [MAX_STAGES]
F32 mMetalChan [MAX_STAGES]
F32 mMetalness [MAX_STAGES]
F32 mMinnaertConstant [MAX_STAGES]
bool mNormalMapAtlas [MAX_STAGES]
F32 mParallaxScale [MAX_STAGES]
bool mPlanarReflection
Point2F mRotPivotOffset [MAX_STAGES]
F32 mRotPos [MAX_STAGES]
F32 mRotSpeed [MAX_STAGES]
F32 mRoughness [MAX_STAGES]
F32 mRoughnessChan [MAX_STAGES]
Point2F mScrollDir [MAX_STAGES]
Point2F mScrollOffset [MAX_STAGES]
F32 mScrollSpeed [MAX_STAGES]
F32 mSeqFramePerSec [MAX_STAGES]
F32 mSeqSegSize [MAX_STAGES]
bool mSubSurface [MAX_STAGES]
LinearColorF mSubSurfaceColor [MAX_STAGES]
F32 mSubSurfaceRolloff [MAX_STAGES]
bool mTranslucent
BlendOp mTranslucentBlendOp
bool mTranslucentZWrite
bool mUseAnisotropic [MAX_STAGES]
If the stage should use anisotropic filtering.
bool mVertColor [MAX_STAGES]
If true for a stage, vertex colors are multiplied against diffuse colors.
bool mVertLit [MAX_STAGES]
F32 mWaveAmp [MAX_STAGES]
F32 mWaveFreq [MAX_STAGES]
F32 mWavePos [MAX_STAGES]
U32 mWaveType [MAX_STAGES]
Public Static Attributes
bool sAllowTextureTargetAssignment
Protected Attributes
U32 mLastUpdateTime
String mPath
Protected Static Attributes
EnumTable mAnimFlagTable
EnumTable mBlendOpTable
EnumTable mWaveTypeTable
Private Static Attributes
GFXCubemapHandle smNormalizeCube
Public Static Functions
_setAccuEnabled(void * object, const char * index, const char * data)
GetNormalizeCube()
initPersistFields()
Public Functions
Material()
Material interface.
castsShadows()
Reimplemented from: BaseMaterialDefinition
createMatInstance()
Reimplemented from: BaseMaterialDefinition
DECLARE_CONOBJECT(Material )
DECLARE_TEXTUREARRAY(Material , AOMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , DetailMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , DetailNormalMap , MAX_STAGES )
A second normal map which repeats at the detail map scale and blended with the base normal map.
DECLARE_TEXTUREARRAY(Material , DiffuseMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , GlowMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , LightMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , MetalMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , NormalMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , ORMConfigMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , OverlayMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , RoughMap , MAX_STAGES )
DECLARE_TEXTUREARRAY(Material , ToneMap , MAX_STAGES )
flush()
getPath()
inspectPostApply()
Reimplemented from: SimObject
isAlphatest()
Reimplemented from: BaseMaterialDefinition
isAutoGenerated()
isDoubleSided()
Reimplemented from: BaseMaterialDefinition
isLightmapped()
Reimplemented from: BaseMaterialDefinition
isTranslucent()
Reimplemented from: BaseMaterialDefinition
onAdd()
Reimplemented from: SimObject
Reimplemented by: CustomMaterial
onRemove()
Reimplemented from: SimObject
Reimplemented by: CustomMaterial
reload()
Re-initializes all the material instances that use this material.
setAutoGenerated(bool isAutoGenerated)
updateTimeBasedParams()
Called to update time based parameters for a material.
Ensures that it only happens once per tick.
writeField(StringTableEntry fieldname, const char * value)
Reimplemented from: SimObject
Protected Functions
_mapMaterial()
Map this material to the texture specified in the "mapTo" data variable.
Reimplemented by: CustomMaterial