Commit Graph

50 Commits

Author SHA1 Message Date
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 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 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 a17c035c05
resource: use a SceneGraph for loading gltf nodes, make resources Send + Sync 2024-03-31 00:32:31 -04:00
SeanOMik 61efc358ce
scene: make scenes own its own world, no references 2024-03-24 22:40:38 -04:00
SeanOMik aa3a4a17d7
resource: implement waiting for resource dependencies to be loaded 2024-03-10 00:11:15 -05:00
SeanOMik dead32dbab
resource: asyncronous loading of resources 2024-03-09 00:48:22 -05:00
SeanOMik fba925512b render: process GltfScenes and Node local transforms 2024-03-09 00:46:42 -05:00
SeanOMik 8aae479df3 Create a new crate! lyra-scene for representing a SceneGraph in an ECS world 2024-03-09 00:46:42 -05:00
SeanOMik de4fb76f31
scripting: update for elua and new wip support for teal 2024-02-28 21:10:52 -05:00
SeanOMik aadc8e5094
scripting: expose all other ActionHandler methods to Lua 2024-02-25 20:53:20 -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 5dfc073db5
ecs: add commands test and fix Commands 2024-02-24 11:09:26 -05:00
SeanOMik 0373f68cc3
resource: create the ability to keep resources as type erased data 2024-02-23 16:38:38 -05:00
SeanOMik f2f8248de7
scripting: add elua as a git submodule, remove mlua from the cargo.toml 2024-02-14 20:33:07 -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 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
SeanOMik 6caf235a6f
Add early scripting system with lua
ci/woodpecker/push/debug Pipeline failed Details
2024-01-04 20:52:47 -05:00
SeanOMik 52e58b1ca5 Add lyra-reflect
ci/woodpecker/push/debug Pipeline failed Details
2023-12-30 18:55:05 -05:00
SeanOMik d075fd5d5f
Fix test failure caused by invalid pointer free, remove unused dependencies
ci/woodpecker/push/debug Pipeline was successful Details
2023-12-28 22:54:19 -05:00
SeanOMik 09bba5b3b3
Switch to lyra-ecs systems, move ecs mod to scene mod, reexport lyra-ecs as ecs 2023-12-26 23:48:46 -05:00
SeanOMik 2805399fe4
Switch to use lyra-ecs 2023-12-26 14:12:53 -05:00
SeanOMik e95a45fd53
Implement a single point light with blinn-phong lighting 2023-11-10 09:14:18 -05:00
SeanOMik b9b2c9f8e7
Finish fixed rate transform interpolation for the renderer
ci/woodpecker/push/build Pipeline failed Details
2023-11-03 19:50:00 -04:00
SeanOMik 7ae59c0415
Loading textures from gltf blob and gltf.bin's, fix loading multiple meshses in a single model 2023-10-21 22:19:34 -04:00
SeanOMik fd9f4bee2a
Implement loading material textures from gltf and rendering them 2023-10-17 22:04:25 -04:00
SeanOMik 8f7288339d
Add default texture which fixes render error, fix cube rendering 2023-10-05 11:42:24 -04:00
SeanOMik dabc051b58
Add ModelComponent, add model loader to resource manager's default loaders 2023-09-26 17:14:38 -04:00
SeanOMik 38e7b543c0
Start working on gltf 2023-09-21 14:22:46 -04:00
SeanOMik bd21e62cba
Use resources from the resource manager, implement startup systems 2023-09-14 12:58:59 -04:00
SeanOMik a1c3cd6d99
Write resource managers request function, needs testing 2023-09-12 19:07:03 -04:00
SeanOMik e21490cd6a
Start working on assets 2023-09-12 14:25:33 -04:00
SeanOMik 32689e77ce
Convert the engine into a lib package 2023-09-08 01:06:50 -04:00
SeanOMik 2e225ccd09
Some code cleanup 2023-09-08 01:06:49 -04:00
SeanOMik 81c3b5be55
Fix the logger to include info logs from other crates 2023-09-08 01:06:48 -04:00
SeanOMik ec960b8f94
Fix rendering multiple entities
this is done by using a large dynamic uniform buffer for storing all transforms of entities
2023-09-08 01:06:44 -04:00
SeanOMik 73b44857eb
Switch ecs to edict 2023-09-08 01:06:42 -04:00
SeanOMik 805fde2d4e
Rewrite the input system using an event based system 2023-09-08 01:06:41 -04:00
SeanOMik 5a37fcf1e6
Implement MouseMotion and CursorMoved input events 2023-09-08 01:06:39 -04:00
SeanOMik d25ecf0e00
Add resource system, early input system, custom hecs world wrapper 2023-09-08 01:06:38 -04:00
SeanOMik 7c381672d9
simple ecs systems! 2023-09-08 01:06:35 -04:00
SeanOMik 265c3dbc5a
Significant render refactoring, implement transformation matrix 2023-09-08 01:06:26 -04:00
SeanOMik 3fe294b8b2
Create the ground works for an ECS in the engine 2023-09-08 01:06:22 -04:00
SeanOMik bbc7c8e283
Create window, handle simple input 2023-09-08 01:05:59 -04:00