Skip to content

Add Gaussian Splatting Depth of Field example#8853

Merged
mvaligursky merged 1 commit into
mainfrom
mv-gsplat-dof-example
Jun 6, 2026
Merged

Add Gaussian Splatting Depth of Field example#8853
mvaligursky merged 1 commit into
mainfrom
mv-gsplat-dof-example

Conversation

@mvaligursky

Copy link
Copy Markdown
Contributor

Adds a new Gaussian Splatting example: a first-person walkthrough of a splat scene with a Depth of Field post effect.

Changes:

  • New gaussian-splatting/depth-of-field example (.example.mjs + .controls.jsx) and its thumbnails.
  • The DOF focus depth is supplied by a lightweight proxy mesh rendered into the camera depth prepass only (excluded from the forward/color pass), so it contributes depth without being visible.
  • A separate simplified mesh is used as a static triangle-mesh collider for the first-person controller.
  • Autofocus: raycasts the collision mesh at the screen center and eases the focus distance there, with an auto-derived focus range and an HTML reticle.
  • Fast time to first frame: starts at the coarsest LOD and restores the full range (and enables DOF + sharpening) once the first frame is ready.
  • Proxy and collision meshes are Draco-compressed; the splat streams from a remote LOD/SOG URL.

Examples:

  • gaussian-splatting/depth-of-field

Depends on MeshInstance.shaderPassMask (#8852, merged).

A first-person walkthrough of a Gaussian Splat with a Depth of Field post
effect. The DOF depth comes from a lightweight proxy mesh rendered into the
camera depth prepass only (excluded from the forward pass), and a separate
simplified mesh is used as a static collider. Includes fast time-to-first-frame
LOD streaming and autofocus on the screen center.
@mvaligursky mvaligursky self-assigned this Jun 6, 2026
@mvaligursky mvaligursky merged commit 3debb92 into main Jun 6, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-gsplat-dof-example branch June 6, 2026 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant