Commit Graph

3482 Commits

Author SHA1 Message Date
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
8db11cce37 Use expect to document potential panic when starting a new frame recording, fix clippy warning 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
Joshua Yanovski
38d2d46165 Fix shadows for wgpu.
In the process, we also fix our n_e / f_e calculation to actually
compute plane intersections properly.
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
99998b9870 Use profling to get spans from wgpu, update wpgu & its deps for various
fixes
2021-06-03 00:10:06 -04:00
Imbris
ffdf7012bc Update wgpu to fix dx11 issue 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
77689d1420 Comment out lod depth tweaks not designed for reverse depth, convert waves image to rgba before constructing a texture, misc fix after rebase 2021-06-02 23:59:50 -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
João Capucho
aaa397a52a Fix panic on zero sized scissor 2021-06-02 23:59:50 -04:00
João Capucho
04eff56523 Fix resizing using the wrong value 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
0e0c8fbfc8 wgpu branch rebase fixes 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
0a60fb2d72 Update wgpu to fix segfault 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
2f69c41b00 fix nametag depth culling as well as a tweak to maybe make the main menu not flicker on intel iGPU 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
363c55c521 Fix directed shadows, mostly. 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
7389f8893d Re enable the skybox rendering in char select 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
Capucho
c22dc6697c Reenable non-player figure drawing 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
0db2a35955 Fix the orientation of the rendering
Reenable the rendering of the player
2021-06-02 23:59:47 -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