Class DetailMapConfiguration
Hierarchy
- MaterialPluginBase
- DetailMapConfiguration
Index
Constructors
Properties
Methods
- add
Fallbacks - bind
For Sub Mesh - collect
Defines - copy
To - dispose
- fill
Render Target Textures - get
Active Textures - get
Animatables - get
Attributes - get
Class Name - get
Custom Code - get
Samplers - get
Uniform Buffers Names - get
Uniforms - hard
Bind For Sub Mesh - has
Render Target Textures - has
Texture - is
Ready For Sub Mesh - parse
- prepare
Defines - prepare
Defines Before Attributes - serialize
Constructors
constructor
Creates a new material plugin
Parameters
material: StandardMaterial | PBRBaseMaterial
Optional addToPluginList: boolean
Returns DetailMapConfiguration
Properties
bump LevelSearch playground for bumpLevel
Defines how strong the bump effect from the detail map is Bigger values mean stronger effect
diffuse Blend LevelSearch playground for diffuseBlendLevel
Defines how strongly the detail diffuse/albedo channel is blended with the regular diffuse/albedo texture Bigger values mean stronger blending
is EnabledSearch playground for isEnabled
Enable or disable the detail map on this material
Readonly mark All Defines As DirtySearch playground for markAllDefinesAsDirty
Helper function to mark defines as being dirty.
Type declaration
Helper function to mark defines as being dirty.
Returns void
nameSearch playground for name
Defines the name of the plugin
normal Blend MethodSearch playground for normalBlendMethod
The method used to blend the bump and detail normals together
prioritySearch playground for priority
Defines the priority of the plugin. Lower numbers run first.
register For Extra EventsSearch playground for registerForExtraEvents
Indicates that this plugin should be notified for the extra events (HasRenderTargetTextures / FillRenderTargetTextures / HardBindForSubMesh)
roughness Blend LevelSearch playground for roughnessBlendLevel
Defines how strongly the detail roughness channel is blended with the regular roughness value Bigger values mean stronger blending. Only used with PBR materials
textureSearch playground for texture
The detail texture of the material.
Methods
add FallbacksSearch playground for addFallbacks
Add fallbacks to the effect fallbacks list.
Parameters
defines: MaterialDefines
defines the Base texture to use.
fallbacks: EffectFallbacks
defines the current fallback list.
currentRank: number
defines the current fallback rank.
Returns number
the new fallback rank.
bind For Sub MeshSearch playground for bindForSubMesh
Binds the material data.
Parameters
uniformBuffer: UniformBuffer
scene: Scene
Returns void
collect DefinesSearch playground for collectDefines
Collects all defines.
Parameters
defines: {}
The object to append to.
[name: string]: { default: any; type: string }
default: any
type: string
Returns void
copy ToSearch playground for copyTo
Makes a duplicate of the current configuration into another one.
Parameters
plugin: MaterialPluginBase
define the config where to copy the info
Returns void
disposeSearch playground for dispose
Disposes the resources of the material.
Parameters
Optional forceDisposeTextures: boolean
Returns void
fill Render Target TexturesSearch playground for fillRenderTargetTextures
Fills the list of render target textures.
Parameters
renderTargets: SmartArray<RenderTargetTexture>
the list of render targets to update
Returns void
get Active TexturesSearch playground for getActiveTextures
Returns an array of the actively used textures.
Parameters
activeTextures: BaseTexture[]
Returns void
get AnimatablesSearch playground for getAnimatables
Returns the animatable textures.
Parameters
animatables: IAnimatable[]
Returns void
get AttributesSearch playground for getAttributes
Gets the attributes used by the plugin.
Parameters
attributes: string[]
list that the attribute names should be added to.
scene: Scene
the scene that the material belongs to.
mesh: AbstractMesh
the mesh being rendered.
Returns void
get Class NameSearch playground for getClassName
Gets the current class name useful for serialization or dynamic coding.
Returns string
get Custom CodeSearch playground for getCustomCode
Returns a list of custom shader code fragments to customize the shader.
Parameters
shaderType: string
"vertex" or "fragment"
Returns Nullable<{}>
null if no code to be added, or a list of pointName => code. Note that
pointName
can also be a regular expression if it starts with a!
. In that case, the string found by the regular expression (if any) will be replaced by the code provided.
get SamplersSearch playground for getSamplers
Gets the samplers used by the plugin.
Parameters
samplers: string[]
Returns void
get Uniform Buffers NamesSearch playground for getUniformBuffersNames
Gets the uniform buffers names added by the plugin.
Parameters
ubos: string[]
list that the ubo names should be added to.
Returns void
get UniformsSearch playground for getUniforms
Gets the description of the uniforms to add to the ubo (if engine supports ubos) or to inject directly in the vertex/fragment shaders (if engine does not support ubos)
Returns { fragment?: string; ubo?: { name: string; size: number; type: string }[]; vertex?: string }
Optional fragment?: string
Optional ubo?: { name: string; size: number; type: string }[]
Optional vertex?: string
hard Bind For Sub MeshSearch playground for hardBindForSubMesh
Binds the material data (this function is called even if mustRebind() returns false)
Parameters
uniformBuffer: UniformBuffer
defines the Uniform buffer to fill in.
scene: Scene
defines the scene the material belongs to.
engine: Engine
defines the engine the material belongs to.
subMesh: SubMesh
the submesh to bind data for
Returns void
has Render Target TexturesSearch playground for hasRenderTargetTextures
Gets a boolean indicating that current material needs to register RTT
Returns boolean
true if this uses a render target otherwise false.
has TextureSearch playground for hasTexture
Checks to see if a texture is used in the material.
Parameters
texture: BaseTexture
Returns boolean
is Ready For Sub MeshSearch playground for isReadyForSubMesh
parseSearch playground for parse
Parses a anisotropy Configuration from a serialized object.
Parameters
source: any
Serialized object.
scene: Scene
Defines the scene we are parsing for
rootUrl: string
Defines the rootUrl to load from
Returns void
prepare DefinesSearch playground for prepareDefines
Sets the defines for the next rendering
Parameters
defines: MaterialDetailMapDefines
scene: Scene
Returns void
prepare Defines Before AttributesSearch playground for prepareDefinesBeforeAttributes
Sets the defines for the next rendering. Called before MaterialHelper.PrepareDefinesForAttributes is called.
Parameters
defines: MaterialDefines
the list of "defines" to update.
scene: Scene
defines the scene to the material belongs to.
mesh: AbstractMesh
the mesh being rendered
Returns void
serializeSearch playground for serialize
Serializes this clear coat configuration.
Returns any
- An object with the serialized config.
Plugin that implements the detail map component of a material
Inspired from: Unity: https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@9.0/manual/Mask-Map-and-Detail-Map.html and https://docs.unity3d.com/Manual/StandardShaderMaterialParameterDetail.html Unreal: https://docs.unrealengine.com/en-US/Engine/Rendering/Materials/HowTo/DetailTexturing/index.html Cryengine: https://docs.cryengine.com/display/SDKDOC2/Detail+Maps