Commit Graph

402 Commits

Author SHA1 Message Date
SeanOMik 9125b91977
ecs: add WorldTick query, implement IntoSystem and FnSystem for funcs with 11 args
accidentially missed the macro call for 11 arguments
2024-09-24 20:30:37 -04:00
SeanOMik eb43fad6c7 Merge pull request 'Update wgpu to 0.20.1 and winit to 0.30.3' (#26) from chore/winit-wgpu-update into main
CI / build (push) Failing after 14m58s Details
Reviewed-on: #26
2024-09-23 19:06:26 -04:00
SeanOMik 7219013593
delete Cargo.lock.old
CI / build (pull_request) Failing after 3m18s Details
2024-09-23 18:53:32 -04:00
SeanOMik 33ddf689be
game: create sync window system, handle more window events in the winit plugin 2024-09-22 21:17:40 -04:00
SeanOMik 393b4206d3
game: start on updated WindowOptions component and window_sync_system 2024-09-21 14:09:24 -04:00
SeanOMik 782d64f6cf
ecs: implement an actual Filter trait, create a Changed filter 2024-09-21 14:06:21 -04:00
SeanOMik 2107b8f7b0
engine: move winit ApplicationHandler to winit plugin 2024-09-19 17:30:30 -04:00
SeanOMik 8b1077cab7
engine: get a window showing and things rendered 2024-09-18 21:45:15 -04:00
SeanOMik 45fd190409
update wgpu and winit to latest versions
need to make a WinitPlugin though, so no window currently
2024-09-18 19:47:55 -04:00
SeanOMik 2b44d7f354 render: implement wgsl-preprocessor, split shaders
CI / build (push) Failing after 7m56s Details
2024-09-14 20:08:18 -04:00
SeanOMik 60c139f9b2 ecs: create DynamicViewOne
CI / build (push) Failing after 11m20s Details
2024-09-02 20:34:02 -04:00
SeanOMik 256025849e Merge pull request 'Implement Shadows' (#24) from feat/shadow-maps into main
CI / build (push) Successful in 3m38s Details
Reviewed-on: #24
2024-08-09 23:10:28 -04:00
SeanOMik 8545e7e27d
render: rewrite PCF for spot lights to somehow fix PCSS directional lights
CI / build (pull_request) Successful in 9m48s Details
2024-08-09 22:01:57 -04:00
SeanOMik a85178eeea Revert "render: shadow maps and PCF for spot lights"
This reverts commit 8c1738334c.
2024-08-09 21:51:56 -04:00
SeanOMik 8c1738334c
render: shadow maps and PCF for spot lights 2024-07-24 20:10:32 -04:00
SeanOMik fefcf58765
render: make shadow depth bias configurable per light source 2024-07-21 21:53:02 -04:00
SeanOMik b0a6d30afc
render: fix directional light shadows 2024-07-21 21:09:29 -04:00
SeanOMik fef709d5f1
render: implement PCF for point lights, support per-light shadow settings 2024-07-21 12:02:35 -04:00
SeanOMik c91ee67961
render: improve shadow settings to make it possible to switch between PCF, PCSS, hardware 2x2 PCF, or disable filtering all together 2024-07-19 17:56:27 -04:00
SeanOMik c961568b96
render: update the shadow filting poisson disc when shadow settings are modified 2024-07-19 16:07:40 -04:00
SeanOMik 54b47c2178
ecs: implement change tracking for world resources 2024-07-19 16:07:03 -04:00
SeanOMik 4449172c2b
render: implement PCSS for directional lights 2024-07-18 23:43:08 -04:00
SeanOMik 4c6c6c4dd5
render: PCF with poisson disc on directional lights 2024-07-14 22:14:08 -04:00
SeanOMik 27bc88c5a7
render: pass shadow settings to gpu 2024-07-14 19:46:15 -04:00
SeanOMik ff06bd55f3
render: simple PCF 2024-07-14 19:06:38 -04:00
SeanOMik d02258224a
render: fix bug with texture atlas not packing textures in last column 2024-07-14 12:24:13 -04:00
SeanOMik b45c2f4fab
render: point light shadows in texture atlas, fix bug with unaligned GpuSlotBuffer 2024-07-13 00:56:09 -04:00
SeanOMik 40fa9c09da
render: fix shadow map atlas packing by writing my own skyline packer 2024-07-12 14:58:18 -04:00
SeanOMik 87aa440691
render: create a GpuSlotBuffer for stable indices in a gpu buffer 2024-07-11 20:00:46 -04:00
SeanOMik cc1c482c40
render: provide shadow texture atlas frame for each shadow casting light 2024-07-11 18:27:26 -04:00
SeanOMik a4ce4cb432
render: implement packed texture atlas for shadow maps 2024-07-10 20:16:21 -04:00
SeanOMik e2b554b4ef
render: implement simple texture atlas for the shadow maps 2024-07-05 17:29:38 -04:00
SeanOMik 6d57b40629
render: cull back faces, code cleanup to fix warnings 2024-07-04 23:28:21 -04:00
SeanOMik fd65f754cf
render: get simple directional shadow maps working 2024-07-04 13:43:36 -04:00
SeanOMik 6c6893149a
render: bind direction light projection matrix to meshes shader 2024-06-30 21:58:08 -04:00
SeanOMik 1c649b2eb6
render: bind the shadow map atlas to the meshes shaders 2024-06-30 21:42:08 -04:00
SeanOMik 7b2d2424a3
render: start moving to a shadow map atlas texture and expose the resources as slots 2024-06-30 20:56:41 -04:00
SeanOMik e8974bbd44
render: create a depth map for the directional light 2024-06-30 19:33:51 -04:00
SeanOMik 3a80c069c9
render: move most of the mesh processing to a MeshPrepare node
Moving that out of the MeshesPass makes the rendering meshes accessible to other passes/nodes. The shadow pass will need access to them which is why this was done now
2024-06-29 22:23:49 -04:00
SeanOMik 7ff67a194b
create an example for testing shadow maps 2024-06-28 16:15:21 -04:00
SeanOMik c4aebdb25d
render: implement fxaa (#8)
CI / build (push) Successful in 3m33s Details
2024-06-28 15:26:14 -04:00
SeanOMik 5ebbec8cf9
ci: switch to ForgeJo actions
CI / build (push) Successful in 3m33s Details
2024-06-28 13:50:26 -04:00
SeanOMik 2eeca335e2
game: run clippy 2024-06-28 13:25:48 -04:00
SeanOMik 96dea5b1f9
render: code cleanup 2024-06-28 13:16:47 -04:00
SeanOMik 007b1047ef
render: implement view target chains for post processing steps 2024-06-27 23:48:24 -04:00
SeanOMik 545da71cda
render: create ViewTarget to make it easier to render to a non-surface texture and chain together postprocess steps 2024-06-26 21:33:39 -04:00
SeanOMik 0e71c5734f
render: make it easier to get Frame from RenderTarget 2024-06-26 17:14:31 -04:00
SeanOMik 6c1bff5768
render: get sub render graphs working and create a simple test of them 2024-06-25 21:32:29 -04:00
SeanOMik 5f1a61ef52
render: create RenderTarget and Frame, making it easier to render to a non-surface texture 2024-06-23 20:25:57 -04:00
SeanOMik f755a4c53b
render: create a node for sub render graphs, create a graph init node 2024-06-22 17:00:32 -04:00