Skip to content

Commit

Permalink
Merge pull request #1 from GrandmasterB42/Scene-BVH
Browse files Browse the repository at this point in the history
Scene bvh
  • Loading branch information
GrandmasterB42 authored Sep 24, 2024
2 parents c9e9c70 + 9af0d8e commit 182a24a
Show file tree
Hide file tree
Showing 7 changed files with 1,082 additions and 891 deletions.
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ bevy_mod_picking = { version = "0.20", default-features = false, features = [
] }
bevy_transform_gizmo = "0.12"
rand = "0.8"
obvhs = "0.1.0"

[profile.dev]
opt-level = 1
Expand Down
45 changes: 25 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
# bevyray

[Ray Tracing in One Weekend](https://raytracing.github.io/) in a [Bevy](https://bevyengine.org) Fragment Shader

![bevyray](assets/images/bevyray.png)

## Future work

- set up performance measuring tests
- Meshes (look into how meshlets are integrated) with their own BVH
- More efficient buffer writing (everything is currently copied to storage buffers every frame)
- BVH for the scene
- look into multi-pass techniques and compute shader performance
- properly blend between rasterized and raytraced graphics
- support light sources
- more material features
- denoising
- importance sampling
- integrating with more bevy features
- CI
# bevyray

[Ray Tracing in One Weekend](https://raytracing.github.io/) in a [Bevy](https://bevyengine.org) Fragment Shader

![bevyray](assets/images/bevyray.png)

## What it currently does

- Blends Bevy rasterized output with raytraced data based on depth (is inaccurate and has room for optimization)
- Supports some basic properties of the bevy StandardMaterial for spheres
- Builds a BVH for the scene

## Future work

- set up performance measuring tests
- Meshes (look into how meshlets are integrated) with their own BVH
- More efficient buffer writing (everything is currently copied to storage buffers every frame)
- look into multi-pass techniques and compute shader performance
- properly blend between rasterized and raytraced graphics
- support light sources
- more material features
- denoising
- importance sampling
- integrating with more bevy features
- CI
2 changes: 1 addition & 1 deletion assets/shaders/const.wgsl
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
const PI: f32 = 3.141592653589793;
const INF: f32 = 3.40282e+38;
const INF: f32 = 3.40282347e+38;
Loading

0 comments on commit 182a24a

Please sign in to comment.