Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolves #45 - implementation of GPU cache #51

Merged
merged 20 commits into from
Dec 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading