Documentation / scene / SkinSSS
Class: SkinSSS
Defined in: libs/scene/src/posteffect/skinsss.ts:20
Stylized screen-space skin scattering pass.
Remarks
This is intentionally separate from the profile-based SSS pass. It follows the simpler depth-aware blur used by many character renderers: a skin material writes a lighting multiplier into a side buffer, then this pass performs a fixed 9x9 depth-aware blur and composites it back over the opaque color.
Extends
Constructors
Constructor
new SkinSSS():
SkinSSS
Defined in: libs/scene/src/posteffect/skinsss.ts:29
Returns
SkinSSS
Overrides
AbstractPostEffect.constructor
Properties
_enabled
protected_enabled:boolean
Defined in: libs/scene/src/posteffect/posteffect.ts:117
Inherited from
_layer
protected_layer:PostEffectLayer
Defined in: libs/scene/src/posteffect/posteffect.ts:118
Inherited from
Accessors
disposed
Get Signature
get disposed():
boolean
Defined in: libs/base/dist/index.d.ts:6065
Returns
boolean
Inherited from
enabled
Get Signature
get enabled():
boolean
Defined in: libs/scene/src/posteffect/posteffect.ts:129
Whether this post effect is enabled
Returns
boolean
Set Signature
set enabled(
val):void
Defined in: libs/scene/src/posteffect/posteffect.ts:132
Parameters
val
boolean
Returns
void
Inherited from
layer
Get Signature
get layer():
PostEffectLayer
Defined in: libs/scene/src/posteffect/posteffect.ts:136
Whether this post effect will be rendered at opaque phase
Returns
Inherited from
strength
Get Signature
get strength():
number
Defined in: libs/scene/src/posteffect/skinsss.ts:41
Final blend strength.
Returns
number
Set Signature
set strength(
val):void
Defined in: libs/scene/src/posteffect/skinsss.ts:44
Parameters
val
number
Returns
void
opacity
Get Signature
get opacity():
number
Defined in: libs/scene/src/posteffect/skinsss.ts:49
Bias subtracted from the blurred skin mask before compositing.
Returns
number
Set Signature
set opacity(
val):void
Defined in: libs/scene/src/posteffect/skinsss.ts:52
Parameters
val
number
Returns
void
sampleStep
Get Signature
get sampleStep():
number
Defined in: libs/scene/src/posteffect/skinsss.ts:57
Pixel spacing between blur taps. The reference shader uses 2.
Returns
number
Set Signature
set sampleStep(
val):void
Defined in: libs/scene/src/posteffect/skinsss.ts:60
Parameters
val
number
Returns
void
depthScale
Get Signature
get depthScale():
number
Defined in: libs/scene/src/posteffect/skinsss.ts:65
Depth rejection scale. The reference shader uses 80.
Returns
number
Set Signature
set depthScale(
val):void
Defined in: libs/scene/src/posteffect/skinsss.ts:68
Parameters
val
number
Returns
void
colorBoost
Get Signature
get colorBoost():
number
Defined in: libs/scene/src/posteffect/skinsss.ts:73
Multiplier applied to the blurred skin lighting multiplier before compositing.
Returns
number
Set Signature
set colorBoost(
val):void
Defined in: libs/scene/src/posteffect/skinsss.ts:76
Parameters
val
number
Returns
void
Methods
on()
on<
K>(type,listener,context?):void
Defined in: libs/base/dist/index.d.ts:594
IEventTarget.on
Type Parameters
K
K extends "dispose"
Parameters
type
K
listener
EventListener<{ dispose: []; }, K>
context?
unknown
Returns
void
Inherited from
once()
once<
K>(type,listener,context?):void
Defined in: libs/base/dist/index.d.ts:598
IEventTarget.once
Type Parameters
K
K extends "dispose"
Parameters
type
K
listener
EventListener<{ dispose: []; }, K>
context?
unknown
Returns
void
Inherited from
off()
off<
K>(type,listener?,context?):void
Defined in: libs/base/dist/index.d.ts:602
IEventTarget.off
Type Parameters
K
K extends "dispose"
Parameters
type
K
listener?
EventListener<{ dispose: []; }>
context?
unknown
Returns
void
Inherited from
dispatchEvent()
dispatchEvent<
K>(type, ...args):void
Defined in: libs/base/dist/index.d.ts:606
IEventTarget.dispatchEvent
Type Parameters
K
K extends "dispose"
Parameters
type
K
args
...object[K]
Returns
void
Inherited from
AbstractPostEffect.dispatchEvent
dispose()
dispose():
void
Defined in: libs/base/dist/index.d.ts:6066
Returns
void
Inherited from
needFlip()
needFlip(
device):boolean
Defined in: libs/scene/src/posteffect/posteffect.ts:144
Check if the post effect should be rendered upside down.
Parameters
device
AbstractDevice
The device object
Returns
boolean
true if the post effect should be rendered upside down
Inherited from
requireDepthAttachment()
requireDepthAttachment(
_ctx):boolean
Defined in: libs/scene/src/posteffect/posteffect.ts:158
Checks whether this post effect requires the scene depth buffer
Parameters
_ctx
Returns
boolean
true if the scene depth buffer is required.
Inherited from
AbstractPostEffect.requireDepthAttachment
requireMotionVectorTexture()
requireMotionVectorTexture(
_ctx):boolean
Defined in: libs/scene/src/posteffect/posteffect.ts:165
Checks whether this post effect requires the motion vector texture
Parameters
_ctx
Returns
boolean
true if the motion vector texture is required.
Inherited from
AbstractPostEffect.requireMotionVectorTexture
setup()
setup(
s):RGHandle
Defined in: libs/scene/src/posteffect/posteffect.ts:193
Declare this effect's passes on the render graph.
The default implementation wraps AbstractPostEffect.apply into a single graph pass, so effects only overriding apply() work unchanged. Multi-pass effects override this method to declare each internal step as its own pass, calling PostEffectSetupContext.createOutput inside the final pass.
Parameters
s
Build-time setup context.
Returns
The effect's output color handle.
Inherited from
passThrough()
protectedpassThrough(ctx,inputColorTexture,srgbOutput,renderStates?):void
Defined in: libs/scene/src/posteffect/posteffect.ts:269
Parameters
ctx
Draw context
inputColorTexture
Texture2D
Input color texture
srgbOutput
boolean
Whether the result should be gamma corrected
renderStates?
RenderStateSet
Returns
void
Inherited from
AbstractPostEffect.passThrough
drawFullscreenQuad()
protecteddrawFullscreenQuad(renderStateSet?):void
Defined in: libs/scene/src/posteffect/posteffect.ts:288
Draws a fullscreen quad
Parameters
renderStateSet?
RenderStateSet
Render states that will be used when drawing the fullscreen quad.
Returns
void
Inherited from
AbstractPostEffect.drawFullscreenQuad
onDispose()
protectedonDispose():void
Defined in: libs/scene/src/posteffect/posteffect.ts:301
Returns
void
Inherited from
requireLinearDepthTexture()
requireLinearDepthTexture():
boolean
Defined in: libs/scene/src/posteffect/skinsss.ts:80
Checks whether this post effect requires the linear depth texture
Returns
boolean
true if the linear depth texture is required.
Overrides
AbstractPostEffect.requireLinearDepthTexture
apply()
apply(
ctx,inputColorTexture,sceneDepthTexture,srgbOutput):void
Defined in: libs/scene/src/posteffect/skinsss.ts:84
Apply the post effect
Parameters
ctx
inputColorTexture
Texture2D
The previous scene color texture
sceneDepthTexture
Texture2D
The linear scene depth texture
srgbOutput
boolean
Whether the result should be gamma corrected
Returns
void
Remarks
The frame buffer of the post effect is already set when apply() is called.