update TODO

This commit is contained in:
Simon Gardling
2021-04-07 09:38:53 -04:00
parent a529fa7235
commit af38298c9c

16
TODO.md
View File

@@ -2,19 +2,19 @@
1. `grid.rs` 1. `grid.rs`
- Remove need for `deposit`/`deposit_all` - Remove need for `deposit`/`deposit_all`
- Possible solution: Make it so when data is called, it generates it in a function when needed - Possible solution: Make it so when data is called, it generates it in a function when needed
2. Add check to make sure that `img_data_vec` isn't over a set size in ram, if so, render it and flush to disk 2. Auto create gif instead of doing that after the fact manually with imagemagick
3. Auto create gif instead of doing that after the fact manually with imagemagick 3. GPU compute
4. GPU compute
- Tried [ArrayFire-rust](https://github.com/arrayfire/arrayfire-rust) didn't work well, looking for another library - Tried [ArrayFire-rust](https://github.com/arrayfire/arrayfire-rust) didn't work well, looking for another library
- Try using [emu](https://github.com/calebwin/emu) (seems to be a very good option) - Try using [emu](https://github.com/calebwin/emu) (seems to be a very good option)
- Another option: [wgpu-rs](https://github.com/gfx-rs/wgpu-rs) - Another option: [wgpu-rs](https://github.com/gfx-rs/wgpu-rs)
- Look at [this](https://github.com/nicoptere/physarum) for inspiration - Look at [this](https://github.com/nicoptere/physarum) for inspiration
5. Auto create a video from generated images - Maybe re-write everything to run on the gpu instead of just offloading specific things onto the gpu?
4. Auto create a video from generated images
- Instead of using the command `ffmpeg -r 20 -i tmp/out_%d.png -vcodec libx265 -crf 25 -s 512x512 test.mp4` maybe use a rust library to do the same (more research needed) - Instead of using the command `ffmpeg -r 20 -i tmp/out_%d.png -vcodec libx265 -crf 25 -s 512x512 test.mp4` maybe use a rust library to do the same (more research needed)
6. Live output 5. Live output
- Might want to do after #5 and #3 - Might want to do after #2, #3, and #4
7. Add config and cmd arguments when running the binary to adjust simulation settings7. 6. Add config and cmd arguments when running the binary to adjust simulation settings7.
8. sin and cos optimizations 7. sin and cos optimizations
- sin/cos table - sin/cos table
- precompute before simulation - precompute before simulation
- Cache sin/cos values in hashmap to be recalled later - Cache sin/cos values in hashmap to be recalled later