Skip to content

RvanderLaan/DAGger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Remi van der LaanRemi van der Laan
Remi van der Laan
and
Remi van der Laan
Jan 18, 2021
10c39fb · Jan 18, 2021

History

47 Commits
Apr 26, 2020
Jun 27, 2020
Sep 21, 2020
Sep 21, 2020
May 24, 2020
Jul 6, 2020
Jan 18, 2021
Jan 18, 2021
Jan 18, 2021
Jul 6, 2020
Jul 6, 2020
Sep 6, 2020
Sep 6, 2020

Repository files navigation

DAGger: Sparse Voxel DAG Rendering on the Web

Try it out!

This is a web version of the viewer application from my SVDAG-Compression repository, which originates from the source code released alongside the SSVDAG paper.

Screenshots

The cube fractal scene rendered in DAGger using path tracing

Epic Citadel at 32K^3 rendered using path tracing

Video demo/bug-art

Video demo/dev-log/bug-art"

Goals

  • Render Sparse Voxel DAG in the browser using WebGL. Changes from OpenGL implementation: Replaced SamplerBuffer with Texture3D for represesenting nodes (no support in WebGL).
  • Beam optimization: A low-res depth pre-pass for starting off primary visibility rays close to the geometry they will hit. The beams are 8 by 8 pixel blocks.
  • First person controller [wip]
  • Stream the data to the GPU while downloading [wip]
  • Fractal generator [wip]
  • Path tracing: Implementation based on Alan Wolfe's blogpost
  • CPU raycasting for collision detection (gravity) and scene interaction (cursor rays) [wip]
  • Attribute encoding (colors)
  • Import 3D models (voxelize on the fly)
  • Scene modification
  • Stream based on demand - only nodes that are visible or close to the camera (e.g. could separate scene into a root file and 64 "chunk" files)

Running it locally:

  • Get NPM and Yarn installed
  • Install dependencies with yarn install
  • Running yarn start will compile TypeScript to JavaScript and start up an http server