Commit Graph

120 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 25aa902e02
render: use WorldTransforms in the renderer
ci/woodpecker/push/debug Pipeline failed Details
2024-04-17 20:46:46 -04:00
SeanOMik a3118f32e2
resource: implement retrieving loaded SceneGraph dependencies 2024-03-31 13:37:25 -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 e00d0d71d1
examples: move assets outside of testbed for other examples 2024-03-30 22:20:53 -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 014abcf7e6
render: fix the tile frustum used for culling lights 2024-03-19 21:07:39 -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 1818a0b48b
position the camera in a good position in the scene 2024-03-16 18:50:22 -04:00
SeanOMik aa3a4a17d7
resource: implement waiting for resource dependencies to be loaded 2024-03-10 00:11:15 -05:00
SeanOMik 1c29e6fa72
cleanup some simple compiler warnings 2024-03-09 00:48:23 -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 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 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 d0179cda69
scripting: get FreeFlyCamera working with ActionHandler created by Lua 2024-02-25 17:42:14 -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 388f686917
scripting: create `FN_NAME_INTERNAL_AS_COMPONENT` for implicitly converting some types as components 2024-02-24 15:27:01 -05:00
SeanOMik 6731fcd7f2
scripting: implement spawning entity with loaded 3d models 2024-02-24 14:32:06 -05:00
SeanOMik 90b821f95c
scripting: implement loading assets in lua 2024-02-24 11:16:09 -05:00
SeanOMik 1f43a9d4da
fix compiler errors after some changes to game crate 2024-02-23 16:43:23 -05:00
SeanOMik e354528942
scripting: Implement LuaVec3:move_by, and add more methods for Lua on math types 2024-02-19 23:14: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 ea958f9f18
scripting: convert LuaDeltaTime into a Lua Number instead of using it as userdata 2024-02-19 11:27:49 -05:00
SeanOMik 20a36795dc
scripting: update elua, change test lua script 2024-02-17 19:08:11 -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 e5599e1d27
scripting, ecs: expose Transform to lua, update component ticks on changes from lua 2024-01-13 11:52:20 -05:00
SeanOMik e49d69dbc1
scripting: update scripts on all game stages, create utility api provider
ci/woodpecker/push/debug Pipeline failed Details
2024-01-07 00:57:19 -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 265752ee76
Free fly camera code cleanup 2024-01-06 20:37:23 -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 9307265a5a
Implement staged system execution, make it easier to add systems, remove some compiler warnings 2024-01-06 15:40:13 -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 10fc7842cf
Fix a painful amount of compiler warnings, and clippy warnings 2023-12-28 21:30:45 -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 66ec18eade
Add dir for luberyard-bistro example scene
This scene is massive when exported to gltf (.glb), about 1.5GBs. I need to write an fbx loader
2023-12-21 17:35:38 -05:00
SeanOMik 104649d574
Implement spot lights and directional lights 2023-12-21 17:35:37 -05:00
SeanOMik e412e589d1
Prototype implementation of specular maps 2023-12-21 17:35:30 -05:00
SeanOMik 039e99281a
Fix issues with the normal matrix 2023-12-21 17:31:04 -05:00
SeanOMik 6826d43c8b
Switch to desktop
ci/woodpecker/push/build Pipeline was successful Details
2023-11-15 19:47:22 -05:00
SeanOMik 65467c5032
Add normal matrix for lighting, fix render multiple entities that use same model 2023-11-12 14:56:59 -05:00
SeanOMik aa79ace401
Get multiple light sources working
ci/woodpecker/push/build Pipeline was successful Details
2023-11-10 17:52:11 -05:00
SeanOMik d26e1ccfb4
Create a PointLight component for light position
ci/woodpecker/push/build Pipeline was successful Details
2023-11-10 12:28:17 -05:00
SeanOMik e95a45fd53
Implement a single point light with blinn-phong lighting 2023-11-10 09:14:18 -05:00
SeanOMik 8d6e675c82
Implement a decent first pass of the input action system
ci/woodpecker/push/build Pipeline was successful Details
This still needs some work, mostly just names of things and finding a better way to add the InputActionPLugin and ActionHandler
2023-11-05 22:50:57 -05:00
SeanOMik 75c0377d9c
Create structs for the input actions
ci/woodpecker/push/build Pipeline was successful Details
2023-11-04 11:34:27 -04: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 1b723cc30b
Attempt to interpolate transforms in the renderer
ci/woodpecker/push/build Pipeline was successful Details
2023-10-31 14:28:22 -04:00
SeanOMik 31799cae05
Some code cleaup of the renderer file
ci/woodpecker/push/build Pipeline was successful Details
2023-10-29 21:01:58 -04:00
SeanOMik 6b935739ef
Add system criteria
ci/woodpecker/push/build Pipeline was successful Details
2023-10-29 17:54:04 -04:00
SeanOMik 927566ca3d
Add delta time, use it in the free fly camera
ci/woodpecker/push/build Pipeline was successful Details
2023-10-26 22:26:13 -04:00
SeanOMik 1f534bb1aa
Fix unintended roll of fly cam
ci/woodpecker/push/build Pipeline was successful Details
2023-10-26 12:17:10 -04:00
SeanOMik f3c25b6370
Rotate camera with mouse
ci/woodpecker/push/build Pipeline was successful Details
2023-10-25 21:49:38 -04:00
SeanOMik 249b87afed
Create simple keyboard controlled free fly camera
ci/woodpecker/push/build Pipeline was successful Details
2023-10-24 20:03:27 -04:00
SeanOMik 4191a463f5
Remove warnings from testbed example
ci/woodpecker/push/build Pipeline was successful Details
2023-10-23 16:56:55 -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 a5b145c9b3
Create a testbed example to make developing the engine easier 2023-09-29 14:57:22 -04:00