Commit Graph

13684 Commits

Author SHA1 Message Date
Imbris
efd932c71e Progress on GPU premultiplication.
* General progress in setting up code paths to support GPU
  premultiplication.
* Created `PremultiplyUpload` type to represent an initiated image
  upload where the premultiply pass needs to be ran to complete it.
* Converted from compute pass to render pass since current limitations
  make it difficult to write directly to a srgb image from a compute
  shader.
* Replace `CachedDetails::Immutable` with keeping track of the
  parameters used to create the texture (i.e. the border color).
* Create `TextureRequirements`, `TextureParamters`, and `CacheKey` types
  to encode parameters that go into texture creation and image caching
  and to determine when the space in texture memory should be reused
  when replacing a graphic.
* Add custom texture creation logic for the UI textures since those need
  certain usage combinations.
2023-04-08 00:28:31 -04:00
Imbris
1d51aae3b2 Start attempt to premultiply alpha on the GPU. 2023-04-08 00:28:31 -04:00
Imbris
7538b04348 Operate on 4 pixels at a time when premultiplying alpha to speed things up a little. 2023-04-08 00:28:31 -04:00
Imbris
f62c2cde70 Use fast-srgb8 crate to efficiently convert between non-linear srgb u8 and
linear f32 values for performing alpha premultiplication on the CPU.
2023-04-08 00:28:31 -04:00
Imbris
eb6d16b02c Rename draw_graphic -> prepare_graphic since it is no longer always
specifically rendering an image at the provided dimensions. Start
working on alpha premultipication which is necessary for being able to
properly sample colors on the GPU with bilinear filtering. Various
tweaks to comments and misc changes.
2023-04-08 00:28:31 -04:00
Imbris
69a1a661b6 fixes and tweaks (various minor changes related to UI image scaling on
GPU)
2023-04-08 00:28:31 -04:00
Imbris
d62bf8a790 init (scaling UI images during sampling on the GPU instead of on the CPU) 2023-04-08 00:28:28 -04:00
Imbris
3ef4af0195 Various tweaks:
* Store result of large condition expression in a variable before using
  in if statement (improves readability of code).
* Buff doc comment improvements. Adding periods is neccessary since
  these will be merged into one line in the generated docs.
* Add note on AbilityContext that AbilityContext::None is intended to be
  used rather than AbilityContext::Stance(Stance::None) perhaps in the
  future we can add some serde shenanigans to make this work better, but
  it is probably best to wait to see how this type evolves first.
2023-04-07 23:56:55 -04:00
Imbris
2cc2aa86f4 Synchronize DiveMelee checks 2023-04-07 01:59:41 -04:00
Imbris
e20cf5f14f Reduce rand::thread_rng calls, document MeleeConstructor scaled field more, remove extra stances.get() in hud/mod.rs 2023-04-07 01:59:41 -04:00
Samuel Keiffer
162509e1c9 Merge branch 'sam/durability' into 'master'
Durability

See merge request veloren/veloren!3509
2023-04-06 22:42:52 +00:00
Christof Petig
564530f5e2 Merge branch 'hudson/fix_loot_scroller_bug' into 'master'
fixed a visual ui bug when picking up items

See merge request veloren/veloren!3860
2023-04-06 20:44:02 +00:00
Hudson
e03406b103 fixed a bug where if a group member picks up an item, then the player picks up an item, it would display the incorrect number of items picked up. example: group member picks up an apple, then player picks up an apple, the ui would display that the player picked up two apples, instead of the group member picking up one and the player picking up one 2023-04-06 13:43:11 -05:00
Hudson
4881d2fd8b fixed a bug where if a group member picks up an item, then the player picks up an item, it would display the incorrect number of items picked up. example: group member picks up an apple, then player picks up an apple, the ui would display that the player picked up two apples, instead of the group member picking up one and the player picking up one 2023-04-06 12:40:08 -05:00
Sam
4ec2798262 Fix velorite sprite offset 2023-04-06 10:57:19 -04:00
Sam
d523d31056 Fixed possible crash in crafting UI 2023-04-06 10:57:18 -04:00
Sam
7fab9d192b Add repair bench to desert and cliff towns. 2023-04-06 10:57:18 -04:00
Sam
038929d66d New models for ores and repair bench 2023-04-06 10:57:17 -04:00
Monty Marz
29a7520a48 adjusted death message, fixed repair bench text 2023-04-06 10:57:17 -04:00
Sam
a68ef7af30 Tweaks 2023-04-06 10:57:16 -04:00
Sam
132f26dbc0 Addressed review 2023-04-06 10:57:16 -04:00
Sam
79812a7326 Addressed persistence review comments. 2023-04-06 10:57:15 -04:00
Sam
f7765a8471 Added some repair recipes for some missed items. 2023-04-06 10:57:15 -04:00
Sam
92165a8fd8 Repair recipes no longer show ingredients as required when they are not damaged enough to need any 2023-04-06 10:57:14 -04:00
Sam
6a8fc3a423 Tweaked repair recipes 2023-04-06 10:57:14 -04:00
Sam
ff9f755c0c Changed repair recipe to round down on material costs. 2023-04-06 10:57:13 -04:00
Sam
00710a4eb0 Fixed csv tools 2023-04-06 10:57:13 -04:00
UncomfySilence
3dae7b6d4a small tweaks to repair recipe and addition of cultist, and uncraftable weapon repairs 2023-04-06 10:57:12 -04:00
Sam
e4ebd17363 Addressed feedback 2023-04-06 10:57:12 -04:00
Sam
807a8bcea0 Changelog 2023-04-06 10:57:08 -04:00
Sam
ca879173be Added a repair equipped and a repair all button. Cleaned up some hacks that used to exist. 2023-04-06 10:56:55 -04:00
Sam
658de93c59 Repairing UI 2023-04-06 10:56:53 -04:00
Sam
536d88a2c7 Repair costs scale based on how damaged the item is. 2023-04-06 10:54:50 -04:00
UncomfySilence
85ceae3354 repair recipes for armor pieces 2023-04-06 10:54:50 -04:00
Sam
52a62420db Changed durability persistence to a NonZeroU32 2023-04-06 10:54:49 -04:00
Sam
011b6c3feb Changed how durability was persisted so that a more general system can be used for future item properties. 2023-04-06 10:54:49 -04:00
Sam
0966753699 Added repair recipes 2023-04-06 10:54:48 -04:00
Sam
c3f5bc13f1 Equipment can now be repaired at sprites in town. 2023-04-06 10:54:48 -04:00
Sam
a555e08d0b Added durability to item tooltips 2023-04-06 10:54:47 -04:00
Sam
c586db8feb Item durability is now persisted 2023-04-06 10:54:47 -04:00
Sam
a07e042fa2 Items now lose durability on death 2023-04-06 10:54:46 -04:00
Sam
df13741be9 Durability system in place 2023-04-06 10:54:46 -04:00
Christof Petig
73cd4e5136 Merge branch 'christof/wasmer_update' into 'master'
update wasmer

See merge request veloren/veloren!3857
2023-04-06 07:22:24 +00:00
Christof Petig
49e734fa0b Merge branch 'christof/multi_model_vox' into 'master'
Support multiple models in one vox file, e.g. for figures

See merge request veloren/veloren!3830
2023-04-06 07:09:20 +00:00
Christof Petig
7ab2bcd4e4 revert unwanted regressions as indicated by imbris 2023-04-06 08:30:49 +02:00
Samuel Keiffer
41e551f32d Merge branch 'smol_sword_nerf' into 'master'
Teeny changes to crippling stance abilities

See merge request veloren/veloren!3855
2023-04-05 23:17:57 +00:00
Youssef Fahmy
7c85460f18 Teeny changes to crippling stance abilities 2023-04-05 23:17:57 +00:00
Christof Petig
8fac5192cc update wasmer 2023-04-05 22:19:28 +02:00
Imbris
76bfae38a0 Merge branch 'imbris/update-conrod-copypasta' into 'master'
Update copypasta version used by conrod

See merge request veloren/veloren!3854
2023-04-05 07:19:16 +00:00
Imbris
9dd1b6c785 Switch from ansi-parser to cansi, down to a single version of nom! 2023-04-05 02:38:58 -04:00