Commit Graph

97 Commits

Author SHA1 Message Date
SeanOMik db501015d0
Create an example project to test transform interpolation 2024-04-24 00:30:30 -04:00
SeanOMik e2c6b557bb
render: improve performance of transform interpolation by using ecs components 2024-04-22 01:07:35 -04:00
SeanOMik 8eac563229
render: significantly improve performance of TransformBuffers
Before the changes, a release build of 'many-lights' was running at about 130fps, now its 430fps
2024-04-21 00:54:45 -04:00
SeanOMik 24e1c0281e
Make tracy profiling an optional feature, create 'many-lights' example 2024-04-20 00:08:25 -04:00
SeanOMik 246705b80b
game: some profiling improvements 2024-04-19 23:37:08 -04:00
SeanOMik 3c73e1d7e2
render: only run system_update_world_transforms for scenes that were modified 2024-04-18 22:38:15 -04:00
SeanOMik 25aa902e02
render: use WorldTransforms in the renderer
ci/woodpecker/push/debug Pipeline failed Details
2024-04-17 20:46:46 -04:00
SeanOMik 3dfb2520ce
ecs: add some spans around the system executors
ci/woodpecker/push/debug Pipeline failed Details
2024-04-01 12:02:16 -04:00
SeanOMik 0a9e5ebcdb
render: improve fix for rendering shared 3d modules 2024-04-01 10:50:17 -04:00
SeanOMik dd61e8e66c
render: hack to get rendering shared 3d modules working 2024-03-31 23:02:18 -04:00
SeanOMik aa8d94851c
game: rewrite EventQueue due to new ecs requirement of Send + Sync for resources, use new SceneGraph in renderer 2024-03-31 13:24:32 -04:00
SeanOMik 763d51ae36
move some stuff out of testbed into lyra-game 2024-03-22 22:55:22 -04:00
SeanOMik 0f11fe2e6d
render: fix spot light culling 2024-03-22 10:46:52 -04:00
SeanOMik e2844a11a6
render: create toggleable debug light cull view 2024-03-20 19:03:39 -04:00
SeanOMik f0b413d9ae
render: resize light grid with window, improve light buffer, add spot lights to the light cull compute
Spot lights are buggy. They get culled when they shouldn't be, maybe still an issue with the light grid :(
2024-03-20 11:41:40 -04:00
SeanOMik 65ff7c4f23
render: retrieve light properties from components 2024-03-19 22:40:15 -04:00
SeanOMik 834a864544
render: get forward+ rendering working with multiple light sources 2024-03-19 21:08:24 -04:00
SeanOMik 014abcf7e6
render: fix the tile frustum used for culling lights 2024-03-19 21:07:39 -04:00
SeanOMik 76ec9606ec
render: add some fields to the camera uniform 2024-03-17 16:07:24 -04:00
SeanOMik 5c1ce809ff
render: get some lights showing up with tiled forward rendering
For some reason there's weird square in the light source, and the dynamic light is only applied to the top left tile
2024-03-17 15:20:17 -04:00
SeanOMik c73c1a7f43
render: fix segfault in LightCullCompute 2024-03-16 22:58:38 -04:00
SeanOMik 4ce21d4db0
render: dont send the same material to the gpu multiple times, speeding up gpu texture loading 2024-03-16 19:12:32 -04:00
SeanOMik cfd5cabfbb
render: create light cull compute shader, bind buffers, etc. 2024-03-16 18:39:07 -04:00
SeanOMik 22c08ba66e
render: improve the render buffer wrapper, use it for the camera uniform 2024-03-14 23:08:21 -04:00
SeanOMik 1c29e6fa72
cleanup some simple compiler warnings 2024-03-09 00:48:23 -05:00
SeanOMik cd27c9602c Inline a few things 2024-03-09 00:46:42 -05:00
SeanOMik 5331cfc2c4 resource, render: load in texture sampler from gltf and use them in the renderer 2024-03-09 00:46:42 -05:00
SeanOMik b941fa2fe0 cleanup some simple compiler warnings 2024-03-09 00:46:42 -05:00
SeanOMik e36307eef7 render: fix the TransformBuffers that could only store a single Transform for an entity
This caused Scenes to be rendered poorly since all meshes would use the Transform of the last processed mesh
2024-03-09 00:46:42 -05:00
SeanOMik fba925512b render: process GltfScenes and Node local transforms 2024-03-09 00:46:42 -05:00
SeanOMik 70fecc8cdd
fixes across crates after changes to ecs 2024-03-02 22:55:13 -05:00
SeanOMik 5521d4a659
scripting: start work on exposing InputActions to lua, implement inserting reflected resource 2024-02-25 17:06:53 -05:00
SeanOMik 6731fcd7f2
scripting: implement spawning entity with loaded 3d models 2024-02-24 14:32:06 -05:00
SeanOMik 0373f68cc3
resource: create the ability to keep resources as type erased data 2024-02-23 16:38:38 -05:00
SeanOMik e6b4e83dee
scripting: fix math type wrapper macro for lua. Expose math types as userdata through LuaProxy trait 2024-02-19 17:57:48 -05:00
SeanOMik 4247c4f5c1
scripting: switch to elua, create LuaTableProxy for proxying rust types into and from lua tables 2024-02-17 14:27:16 -05:00
SeanOMik e88758f59d
scripting: expose resources to the world 2024-01-20 00:54:36 -05:00
SeanOMik db77ca4388
scripting: lua script auto-reloading 2024-01-15 23:22:21 -05:00
SeanOMik a9705b3f81
scripting, game: make fixes for changes to resource crate 2024-01-15 21:30:05 -05:00
SeanOMik 189d05e323
split the math module into a lyra-math crate, implement Reflect and Component for Transform 2024-01-13 11:51:16 -05:00
SeanOMik d14abcc3e5
Get some math types and some ecs stuff exposed to lua 2024-01-12 14:11:33 -05:00
SeanOMik 13ad671a55
scripting: update lua scripts on 'update' stage 2024-01-06 23:06:00 -05:00
SeanOMik ac24d1f913
Fix querying resources in fn systems, create CommonActionLabels, more code cleanup of free fly camera 2024-01-06 21:38:21 -05:00
SeanOMik 22b582c3f8
Implement axises to input actions, use input actions with the free fly camera 2024-01-06 20:15:54 -05:00
SeanOMik 6242abb35b
game: Create more stages and generalize them 2024-01-06 16:49:36 -05:00
SeanOMik 9307265a5a
Implement staged system execution, make it easier to add systems, remove some compiler warnings 2024-01-06 15:40:13 -05:00
SeanOMik c673fd98ff
Large restructuring so lyra-scripting can create a Plugin
ci/woodpecker/push/debug Pipeline failed Details
2024-01-04 23:25:29 -05:00