* Add a method to convert cursor coords to pixel coords
* Add method `window_pos_to_pixel` to Pixels struct
* Converts cursor / window physical coordinates to pixel coords
* Fix formatting
* Return result rather than clamping pixel coordinates
* Use transformation matrices to convert from cursor coord to pixel
* Adds a struct ScalingMatrix that manages the creation and usage
of the transformation matrix used in the renderer.
* Added an inverse function on ScalingMatrix - 4x4 matrix inverse
(This should probably use a library, but it doesn't seem worth
adding a dependancy for one function)
* Optimize matrix multiplication for cursor position calculation
* Use ultraviolet for matrix and vector math
* Add suggested changes
This keeps the split between usize and isize
This also changes the input cursor position to f32, because it was
immediately cast to an f32 for the transformations.
* Move all examples to individual crates
* CI: Add libsdl2
* Use Ubuntu bionic for updated libsdl; 2.0.8
* Clippy
* libudev-dev is a dependency of libsdl2-dev
* Clippy
* Remove unnecessary dev-dependency
* `winit` is actually used in unit tests
* Fix a typo
* Move `simple-invaders` crate
* remove unsafe slice::from_raw_parts
this should be a way to remove the unsafe code in the Spirv Deref impl.
Not sure how it affects performance yet.
I will take a look at the bytecode and see if maybe the compiler is
smart enough to optimize that away.
* change renderers to accomodate new Deref
Let the deref return a `Vec<u32>` instead of a slice reference. This
should not hurt performance too much as this will be done a finite
amount of times att startup.
* replaced deref with normal impl
* fixed endianness, fixed offset + rustfmt
* bump version
* fixed clippy lints
* respect the target endianness
* use wgpu::read_spirv()
* remove an unneccessary allocation of a vec
* move borrow into macro
* Add a conways game of life example
* Rustfmt conway example
* Respond to review feedback (p_width/p_height)
* Use line_drawing instead of manual bresenham
* Optimize count_neibs
* Remove inline(never) leftover from when profiling
* Bring back wrapping behavior (without regressing perf)
* Fix missing bounds check