Skip to content

molikto/graphics-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

my graphics playground in Rust, using:

run with cargo run -p toy-xxx --release

done and TODOs

  • data structures (in common)
    • sparse voxel N-tree (svt.rs) and ray casting: no children masks, each voxel is 4 byte pointer or data
      • performance
        • compare with ESVO performance
        • optimize it to be faster
          • rust-gpu performance problem
          • why the compute shader version is even slower?
        • beam optimization
        • redirect rays
      • API
        • load .vox file
  • shadering (in common)
    • textures
    • basic material in "One Weekend"
    • glass material seems wrong??
    • shadow rays
    • volume fog material in "Next Week"
    • .vox complete
    • more physics based materials?
    • TAA???
    • DLSS???
  • engine
    • shader hot reloading of rust-gpu shader in bevy
    • compute shader hot reloading (using include_raw is very bad)
    • creating RenderNode in bevy is really not a good exp, lot of code
    • group everything better with switchable demo, adjustable specialized constants

problems with rust-gpu

  • you cannnot do vec[0], use vec.x instead
  • no specialization constant
  • you need to be sure not to write performance bad code
    • array initialization
    • array bound check
  • perf is ~1.25 times of GLSL, it might produce branchy code seems?
  • code generation: it expand vec ops not as SpirV vec ops, but this doesn't hurt performance most of time

referneces

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages