Commit Graph

396 Commits

Author SHA1 Message Date
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
Imbris
97ca278d89 fixed validation errors when creating pipelines 2021-06-02 23:56:43 -04:00
Imbris
760f21b4f3 No crash on startup 2021-06-02 23:56:43 -04:00
Imbris
f540366676 Made shaders compile by adding locations and bindings and splitting textures and samplers out into two things and adding guards for double including shaders 2021-06-02 23:56:43 -04:00
Imbris
6a84109ece Improve shader errors by showing shader file name, reduce repetitive shader construction code 2021-06-02 23:56:43 -04:00
Imbris
fd0c4c166a migrate cloud pipeline, migrate iced renderer, rebase fixes 2021-06-02 23:56:43 -04:00
Imbris
d9c523ba0d Make compile through various changes, update wgpu to latest git 2021-06-02 23:56:43 -04:00
Capucho
8c3995298b More fixes 2021-06-02 23:56:43 -04:00
Capucho
8c6e43572f Switched from zerocopy to bytemuck
Fixing errors
2021-06-02 23:56:40 -04:00
Capucho
89d09baab4 Made the layouts more compact 2021-06-02 23:55:59 -04:00
Capucho
9ee71d6369 Finished porting all pipelines 2021-06-02 23:55:59 -04:00
Capucho
c4bec2500f Began porting pipeline creation 2021-06-02 23:55:59 -04:00
Capucho
1b5ae9c926 ported all pipelines 2021-06-02 23:55:59 -04:00
Capucho
121f001b17 Ported most of the textures and models related methods 2021-06-02 23:55:59 -04:00
Capucho
806f240eb5 Started the report of wgpu 2021-06-02 23:55:59 -04:00
Sam
5fa4358e74 Clay golem attacks done. 2021-05-10 18:53:01 -05:00
Sam
164fd0de04 Particles for frenzy buff and ground cleave. 2021-05-04 08:45:10 -04:00
Joshua Yanovski
1bdf3b13a8 Mesh sprites in the background.
This makes the delay afetr selecting a character before logging into the
game much shorter, in the common case.  It still doesn't handle things
perfectly (it blocks creating Terrain::new if it's not finished, and it
could be faster due to working in the background), but it's still a lot
better than it was before.

To improve sprite meshing performance, we also apply the terrain
flat_get optimizations to sprites.  Though I didn't initially know how
much of an impact it would have, it feels significantly faster to me,
though being able to parallelize it would be ideal.
2021-04-10 17:51:42 +02:00
Joshua Barretto
8f3233365d Improved hit particles 2021-03-29 21:52:05 +01:00
Joshua Barretto
b0acbda236 Improved archery with feedback sfx and particles 2021-03-29 21:52:04 +01:00
Sam
0d3795112c Added cursed flame attack to mindflayer 2021-03-27 21:05:03 -04:00
Marcel Märtens
6b23101fac update toolchain to nightly-2021-03-22 2021-03-22 16:41:04 +01:00
Joshua Yanovski
866cc79d2e Enable allocation of new textures on atlas allocation failure.
This solves the problem of not being able to set the view distance too
high, especially in pathological cases like giant trees.  For
simplicity, we just freeze any atlas where allocation failed and start
allocating to a new texture and atlas, letting reference counting
destroy the old one when there are no more references to it.  Because of
the spatial locality of chunk allocations, chunks allocated together
will virtually always have similar lifetimes, so the odds of this
causing significant fragmentation are very low, meaning this simple
solution should not do much worse than a much fancier one.
2021-03-20 16:21:41 +01:00
Joshua Barretto
f479231b15 Merge branch 'glowy-shiny-pretty' into 'master'
Glowy shiny pretty

See merge request veloren/veloren!1874
2021-03-11 17:37:33 +00:00
Joshua Barretto
6e0807f3f5 Cheaper and less broken material reflection/glow 2021-03-11 13:56:11 +00:00
Joshua Barretto
09e32cb952 Initial implementation of glow/shininess 2021-03-10 18:58:25 +00:00
Sam
c6a222340e Particles for lifesteal beam. Changed how frontend recognized beams. 2021-03-09 17:59:39 -05:00
Marcel Märtens
4ebfbdde0f Move Specs code to own common_ecs create, put tracy and macros into common_base 2021-03-09 00:54:01 +01:00
Marcel
e29964ead1 Merge branch 'sarrakitty/fireworks' into 'master'
added a white firework

See merge request veloren/veloren!1856
2021-03-07 18:37:35 +00:00
Joshua Barretto
427e0af73c Reverted to repr_c vek 2021-03-07 14:25:02 +00:00
Joshua Barretto
100cafa91b Directional baked lights for figures 2021-03-07 14:25:01 +00:00
Joshua Barretto
7d526da735 Experimental giant mother trees 2021-03-07 14:25:01 +00:00
Sarra
db3bc1b9bb added a white firework 2021-03-07 03:48:50 -05:00
Sam
53b0ba286a Ice particles for Wendigo 2021-02-27 01:42:46 -05:00
Sam
df70976ff5 Fixed particles. 2021-02-27 01:42:46 -05:00
Timo Kösters
a4513fe09d Improve particles 2021-02-27 01:42:46 -05:00
Joshua Barretto
60c16e57b1 Added snow particles 2021-01-31 15:15:17 +00:00
Benoît du Garreau
7b4aa6d4cc cargo fmt 2020-12-17 12:06:22 +01:00
Benoît du Garreau
d090eefb00 Move the asset module to a single file 2020-12-17 12:06:13 +01:00
Benoît du Garreau
0cf164f33a Use assets_manager to load assets 2020-12-17 12:06:07 +01:00
Marcel Märtens
ccb01e1898 adjust fmt and clippy after toolchain upgrade 2020-12-10 14:53:01 +01:00
weldar
a2d98d31a7 Removed SSAA option to resolve issue #871. 2020-12-01 09:43:06 -05:00
Andrii Zymohliad
8a6f08df91 Fix sun & moon movement direction
They were rising on the west and setting on the east
2020-11-27 23:17:59 +02:00
Joshua Barretto
46dc49bc0a Fixed bit-twiddling colour bug 2020-11-24 18:44:41 +00:00
Joshua Barretto
26fd40c0e3 Fmt, make clippy happy 2020-11-23 15:39:03 +00:00
Monty Marz
d069eb9a57 street lamp particles, ground fire bowl, misc fixes 2020-11-23 10:58:21 +00:00
Joshua Barretto
4bb0da24b6 Addressed review comments 2020-11-23 10:57:57 +00:00
Joshua Barretto
27e7fd0727 Preserved light/glow maps to prevent sprites/entities being lit when they shouldn't be 2020-11-23 10:57:56 +00:00
Joshua Barretto
51d1a2ecff Added glow 2020-11-23 10:57:56 +00:00
Joshua Barretto
93a86a951e Tweaked default graphics settings 2020-11-23 10:57:56 +00:00
Joshua Barretto
5930ca4a59 Temporarily make particles opaque to avoid depth-related rendering problems 2020-11-23 10:57:55 +00:00
Joshua Barretto
bcc220804a Added exposure to settings 2020-11-23 10:57:55 +00:00
Monty Marz
8b6c73744e more map stuff 2020-11-23 10:57:16 +00:00
Joshua Barretto
1d031538f9 Added HDR 2020-11-23 10:45:02 +00:00
Joshua Barretto
49df604de0 Better scattering and scatter (of both varieties) 2020-11-23 10:45:02 +00:00
Joshua Barretto
ee65b4fb17 Improved cloud quality by improving sun access heuristic 2020-11-23 10:45:02 +00:00
Joshua Barretto
171ef1d7b9 Upscaling support 2020-11-15 22:18:35 +00:00
Imbris
5fa2ac6e38 Handle window resizing properly to fix some bugs on startup 2020-11-12 23:56:36 -05:00
Joshua Barretto
7bce8b9615 More resiliant settings, better key defaults 2020-11-11 17:37:26 +00:00
Imbris
586bdddc9e Add gradient primitive to ui, adjust textbox aspect ratio, misc tweaks 2020-11-11 03:02:22 -05:00
Imbris
a7458c099c Implement text renderering with glyph_brush (lifetime error) 2020-11-11 03:02:20 -05:00
Joshua Barretto
2237500743 Clouds 2020-10-21 21:05:25 +00:00
Sam
7ef73f5981 Added particles for fire shockwave. Added ability key enum so held abilities could differentiate what button they should check. Modified energy fields on basic beam so it could drain energy every second. 2020-10-14 20:56:22 -05:00
Sam
c80f16ae74 Started to add particles. 2020-10-14 20:56:20 -05:00
Imbris
a3ee5a4006 Rename model_col -> highligh_col to better reflect its usage 2020-10-10 02:10:32 -04:00
Imbris
308cca0dc9 Put server-cli specific settings in their own structure, serde_derive -> serde 2020-10-10 02:10:32 -04:00