Version 0.19.0
Refactored code and reduced number of external dependencies:
- Adjusted a few parameters, ensure they scale correctly with image size
- Using a custom Grid type instead of nalgebra DMatrix
- Avoid weird conversion between row/column and x/y coordinates
- Allow for custom optimizations in the future (if needed)
- Replaced wgpu with a lower-level GPU implementation
- Reduced binary size and number of dependencies
- Use GPU APIs in the most optimal way possible (e.g. copy data directly to GPU if it shares memory with the host)
- Precompile & validate shaders during the build, instead of during runtime
- Keep GPU through the entire process - skip re-loading the Vulkan library
- Reduced image correlation memory usage by 50%
- Tweaked correlation parameters for perspective projection - less data, but higher quality
- Fixed small bugs in GPU shaders implementation
- Fixed vertex color output for OBJ files
Some of the changes might have fixed historical, difficult-to-find bugs and improved overall robustness.