Skip to content

@orillusion/core


Type Alias: RenderSetting

RenderSetting = object

Defined in: src/setting/RenderSetting.ts:13

Properties

debug

debug: boolean

Defined in: src/setting/RenderSetting.ts:14


renderPassState

renderPassState: number

Defined in: src/setting/RenderSetting.ts:15


renderState_left

renderState_left: number

Defined in: src/setting/RenderSetting.ts:16


renderState_right

renderState_right: number

Defined in: src/setting/RenderSetting.ts:17


renderState_split

renderState_split: number

Defined in: src/setting/RenderSetting.ts:18


quadScale

quadScale: number

Defined in: src/setting/RenderSetting.ts:19


hdrExposure

hdrExposure: number

Defined in: src/setting/RenderSetting.ts:20


drawOpMin

drawOpMin: number

Defined in: src/setting/RenderSetting.ts:21


drawOpMax

drawOpMax: number

Defined in: src/setting/RenderSetting.ts:22


drawTrMin

drawTrMin: number

Defined in: src/setting/RenderSetting.ts:23


drawTrMax

drawTrMax: number

Defined in: src/setting/RenderSetting.ts:24


zPrePass

zPrePass: boolean

Defined in: src/setting/RenderSetting.ts:25


useLogDepth

useLogDepth: boolean

Defined in: src/setting/RenderSetting.ts:26


useCompressGBuffer

useCompressGBuffer: boolean

Defined in: src/setting/RenderSetting.ts:27


gpuCull?

optional gpuCull?: boolean

Defined in: src/setting/RenderSetting.ts:37

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.


msaa

msaa: 0 | 2 | 4 | 8

Defined in: src/setting/RenderSetting.ts:42

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:47

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?

optional decals?: boolean

Defined in: src/setting/RenderSetting.ts:53

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.


useStencil?

optional useStencil?: boolean

Defined in: src/setting/RenderSetting.ts:66

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:74

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:78

post effect

enable?

optional enable?: boolean

bloom?

optional bloom?: BloomSetting

ssao?

optional ssao?: object

ssao.debug

debug: any

ssao.enable

enable: boolean

ssao.radius

radius: number

ssao.bias

bias: number

ssao.aoPower

aoPower: number

ssr?

optional ssr?: SSRSetting

taa?

optional taa?: TAASetting

gtao?

optional gtao?: GTAOSetting

ssgi?

optional ssgi?: GTAOSetting

outline?

optional outline?: OutlineSetting

globalFog?

optional globalFog?: GlobalFogSetting

skyline?

optional skyline?: SkylineSetting

godRay?

optional godRay?: GodRaySetting

fxaa?

optional fxaa?: object

fxaa.enable

enable: boolean

depthOfView?

optional depthOfView?: DepthOfViewSetting

volumetricFog?

optional volumetricFog?: VolumetricFogSetting