Commit Graph

152 Commits

Author SHA1 Message Date
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
João Capucho
cc566abe5c
Update wgpu and check for best swap chain format 2021-06-09 21:15:37 +01: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
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
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
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
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
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
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
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
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
8d63446300 Almost implement instance merging for sprites (validation error), rebase
fix
2021-06-02 23:59:50 -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
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
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
e1af485e5f Add setting for the PresentMode 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
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
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
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
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
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