Interface TransmissionOptions
copyCount?: number;
generateMipmaps?: boolean;
grabDepth?: boolean;
linear?: boolean;
mipLevelCount?: number;
}
Properties
Optionalcopy Count
Override how many times the scene-colour grab is refreshed per frame. 0 means before every
transmissive draw; the default is once before the first transmissive draw.
Optionalgenerate Mipmaps
Set false when the transmissive material never samples the scene-colour grab above mip 0.
Optionalgrab Depth
When true, ALSO snapshot the task's DEPTH attachment at the same mid-pass grab, into a single-sample
r32float texture exposed as SceneColorGrab.depthTexture — the opaque scene depth as of the moment
the first transmissive surface draws. Lets a transmissive material depth-ray-march the opaque scene
(screen-space reflection / refraction) without re-rendering a separate depth prepass: the depth
attachment itself cannot be sampled while the transmissive draw has it bound (a WebGPU feedback loop),
which is exactly why the snapshot is taken at the pass break. MSAA sources resolve sample 0 (matching
createDepthResolveTask). No-op when the task's render target carries no depth attachment.
Optionallinear
When true (the default), retarget the task's color buffer to a linear rgba16float
offscreen and tone-map it in a trailing image-processing pass — the model PBR
transmission uses so refractive materials read scene color in linear space.
Set false to perform ONLY the mid-pass scene-color grab: the task's render target
format / sample count / clear are left untouched and no tone-map pass is added. Use
this for consumers that own their tone mapping / post (e.g. a custom depth-of-field
stack) and just need the opaque scene color exposed to a custom transmissive
ShaderMaterial.
Optionalmip Level Count
Cap the scene-colour grab mip chain. Use this when the material samples explicit low LODs only, so
unused tiny mips are not regenerated every frame. Ignored when generateMipmaps is false.
Options controlling how a render task exposes opaque scene color to transmissive materials. Use these to opt out of the linear offscreen path, control refresh frequency, and limit mipmap generation cost.