Type Alias: RenderSetting
RenderSetting =
object
Defined in: src/setting/RenderSetting.ts:16
Properties
debug
debug:
boolean
Defined in: src/setting/RenderSetting.ts:17
renderPassState
renderPassState:
number
Defined in: src/setting/RenderSetting.ts:18
renderState_left
renderState_left:
number
Defined in: src/setting/RenderSetting.ts:19
renderState_right
renderState_right:
number
Defined in: src/setting/RenderSetting.ts:20
renderState_split
renderState_split:
number
Defined in: src/setting/RenderSetting.ts:21
quadScale
quadScale:
number
Defined in: src/setting/RenderSetting.ts:22
hdrExposure
hdrExposure:
number
Defined in: src/setting/RenderSetting.ts:23
drawOpMin
drawOpMin:
number
Defined in: src/setting/RenderSetting.ts:24
drawOpMax
drawOpMax:
number
Defined in: src/setting/RenderSetting.ts:25
drawTrMin
drawTrMin:
number
Defined in: src/setting/RenderSetting.ts:26
drawTrMax
drawTrMax:
number
Defined in: src/setting/RenderSetting.ts:27
zPrePass
zPrePass:
boolean
Defined in: src/setting/RenderSetting.ts:28
useLogDepth
useLogDepth:
boolean
Defined in: src/setting/RenderSetting.ts:29
useCompressGBuffer
useCompressGBuffer:
boolean
Defined in: src/setting/RenderSetting.ts:30
gpuCull?
optionalgpuCull?:boolean
Defined in: src/setting/RenderSetting.ts:40
GPU-driven culling — when true, frustum + (when paired with Hi-Z) occlusion tests run on the GPU per mesh instance and produce a drawIndexedIndirect arg buffer. The compute pass is fully implemented in GPUCullPass / GPUFrustumCull_cs; what's still skeleton is the drawNodes consumer (_transparentDraw.ts, driven by ColorPass) that actually issues the indirect call (the existing per-node iteration coexists). Flip this on AND open the integration in drawNodes to get the 5-20× perf win.
objectMotionVectors?
optionalobjectMotionVectors?:boolean
Defined in: src/setting/RenderSetting.ts:47
Per-object motion vectors. When true, the engine keeps a copy of the previous frame's model matrices and MotionVectorPass draws every opaque mesh's own screen-space velocity (camera + object motion) into _MotionVector; MotionBlurPost then blurs moving objects too, not only the camera's motion. Skinned meshes use the previous model matrix with the current pose (rigid motion only). Default false.
msaa
msaa:
0|2|4|8
Defined in: src/setting/RenderSetting.ts:52
Per-instance MSAA sample count for the main color pass. 0 disables MSAA (default). Valid non-zero values: 2 | 4 | 8 depending on device support. Enabling MSAA unlocks alpha-to-coverage (set LitMaterial.alphaMode = 'MASK').
useOIT
useOIT:
boolean
Defined in: src/setting/RenderSetting.ts:57
Opt-in order-independent transparency (Weighted Blended OIT). When true, materials with oitMode === 'weighted' are routed through the OIT accum/resolve features instead of the sorted transparent path. Default false — matches legacy behavior.
decals?
optionaldecals?:boolean
Defined in: src/setting/RenderSetting.ts:63
Opt-in projected decals. When true, ForwardRendererJob inserts DecalShadowVolumePass between the opaque/transmission half and the sorted transparent half — every active DecalComponent projects its texture onto the opaque scene via stencil shadow volumes. Default false.
water?
optionalwater?:boolean
Defined in: src/setting/RenderSetting.ts:71
Opt-in water support. When true, ForwardRendererJob adds SceneLinearDepthPass after the scene color pyramid, so WaterRenderer surfaces use the real distance to the bottom for absorption and refraction, CausticsPass before the pyramid for sunlight caustics under the surface, and UnderwaterPass before post-processing for the view with the camera in the water. Default false.
fluid?
optionalfluid?:boolean
Defined in: src/setting/RenderSetting.ts:76
Opt-in screen-space fluid rendering. When true, ForwardRendererJob inserts FluidPass between the opaque/transmission half and the sorted transparent half, drawing every active FluidRenderer. Default false.
useStencil?
optionaluseStencil?:boolean
Defined in: src/setting/RenderSetting.ts:89
Opt-in 8-bit stencil buffer on the main color pass. When true, GBufferFrame allocates its depth attachment as depth24plus-stencil8 instead of the default depth32float, so material-level stencil state (Material.stencilFront/Back/ ReadMask/WriteMask/Ref) is actually validated and bound at pipeline build time. Off by default — adding stencil makes the depth attachment incompatible with depth-only sampling paths (SSR/SSGI/Outline read _MainDepthTexture as sampleType: depth), so opt in only when the project actually needs stencil and the z-prepass is disabled (zPrePass: false) — the prepass path routes the color pass through a separate depth32floatzPreTexture and the stencil attachment is silently dropped.
tonemap
tonemap:
TonemapSetting
Defined in: src/setting/RenderSetting.ts:97
Final HDR→LDR tonemap. Runs after every other post (Bloom, FXAA, GodRay, etc.) so the ACES curve sees the composited HDR signal. Setting enable=false reverts to a passthrough pass — lighting and bloom shaders no longer apply inline ACES, so the frame will be raw HDR clamped at swapchain encode time.
postProcessing
postProcessing:
object
Defined in: src/setting/RenderSetting.ts:101
post effect
enable?
optionalenable?:boolean
bloom?
optionalbloom?:BloomSetting
ssao?
optionalssao?:object
ssao.debug
debug:
any
ssao.enable
enable:
boolean
ssao.radius
radius:
number
ssao.bias
bias:
number
ssao.aoPower
aoPower:
number
ssr?
optionalssr?:SSRSetting
taa?
optionaltaa?:TAASetting
gtao?
optionalgtao?:GTAOSetting
ssgi?
optionalssgi?:GTAOSetting
outline?
optionaloutline?:OutlineSetting
globalFog?
optionalglobalFog?:GlobalFogSetting
skyline?
optionalskyline?:SkylineSetting
lens?
optionallens?:LensSetting
motionBlur?
optionalmotionBlur?:MotionBlurSetting
colorGrading?
optionalcolorGrading?:ColorGradingSetting
godRay?
optionalgodRay?:GodRaySetting
fxaa?
optionalfxaa?:object
fxaa.enable
enable:
boolean
depthOfView?
optionaldepthOfView?:DepthOfViewSetting
volumetricFog?
optionalvolumetricFog?:VolumetricFogSetting

