Class ThinMeshBlendingPostProcess
Hierarchy (View Summary)
- EffectWrapper
- ThinMeshBlendingPostProcess
Constructors
constructor
-
new ThinMeshBlendingPostProcess(
name: string,
engine?: Nullable<AbstractEngine>,
options?: IThinMeshBlendingPostProcessOptions,
): ThinMeshBlendingPostProcessConstructs a mesh-blending post process.
Parameters
- name: string
Name of the effect.
- engine: Nullable<AbstractEngine> = null
Engine used to render the effect.
Optionaloptions: IThinMeshBlendingPostProcessOptionsOptions used to configure the effect.
Returns ThinMeshBlendingPostProcess
- name: string
Properties
alpha Mode
Type of alpha mode to use when applying the effect (default: Engine.ALPHA_DISABLE). Used only if useAsPostProcess is true.
camera
Camera used to project radii and reconstruct view-space positions.
on Apply Observable
Event that is fired (only when the EffectWrapper is used with an EffectRenderer) right before the effect is drawn (should be used to update uniforms)
on Effect Created Observable
Executed when the effect is created
Readonlyoptions
Options used to create the effect wrapper
Readonlyradius Classes
The four configurable radius definitions indexed by packed radius class.
Both values are projected against the active camera and the physical depth-texture height.
StaticForce GLSL
Force code to compile to glsl even on WebGPU engines. False by default. This is mostly meant for backward compatibility.
Static ReadonlyFragment Url
The fragment shader URL.
Static ReadonlySamplers
The list of samplers used by the effect.
Static ReadonlyUniforms
The list of uniforms used by the effect.
Accessors
debug Mode
-
Gets the compiled debug visualization.
Returns MeshBlendDebugMode
-
Parameters
- value: MeshBlendDebugMode
Returns void
depth Type
-
Gets the representation stored in the bound depth texture.
Returns MeshBlendDepthType
-
Parameters
- value: MeshBlendDepthType
Returns void
draw Wrapper
-
Get the draw wrapper associated with the effect wrapper
Returns DrawWrapper
the draw wrapper associated with the effect wrapper
effect
has Base Color Texture
-
set hasBaseColorTexture(value: boolean): void
Parameters
- value: boolean
Returns void
name
-
get name(): string
Gets or sets the name of the effect wrapper
Returns string
-
set name(value: string): void
Parameters
- value: string
Returns void
quality
-
Gets the compile-time quality variant.
Returns MeshBlendQuality
-
Parameters
- value: MeshBlendQuality
Returns void
slope Factor
-
get slopeFactor(): number
Contact-slope narrowing factor. A value of 1 disables narrowing.
Returns number
-
set slopeFactor(value: number): void
Parameters
- value: number
Returns void
Methods
bind
-
Binds the data to the effect.
Parameters
- noDefaultBindings: boolean = false
if true, the default bindings (scale and alpha mode) will not be set.
Returns void
- noDefaultBindings: boolean = false
configure
-
Applies shared mesh-blending configuration.
Parameters
Optionaloptions: IMeshBlendConfigurationValues to apply. Omitted values retain their current settings.
Returns void
dispose
-
Disposes of the effect wrapper
Returns void
is Ready
-
Get a value indicating if the effect is ready to be used
Returns boolean
true if the post-process is ready (shader is compiled)
update Effect
defines?: Nullable<string>,
uniforms?: Nullable<string[]>,
samplers?: Nullable<string[]>,
indexParameters?: any,
onCompiled?: (effect: Effect) => void,
onError?: (effect: Effect, errors: string) => void,
vertexUrl?: string,
fragmentUrl?: string,
): void
Updates the effect with the current effect wrapper compile time values and recompiles the shader.
Parameters
Define statements that should be added at the beginning of the shader. (default: null)
Set of uniform variables that will be passed to the shader. (default: null)
Set of Texture2D variables that will be passed to the shader. (default: null)
OptionalindexParameters: any
The index parameters to be used for babylons include syntax "#include[0..varyingCount]". (default: undefined) See usage in babylon.blurPostProcess.ts and kernelBlur.vertex.fx
OptionalonCompiled: (effect: Effect) => void
Called when the shader has been compiled.
OptionalonError: (effect: Effect, errors: string) => void
Called if there is an error when compiling a shader.
OptionalvertexUrl: string
The url of the vertex shader to be used (default: the one given at construction time)
OptionalfragmentUrl: string
The url of the fragment shader to be used (default: the one given at construction time)
Returns void
StaticRegister Shader Code Processing
-
RegisterShaderCodeProcessing(
effectWrapperName: Nullable<string>,
customShaderCodeProcessing?: EffectWrapperCustomShaderCodeProcessing,
): voidRegisters a shader code processing with an effect wrapper name.
Parameters
- effectWrapperName: Nullable<string>
name of the effect wrapper. Use null for the fallback shader code processing. This is the shader code processing that will be used in case no specific shader code processing has been associated to an effect wrapper name
OptionalcustomShaderCodeProcessing: EffectWrapperCustomShaderCodeProcessingshader code processing to associate to the effect wrapper name
Returns void
- effectWrapperName: Nullable<string>
Shared WebGL2 and WebGPU effect wrapper used to visually blend SceneColor across validated contacts between opaque or alpha-tested meshes.
The effect does not modify geometry, depth, normals, collisions, or shadows. Transparent rendering is caller-controlled; overlapping transparent surfaces can make SceneColor inconsistent with the single-layer geometry inputs. Meshes opt in with a packed tag whose group is in the range 1..63; group 0 disables blending. Surfaces in the same nonzero group are treated as one logical object and do not blend with one another. The four radius classes combine an authored world-space radius with a minimum radius measured in physical render-target pixels.
Perspective and orthographic cameras are supported. Search noise is spatially stable and never varies by frame. Optional base-color input enables shadow estimation; without it, the related sampler and shader work are compiled out. The effect does not require or implement TAA.