Commit Graph

370 Commits

Author SHA1 Message Date
SeanOMik b90e19161d
lua: expose FreeFlyCamera 2024-10-07 16:28:38 -04:00
SeanOMik e9cbb48653
lua: expose camera, support ToLua and FromLua structs in World:view 2024-10-07 15:20:13 -04:00
SeanOMik 49dfb38da3
lua: expose fields on some types from lyra_resource 2024-10-05 13:46:53 -04:00
SeanOMik 140ca506d6
lua: create type defs for World, Entity, ActionHandler, all asset handlers, add globals file 2024-10-04 23:48:58 -04:00
SeanOMik 06a4301c23
lua: create type defs for Vec2, Vec3, Vec4, Quat, Transform, and DeltaTime 2024-10-04 15:07:42 -04:00
SeanOMik de14b6211b
lua: create type defs for Window and start on Vec2 2024-10-03 19:07:11 -04:00
SeanOMik a2c52a0bb8
ecs: fix Changed query; lua: lock and hide mouse in window
CI / build (push) Failing after 3m10s Details
2024-10-02 21:29:13 -04:00
SeanOMik 76b7cac699
lua: expose most fields for window component 2024-10-02 20:54:54 -04:00
SeanOMik 64099f598c
fix ci test step
CI / build (push) Failing after 2m35s Details
2024-09-30 19:59:26 -04:00
SeanOMik 958c86cf73 Merge pull request 'Fix #19: Lua crashes when spawning entities in optimized builds' (#27) from fix/scripting-switch-to-mlua into main
CI / build (push) Failing after 3m44s Details
Reviewed-on: #27
2024-09-29 21:39:20 -04:00
SeanOMik ef2b0bf326
ecs,scripting: fix invalid resources being passed to lua
CI / build (pull_request) Failing after 3m35s Details
The issue was World::get_resource_ptr, it was returning a pointer to the AtomicRefCell instead of the actual resource data
2024-09-29 14:35:24 -04:00
SeanOMik fa22a0310c
scripting: switch to latest mlua, create custom impl of lua's `getmetatable` 2024-09-29 15:59:48 -04:00
SeanOMik 02f0c93aa2
game: fix some unhandled device events causing panics 2024-09-28 22:05:57 -04:00
SeanOMik 8fb686b7fe
scripting: switch to mlua, scripts need to be tested and fixed
currently the lua-scripting example doesnt work. For some reason the userdata's metatable is a boolean...
2024-09-28 12:32:37 -04:00
SeanOMik 798719a7a2
game: remove unused enum InputEvent, remove some warnings 2024-09-27 21:09:33 -04:00
SeanOMik d6d6b2df72
game: improve event system 2024-09-27 21:03:57 -04:00
SeanOMik f5aca87ede
ecs: don't automatically tick the world, use Res and ResMut anywhere ecs resources are requested to track changes better
now the user must manually tick the world. The engine will do this before every update
2024-09-27 21:03:27 -04:00
SeanOMik 9b1cc8c364
game: improve event handling, update input systems to use new event handling
CI / build (push) Failing after 12m37s Details
2024-09-24 20:43:08 -04:00
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