Skip to content

Commit

Permalink
Merge pull request #51 from davids91/feature/gpu-cache
Browse files Browse the repository at this point in the history
Resolves #45 - implementation of GPU cache
  • Loading branch information
davids91 authored Dec 8, 2024
2 parents 4c7d89f + f4fb98f commit e03ad55
Show file tree
Hide file tree
Showing 17 changed files with 2,305 additions and 691 deletions.
8 changes: 5 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
[package]
name = "shocovox-rs"
version = "0.4.1"
version = "0.5.0"
edition = "2021"
authors = ["Dávid Tóth <[email protected]>"]
license = "MIT OR Apache-2.0"

[features]
default = ["dot_vox_support"]
default = ["bevy_wgpu","dot_vox_support"]
raytracing = ["dep:image", "dep:show-image"]
serialization = ["dep:serde"]
dot_vox_support = ["dep:dot_vox", "dep:nalgebra"]
bevy_wgpu = ["raytracing", "dep:bevy", "dep:iyes_perf_ui"]
bevy_wgpu = ["raytracing", "dep:bevy", "dep:iyes_perf_ui", "dep:crossbeam", "dep:bimap"]

[dependencies]
num-traits = "0.2.19"
serde = { version = "1.0.183", features = ["derive"], optional = true }
bendy = { git = "https://github.com/davids91/bendy.git" , features = ["std", "serde"]}
dot_vox = { version = "5.1.1", optional = true }
nalgebra = { version = "0.33.0", optional = true }
crossbeam = { version = "0.8.4", optional = true }
bimap = { version = "0.6.3", optional = true }

# for example cpu_render
image = { version = "0.25.1", optional = true }
Expand Down
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,18 @@ Roadmap:

Issue spotlight:
-
These are the issues I will work on until 2025 Q1. I am eliminating them in a sequential manner.
- #54 - Occupied bitmap structure update - Restructure of the per-node and per-brick occupied bitmaps to be more efficient(gotta go fast)
- #56 - Rework user data handling - Trimming the fat in Voxel storage, broadening the possibilities with user data
- #45 - GPU cache - To make it possible to display octrees of limitless size on the GPU by streaming only what one can see
These are the issues I will work on until 2025 Q2. I am eliminating them in a sequential manner.
- #56 - Introduce Palettes - Trimming the fat in Voxel storage, broadening the possibilities with user data and eliminating some data conversion overhead with bricks.
- #65 - Flatten brick storage: trimming some additional overhead, and eliminating some possible techDebt (`DIM` generic argument with Octree)
- #3 - to make it possible to have a limitless octree: so it's not bound by the RAM size anymore
- #17 Beam Optimization - Pre-render a small resolution image to optimally initialize ray distances, and help with deciding which bricks to load pre-emptively. GOTTA GO FAST
- #28, #6 - Level of Detail implementation to render large scenes more efficiently

If you feel adventurous:
-

I have marked some issues with the help needed flag, which I think would be a good addition to the library, but I can not focus on it as I am but a single person with limited time and resources. Feel free to try to tackle any of the marked issues (Or basically anything you'd like), I will provide any needed help and support if I can.

Special thanks to contributors and supporters!
-

Expand Down
Loading

0 comments on commit e03ad55

Please sign in to comment.