You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WebGPUPathTracer: "setBVHWorker" and "setSceneAsync" to build the mesh BVHs in workers without blocking the page.
WebGPUPathTracer: A "complete" event and flag once every pixel has reached "maxSamples" and the denoiser, if any, has run.
WebGPUPathTracer: A "progress" event with the stage the render is in, "building", "compiling", "rendering" or "denoising", and how far along it is.
WebGPUPathTracer: "renderToCanvas" flag to skip drawing the result to the render target.
OIDNDenoiser: An "error" event when a pass started by "update" fails, such as the weights failing to download, and a "progress" event as each tile finishes.
WebGPUPathTracer: The scene data is available to kernels and camera ray functions through the TSL context as "bvhData".
WebGPUPathTracer: "renderAuxBuffer" draws the albedo or normal auxiliary buffer given to the denoiser.
WebGPUPathTracer: "adaptiveFrameBudget" and "targetFrameTime" to tune "frameBudget" toward a GPU frame time, measured as "frameTime". Enabled by default, and requires a renderer created with "trackTimestamp". A reset restores the budget from before the last pixels of a capped render finished.
WebGPUPathTracer: "adaptiveDynamicRes" adjusts "lowResScale" to the pixels a frame of "frameBudget" can render.
WebGPUPathTracer: Subsurface scattering through volumes, with "scatterStrength", "multiscatterColor" and "scatterAnisotropy" material properties following the "KHR_materials_scatter" proposal, and "maxSubsurfaceBounces".
Changed
WebGPUPathTracer: Requires three.js r187, which binds every storage buffer as an array.
WebGPUPathTracer: Sobol is the default random strategy instead of Blue Dither.
WebGPUPathTracer: "renderDelay" defaults to 16 and "fadeDuration" to 250, and the fade starts once the average pixel reaches "minSamples", so the full render shows sooner after the camera stops.
OIDNDenoiser: Uses "oidn-webgpu" 0.6.0, the renamed "oidn-web" package, and paces denoising tiles to display frames.
OIDNDenoiser: The albedo and normal auxiliary buffers are accumulated by the path tracer from the first scatter of every sample instead of rasterized, so they match the image under depth of field and transparency. "setScene" is gone and "update" takes the auxiliary buffer.
AtlasTexture: Pages grow to the device texture size limit instead of 4096, so larger textures are no longer downsampled.
WebGPUPathTracer: Pixels a camera declines count as finished once "maxSamples" is set.
WebGPUPathTracer: Kernels are compiled asynchronously before the first render, so the page no longer freezes while they compile.
WebGPUPathTracer: "updateEnvironment" no longer rebuilds an unchanged environment map on every call.
WebGPUPathTracer: Shadow rays pass through partially transparent surfaces, attenuated by their opacity, and stop at the first opaque hit.
Fixed
WebGPUPathTracer: Rough transmission at the critical angle producing a NaN direction, which could stall the GPU for minutes inside subsurface scattering volumes.
WebGPUPathTracer: Diffuse surfaces losing energy when "specularIntensity" or "specularColor" is lowered.
WebGPUPathTracer: Light through partially transparent objects hidden with "visibleToShadowRays" no longer being counted twice.