WebGPU-based SciVis Renderer
For installing Rust, please see official guide, which is an oneliner that is different according to OSs.
For running the code, run one of the two lines in the source code directory.
# debug profile
cargo run
# release profile
cargo run --release
The dependencies are managed automatically by cargo
according to Cargo.toml
.
For now, we have simple interactions:
- Press
A
,D
to rotate camera. - Press
W
,S
to zoom in and out.
- Textures (1D, 2D, 3D)
- Multi-pass Rendering
- Front-face and back-face Rendering/ Depth Testing
- Render Buffers
- Multisampling
wgsl
shaders
- Ray jittering
- Better camera
- Configurable transfer functions
- Configurable volumes
- We thank sotrh@Github for his detailed and nicely-written tutorial about WebGPU and his patience on answering WebGPU questions.
- We thank kvark@Github for helping resolve a key issue in our implementation in the Github Discussion in wgpu.
- For the stag beetle dataset, please see the below reference
@dataset{dataset-stagbeetle, title = "Stag beetle", author = "Meister Eduard Gr\"{o}ller and Georg Glaeser and Johannes Kastner", year = "2005", abstract = "The stag beetle from Georg Glaeser, Vienna University of Applied Arts, Austria, was scanned with an industrial CT by Johannes Kastner, Wels College of Engineering, Austria, and Meister Eduard Gr\"{o}ller, Vienna University of Technology, Austria.", keywords = "volume, data set", URL = "https://www.cg.tuwien.ac.at/research/publications/2005/dataset-stagbeetle/", }