Commit Graph

461 Commits

Author SHA1 Message Date
Joshua Barretto
31b9cd0565 Fix for translucency blocking clouds 2022-01-21 17:29:59 +00:00
Joshua Barretto
3b347a2aa3 Improved underwater lighting on low shader settings 2022-01-21 13:35:40 +00:00
Joshua Barretto
5b606f0d50 Significantly improved underwater shaders 2022-01-21 00:42:20 +00:00
Joshua Barretto
5a7cd39625 Added point glow slider 2022-01-20 13:40:11 +00:00
Joshua Barretto
fcd25648fe Fixed point glow with no clouds 2022-01-19 20:08:13 -05:00
Joshua Barretto
7506dc2a41 Added procedural LoD detail shader 2022-01-19 19:59:14 -05:00
Joshua Barretto
dea540222f Upped bloom default 2022-01-19 19:59:14 -05:00
Joshua Barretto
391d1f6bf4 Added point glow 2022-01-19 19:59:13 -05:00
Joshua Barretto
b85aac6e23 Fixed minor shader issues, added curved world effect 2022-01-18 01:47:06 +00:00
Joshua Barretto
cd428d9267 Added support for experimental shaders 2022-01-17 22:20:33 +00:00
Imbris
bf48bd5346 update toolchain to nightly-2021-12-19 2021-12-23 13:04:24 +01:00
Benoît du Garreau
aca088388b Update assets_manager to 0.7 2021-12-12 22:11:47 +01:00
Jonathan Berglin
596307c9b7 Remove unused clippy suppressions 2021-12-05 17:59:02 +00:00
Marcel Märtens
ef40ebe0c8 update toolchain to nightly-2021-11-24 2021-11-24 10:09:22 +01:00
Joshua Barretto
ef33b2e3ab Better ambiance slider 2021-10-16 15:12:07 +01:00
Marcel Märtens
e36eef99c8 apply some clippy fixes that comes with the new toolchain version 2021-09-24 23:18:18 +02:00
João Capucho
34eb58cded
Fix dir is empty check when setting WGPU_TRACE_DIR 2021-09-24 15:07:12 +01:00
Imbris
5217b5090c Avoided black hexagons when bloom is enabled by suppressing NaN/Inf pixels during the first bloom blur pass 2021-09-22 21:58:36 -04:00
juliancoffee
3b308a3f6f Add CapsulePrism collider variant
+ Add placeholder physics collision implementation as copy of cylinder
  Box collider.
+ Display it with debug hitboxes.
2021-09-17 13:28:34 +03:00
Joshua Barretto
c3a0a1b8b5 Made the camera go dark if in a filled block and not moderator 2021-09-08 12:37:15 +01:00
Monty Marz
a23433b402 Bloom settings 2021-09-08 09:50:37 +00:00
Joshua Yanovski
5500435d2f Revert "Replace shaderc with naga"
This reverts commit 446d93dda0.
2021-09-04 11:59:18 -07:00
João Capucho
446d93dda0
Replace shaderc with naga 2021-08-31 22:53:10 +01:00
Daniil Nemtsev
a5ec81844f Add WGPU adapter selection using WGPU_ADAPTER 2021-08-13 12:39:44 +00:00
Marcel Märtens
bc821a46cd code cleanup 2021-08-11 09:42:29 +02:00
Marcel Märtens
889a8d11f5 zest prefers this over await 2021-08-11 01:23:48 +02:00
Marcel Märtens
32e58c4b17 remove futures_executor from renderer and rather pass tokio runtime to it properly. therefore the runtime is now created with Voxygen rather than with the Connect attempt 2021-08-11 00:38:03 +02:00
Imbris
a1026c36f5 Make bloom intensity configurable, make whether less blurred layers are added in toggleable, hold onto copy of pipeline modes instead of returning it from pipeline creation 2021-08-01 18:50:39 -04:00
Imbris
147e4f00f6 Enhance bloom::NUM_SIZES docs, add TODO, remove dbgs 2021-08-01 18:50:38 -04:00
Imbris
6cabd74871 Make bloom optional with a config option that is not exposed in the UI (to give artists time to refine bloom before exposing the option) 2021-08-01 18:50:38 -04:00
Imbris
7da064fb23 Add ability to edit shader to enable filtering dim values for experimentation 2021-08-01 18:50:38 -04:00
Imbris
29bfee26c0 Add bloom passes in character select screen, use proper source image for bloom after clouds are applied, add blurred and less blurred stages of bloom together (experimental could remove), add filtering downsample pass that is not yet used 2021-08-01 18:50:37 -04:00
Imbris
74e01f10e3 Fixes and extra bloom 2021-08-01 18:50:37 -04:00
Imbris
2d83ef1c0e Initial bloom impl 2021-08-01 18:50:37 -04:00
Avi Weinstock
516ad1c772 Revert "Resolve all '#[allow(clippy::identity_op)]' error supressions"
This reverts commit 63eff216f0.
2021-07-25 12:28:25 -04:00
Jonathan Berglin
cd2992afd3 Tygyh/resolve clippy error supressions 2021-07-25 15:35:14 +00:00
Jonathan Berglin
b15f426ee5 Resolve all approved error supressions 2021-07-18 17:11:46 +00:00
Imbris
9c72333741 Revert "Merge branch..."
This reverts merge request !2608
2021-07-17 22:04:59 +00:00
Samuel Keiffer
f38cde9d40 Merge branch 'knightresspaladin/healing-aura' into 'master'
Knightresspaladin/healing aura

See merge request veloren/veloren!2587
2021-07-16 21:32:03 +00:00
Jonathan Berglin
c1c331d59e Resolve all '#[allow(clippy::approx_constant)]' error supressions 2021-07-15 16:56:55 +00:00
Dr. Dystopia
5cc2fc8182 Resolve all '#[allow(clippy::or_fun_call))]' error supressions 2021-07-15 13:49:59 +02:00
Sam
997da21001 Particles for healing aura 2021-07-13 20:54:43 -05:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Ben Wallis
b499cf2c58 Added egui debug UI - a 100% rust UI framework (similar to imgui) allowing for rapid development of debug interfaces to aid development. This is feature-gated behind the egui-ui feature which is enabled by default but removed for airshipper builds.
Included in the initial implementation is an entity browser which lists all entities in the client ECS, an entity component viewer which shows select components belonging to the selected entity including character state information, and a simple frame time graph.

This MR also includes an extraction of the animation hot reloading code which has been reused for egui to allow for hot-reloading of the egui interface to allow rapid development of the UI with realtime feedback upon save as is the case with aninmations. This is feature-gated behind the `hot-egui` feature which is not enabled by default due to the extra startup time that it adds.
2021-07-04 09:47:18 +00:00
Snowram
aaf5f89076 Merge branch 'snowram/death-outcome' into 'master'
Adds an outcome to death with SFX and VFX

See merge request veloren/veloren!2519
2021-06-28 23:18:45 +00:00
Snowram
3ec5306ed0 Adds an outcome to death with SFX and VFX 2021-06-29 00:14:05 +02:00
Imbris
58f237eaf5 Ensure bind groups are ordered with the most frequently changed ones in later slots 2021-06-24 00:47:59 -04:00
João Capucho
9454c34cc2
Submit queue when maintaining and minimized 2021-06-16 20:22:33 +01:00
João Capucho
cb55676bb9
poll device to cleanup resources 2021-06-16 14:07:23 +01:00
Imbris
1483c2be74 Reset the slot 1 bind group to shadows when dropping the DebugDrawer 2021-06-16 03:24:10 -04:00
Imbris
2d7b82c2f4 Do some checks to make sure WGPU_TRACE_DIR is useable if set and exit early if it isn't to avoid the user not being aware that they are failing to collect a trace 2021-06-16 03:24:10 -04:00
Imbris
19f741b33f Show the graphics backend in the hud debug info and include the adapter info when panicking in the wgpu error handler 2021-06-16 03:24:10 -04:00
Imbris
09a914aa84 Log format used for the swapchain 2021-06-16 03:24:10 -04:00
Imbris
3e79972061 Merge branch 'capucho/wgpu-format-fixes' into 'master'
Update wgpu and check for best swap chain format

See merge request veloren/veloren!2454
2021-06-16 01:24:05 +00:00
Snowram
8fde002189 Merge branch 'snowram/more-trolls' into 'master'
Add more trolls npcs, and roc npc with tornado attack

See merge request veloren/veloren!2384
2021-06-15 08:35:30 +00:00
Avi Weinstock
cb0566299a Make tornado (and empty models in general) work on WGPU. 2021-06-15 09:49:13 +02:00
Snowram
97ce50e5d4 Add troll variants and roc npcs 2021-06-15 09:49:13 +02:00
Imbris
cbf0a6baf1 Fix trying to create a zero sized shadow texture when resizing window down to a small size 2021-06-15 01:53:00 -04:00
João Capucho
cc566abe5c
Update wgpu and check for best swap chain format 2021-06-09 21:15:37 +01:00
jshipsey
4deeb42155 cave adjustments 2021-06-07 11:02:34 +02:00
jshipsey
9034d0f25d comment addressing, cave tweaks 2021-06-07 11:01:46 +02:00
Samuel Keiffer
85b8d4e7c0 Merge branch 'sam/yeti' into 'master'
Yeti Rework

See merge request veloren/veloren!2359
2021-06-05 23:15:20 +00:00
Sam
a82984b925 Added base ability set 2021-06-04 18:17:14 -05:00
João Capucho
b647cd35f1
Don't draw when window size is minimized 2021-06-04 23:37:33 +01:00
João Capucho
36c28af46d
Regenerate the swapchain if the frame is outdated 2021-06-04 20:37:39 +01:00
Sam
5bf99eac11 Added totem ability, totem ai, totem ability set, particles for totem abilities, and totem voxel model. 2021-06-03 21:39:15 -05:00
Sam
c81e1534f7 First 3 abilities for tidal warrior functional. Added bubble particles. 2021-06-03 21:39:13 -05:00
Imbris
6ffdad173d Switch to using block_on directly from futures-executor instead of the umbrella crate 2021-06-03 14:28:28 -04:00
Imbris
be5ee8e205 Properly calculate the necessary length of the index buffers for checks that ensure they are large enough 2021-06-03 00:45:11 -04:00
Imbris
2b8eaae572 Update wgpu, cleanup a bit of commented shader code, improve sprite LOD selection code 2021-06-03 00:10:06 -04:00
Imbris
01aa6af1fd Address various TODOs introduced in wgpu transition 2021-06-03 00:10:06 -04:00
Imbris
8403e4c483 address/remove TODOs, fix comment typos, enable wgpu/trace feature by default (So no recompile is needed to collect an API trace) 2021-06-03 00:10:06 -04:00
Avi Weinstock
a1326d0734 Address MR 2253 review comments. 2021-06-03 00:10:06 -04:00
Avi Weinstock
cf6717ac90 Show hitbox cylinders based on actual ECS data, and add a settings toggle in voxygen for it. 2021-06-03 00:10:06 -04:00
Avi Weinstock
7b04599a3b Implement a Debug pipeline for hitboxes and pathfinding lines.
- Implements mesh generation for cylinders and lines.
    - Implements an Id-allocator so that clients can mutate positions efficiently.
    - Is split into pipeline and scene modules.
    - Contains simple shaders that just pass through a position and color.
2021-06-03 00:10:06 -04:00
Imbris
2da58029b9 Make models require a non-zero amount of vertices 2021-06-03 00:10:06 -04:00
Imbris
5749983868 Make shadow vert shaders always contain their content but ensure they are never used when shadow maps are disabled, remove uneeded shadow frag shader 2021-06-03 00:10:06 -04:00
Imbris
9ec4fd5b4b Remove commented out sprite code, including the code for getting verts for sprites with a texture rather than a storage buffer 2021-06-03 00:10:06 -04:00
Imbris
81939b4e4e Remove uneeded commented out gfx rendering code 2021-06-03 00:10:06 -04:00
Imbris
1647c9d607 Update wgpu to latest version and improve error formating 2021-06-03 00:10:06 -04:00
Imbris
d5f4a4443a Fix all clippy warnings 2021-06-03 00:10:05 -04:00
Imbris
9be424de53 Remove unused waves texture 2021-06-03 00:10:05 -04:00
Imbris
93ad05d237 Fix most of the cargo check warnings 2021-06-03 00:10:05 -04:00
Imbris
972a6f3605 Replace default wgpu error handler with one that includes the error in the panic message 2021-06-03 00:10:05 -04:00
Imbris
7f9ba17dee Remove unused shadow bind group from the cloud pipeline 2021-06-03 00:10:05 -04:00
Imbris
c381059e28 Require WGPU_TRACE_DIR to be set manually instead of having a default value 2021-06-03 00:10:05 -04:00
Imbris
30f02af6a4 Wait for ingame pipelines to build before entering char select, show pipeline rebuilding status text in the graphics settings tab 2021-06-03 00:10:04 -04:00
Imbris
9c3e3ea638 wgpu rebase fix: crossbeam -> crossbeam_channel 2021-06-03 00:09:55 -04:00
Imbris
f2fed72785 Fix bug in sprite pipeline creation & misc other pipeline creation fixes 2021-06-02 23:59:51 -04:00
Imbris
1830a591f6 Make Drawer work with background pipeline creation 2021-06-02 23:59:51 -04:00
Imbris
c2da81cf18 Move pipeline creation into the background, still needs Drawer modications and UI to display status 2021-06-02 23:59:51 -04:00
Imbris
5b4c60c4ec Fix wrong intermediate target texture format 2021-06-02 23:59:51 -04:00
Imbris
72cb3d0124 Clear textures that will be partially written to work around Dx12 bug on AMD 2021-06-02 23:59:50 -04:00
Imbris
76c7161364 Update wgpu to get gfx-hal update that fixes the dx12 depth cube view construction issue 2021-06-02 23:59:50 -04:00
Imbris
aa2c7721fe Add env vars to set wgpu backend and wgpu api trace save dir (api trace still needs feature to be set ofc) 2021-06-02 23:59:50 -04:00
Imbris
ceaa20c668 Update wgpu 2021-06-02 23:59:50 -04:00
Imbris
390048263a Allow setting env var to only use the vulkan backend, deactivate profiling if the feature is not available 2021-06-02 23:59:50 -04:00
Imbris
577caa3047 Implement screenshots 2021-06-02 23:59:50 -04:00
Imbris
7723ce265e Update wgpu-profiler, smol rebase fix 2021-06-02 23:59:50 -04:00
Imbris
89cb00907a Display gpu timing info in the HUD when enabled 2021-06-02 23:59:50 -04:00
Imbris
64398f6c0a Try out using storage buffer for sprite vertices 2021-06-02 23:59:50 -04:00
Imbris
b9931588e4 Fix bugs with sprite rendering 2021-06-02 23:59:50 -04:00
Imbris
a90373604e Fix sprite vertex lookup, normalize sprite
normals in vert shader
2021-06-02 23:59:50 -04:00
Imbris
8d63446300 Almost implement instance merging for sprites (validation error), rebase
fix
2021-06-02 23:59:50 -04:00
Imbris
0f1c4080c4 Start sprite refactor 2021-06-02 23:59:49 -04:00
João Capucho
d96f5a07e2 Fix winit returning wrong window size
It seems like waiting for wgpu to create a instance is enough to make
winit return the correct window size
2021-06-02 23:59:49 -04:00
João Capucho
e04970addd Fix scissor panic
Removes the Scale::physical_resolution method as it could become
desynced from the renderer resolution causing the panic
2021-06-02 23:59:49 -04:00
João Capucho
f5dc871c59 Update to the most recent wgpu 2021-06-02 23:59:49 -04:00
Imbris
a8851b6561 Switch to index rendering for most quad-like things 2021-06-02 23:59:49 -04:00
Imbris
e204a58be2 Small fixes to gpu profiling 2021-06-02 23:59:49 -04:00
Imbris
22d67d4cc1 Update to the latest wgpu git 2021-06-02 23:59:49 -04:00
Imbris
7a67ce87e7 Implement toggleable gpu profiling that saves the timings from a recent frame with the screenshot key, rebase fixes 2021-06-02 23:59:49 -04:00
Imbris
8c21023500 WIP gpu timer thing (not for squashing!) 2021-06-02 23:59:49 -04:00
Imbris
f01d59c1df Fix char select shadows by clearing shadow textures 2021-06-02 23:59:49 -04:00
Imbris
e1af485e5f Add setting for the PresentMode 2021-06-02 23:59:49 -04:00
Imbris
261fd24dfd Fix lod alt texture filtering 2021-06-02 23:59:49 -04:00
Imbris
6f6167cd90 Resolve validation errors with trying to use unsupported filtering modes 2021-06-02 23:59:49 -04:00
Joshua Barretto
ae6c5a5c54 Corrected shadow cull mode 2021-06-02 23:59:49 -04:00
Imbris
843529c7bb Update to latest wgpu git (around 0.7), temporarily disable shader validation due to naga bug, rebase fixes!! 2021-06-02 23:59:49 -04:00
Imbris
c532f50e64 Remove wgpu patch/update wgpu, rebase fixes, remove use of deprecated
vek functions for left, right, up, down, forward_rh, forward_lh
2021-06-02 23:59:49 -04:00
Imbris
fc5e8cb18d Comment out secondary backends 2021-06-02 23:59:49 -04:00
Imbris
fce14fbaa9 Avoid extra set_pipeline calls 2021-06-02 23:59:48 -04:00
Imbris
7012e16706 Properly rebind shadow textures when they are changed 2021-06-02 23:59:48 -04:00
Joshua Yanovski
93568754a0 Inverse depth planes.
Also added a function that has extensive details about what the
projection options mean, and set our near plane much closer (0.25 to
0.0625) and far plane much farther (100000.25 to 524288.0625).  In the
future we may completely remove the far plane (opting for an infinite
one) and may possibly improve accuracy elsewhere using analysis of other
floating point values.
2021-06-02 23:59:48 -04:00
Joshua Yanovski
adf3f83b4b Fix point shadows. 2021-06-02 23:59:48 -04:00
Joshua Yanovski
868293a802 More frustration with shadows. 2021-06-02 23:59:48 -04:00
Joshua Yanovski
c97a42fdb7 Various fixes for shadows. 2021-06-02 23:59:48 -04:00
Capucho
23f1144fe2 Fix the shadow drawing code
Very poorly optimized
2021-06-02 23:59:48 -04:00
Capucho
672ac0dbf3 Fix the buffer slicing in the submodel
Fixes the void figures
2021-06-02 23:59:48 -04:00
Capucho
b6c37be299 Re enable sprite rendering 2021-06-02 23:59:48 -04:00
Imbris
fe6cf0396f Draw water 2021-06-02 23:59:48 -04:00
Imbris
97bed5752b Fix clouds 2021-06-02 23:59:48 -04:00
Imbris
bae0310cc7 Somewhat fix lod, prevent particles spamming new buffers when disabled 2021-06-02 23:59:48 -04:00
Imbris
99d74147e5 No cube spam 2021-06-02 23:59:48 -04:00
Imbris
aa17132f9d Start lod, update wgpu to fix viewport count validation error 2021-06-02 23:59:48 -04:00
Imbris
553c1c18a9 Add skybox 2021-06-02 23:59:48 -04:00
Capucho
14f683d403 Fix wrong color format in col light 2021-06-02 23:59:48 -04:00
Capucho
1083d04c73 Reenable terrain rendering
Refractor col lights
2021-06-02 23:59:48 -04:00
Capucho
b8d560a882 Pass format to particle pipeline 2021-06-02 23:59:47 -04:00
Capucho
1668e834f8 Renable the figure and terrain drawing code (not working yet) 2021-06-02 23:59:47 -04:00
Imbris
7e0fe83335 Fix culling of postprocess/cloud triangles 2021-06-02 23:59:47 -04:00
Imbris
b3ca2f6870 Particles compiles and runs (no visuals yet) 2021-06-02 23:59:47 -04:00
Capucho
4c83e19c83 Remove the depth buffer from the Third drawer 2021-06-02 23:59:47 -04:00
Capucho
2c7d49b69f Shader fixes 2021-06-02 23:59:47 -04:00
Capucho
a97ba961a4 Update dependencies 2021-06-02 23:59:47 -04:00
Imbris
da0423ab2a Almost make clouds/postproccess run 2021-06-02 23:59:47 -04:00
Imbris
1e2d956106 Render the UIs 2021-06-02 23:59:47 -04:00
Imbris
628d9391d3 Add generic Bound<T> type for grouping consts/other bindable things with bind groups 2021-06-02 23:59:47 -04:00
Imbris
124d69d7ad Render Ui 2021-06-02 23:59:45 -04:00
Imbris
f7efbd8bc7 Color! 2021-06-02 23:56:43 -04:00