veloren/voxygen
Imbris 63096b2042 Complete GPU based alpha premultiplication impl and make the CPU version
even faster.

* GPU based version started in previous commit, but this fixes errors
  and bugs and gets it actually compiling and running.
* Add a way to batch together images to use the same render pass for GPU
  premultiplication if they all target the same texture.
* Pending premultiplication uploads are automatically done when calling
  `Drawer::third_pass`.
* `fast-srgb8` dep removed, we no longer convert to `f32`s to do the
  premultiplication. Two `[u16; 256]` tables are combined to compute the
  alpa premultiplied color within the same error bounds used by the
  `fast-srgb8` crate. We also no longer use explicit simd.
* Remove explicit lifetimes from `PlayState::render` since `&self` and
  `Drawer<'_>` don't need to have the same lifetime.
* Fix existing bug where invalidated cache entries were never set to
  valid when reusing them.
* `prepare_graphic` now runs some heuristics to determine whether
  premultiplication should be executed CPU side or GPU side and then
  returns a bool indicating if GPU premultiplication is needed.
2023-04-08 00:28:31 -04:00
..
anim Merge branch 'sam/sword-balance-0' into 'master' 2023-03-29 01:26:33 +00:00
benches Reduce overhead of messaging systems. 2022-09-14 21:04:53 -07:00
egui Made auras no longer need to be mutably accessed every tick. 2023-03-11 16:45:12 -05:00
examples (See sharp/lod-history) LOD, shadows, greedy meshing, new lighting, perf 2020-08-20 20:34:59 +02:00
i18n-helpers Small fixes 2023-03-29 23:11:59 +00:00
src Complete GPU based alpha premultiplication impl and make the CPU version 2023-04-08 00:28:31 -04:00
build.rs feat(voxygen): add logo for windows executable 2019-10-02 16:57:08 +02:00
Cargo.toml Complete GPU based alpha premultiplication impl and make the CPU version 2023-04-08 00:28:31 -04:00