BIG rewrite and changes (too many to list)

This commit is contained in:
Simon Gardling
2021-04-01 11:24:29 -04:00
parent dc2e46c51b
commit 4864ccae75
6 changed files with 42 additions and 30 deletions

27
TODO.md
View File

@@ -1,13 +1,20 @@
### Todo:
- Auto create a mp4 from generate 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)
- GPU compute
1. `grid.rs`
- Remove need for `deposit`/`deposit_all`
- Possible solution: Make it so when data is called, it generates it in a function when needed
2. GPU compute
- 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)
- sin and cos optimizations
- sin/cos table?
- Make colisions for walls of grid
- Add config and cmd arguments when running the binary to adjust simulation settings
- Rewrite `grid.rs`
- Move agent list to grid type
- Remove need for `deposit` function
- emu seems to be the way to go
- May have to completely rewrite simulation to run on the gpu (that'll be fun *pain*)
3. 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)
4. Live output
- Might want to do after #3 ("Auto create a video from generated images")
5. Make collisions for walls of grid
6. Add config and cmd arguments when running the binary to adjust simulation settings7.
7. sin and cos optimizations
- sin/cos table
- precompute before simulation
- Cache sin/cos values in hashmap to be recalled later
- In order to peruse this route, I have to figure out how to access a hashmap in parallel