Commit Graph

325 Commits

Author SHA1 Message Date
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 1818a0b48b
position the camera in a good position in the scene 2024-03-16 18:50:22 -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 f345f065c1
reflect: create ReflectedMap 2024-03-10 00:17:09 -05:00
SeanOMik aa3a4a17d7
resource: implement waiting for resource dependencies to be loaded 2024-03-10 00:11:15 -05:00
SeanOMik 4a285e5866
Merge branch 'feature/async-resource-loading' into main 2024-03-09 00:48:42 -05:00
SeanOMik 1c29e6fa72
cleanup some simple compiler warnings 2024-03-09 00:48:23 -05:00
SeanOMik de64b06e46
ecs: fix warning 2024-03-09 00:48:22 -05:00
SeanOMik dead32dbab
resource: asyncronous loading of resources 2024-03-09 00:48:22 -05:00
SeanOMik 1d7d13eb7b Merge pull request 'Some gltf improvements' (#4) from feature/gltf-scene-fixes into main
Reviewed-on: #4
2024-03-09 00:46:42 -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 c1b5ca768f resource: Create Gltf object, expand GltfScene to collect all node transforms, other qol changes 2024-03-09 00:46:42 -05:00
SeanOMik c3de9e77db ecs: fix filters 2024-03-09 00:46:42 -05:00
SeanOMik 7db913d15b resource: load multiple gltf scenes 2024-03-09 00:46:42 -05:00
SeanOMik 556b603f83 resource: improve gltf loader to show scene hierarchy and node local transform 2024-03-09 00:46:42 -05:00
SeanOMik ad40621f7c scene: some cleanup 2024-03-09 00:46:42 -05:00
SeanOMik bcc035ab91 Some cleanup 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 b76832ec05 ecs: fix World::insert, finish a TODO related to it
The TODO was that if the archetype has a single entity, add a component column for the new component instead of moving the entity to a brand new archetype
2024-03-09 00:46:42 -05:00
SeanOMik ad82f61cf4 Merge pull request 'Implement relationships in the ECS' (#3) from feature/ecs-relations into main
Reviewed-on: #3
2024-03-03 16:22:39 -05:00
SeanOMik 70fecc8cdd
fixes across crates after changes to ecs 2024-03-02 22:55:13 -05:00
SeanOMik c0df9f2d65
ecs: fix a typo in docs 2024-03-02 22:55:12 -05:00
SeanOMik 6210778e9d
ecs: some code cleanup 2024-03-02 22:55:11 -05:00
SeanOMik 7d90b1d38f
ecs: improve docs 2024-03-02 22:55:10 -05:00
SeanOMik 21537481c9
ecs: add relations, improve docs 2024-03-02 22:55:10 -05:00
SeanOMik d4135e0216
ci: fix ci and change triggers 2024-03-02 22:51:46 -05:00
SeanOMik 71693971c2 Merge pull request 'Create an early scripting engine' (#2) from feature/early-scripting into main
Reviewed-on: #2
2024-03-02 22:28:55 -05:00
SeanOMik 31398d5446
scripting: update elua submodule 2024-02-29 19:31:30 -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 5a7ac6ad11
scripting: fix some doc comments 2024-02-24 17:57:05 -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 4a7cdfab80
ecs: fix executing deferred fn system arguments 2024-02-24 14:30:09 -05:00
SeanOMik 90b821f95c
scripting: implement loading assets in lua 2024-02-24 11:16:09 -05:00
SeanOMik 5dfc073db5
ecs: add commands test and fix Commands 2024-02-24 11:09:26 -05:00
SeanOMik 1f43a9d4da
fix compiler errors after some changes to game crate 2024-02-23 16:43:23 -05:00
SeanOMik f2d302c6d4
reflect: ReflectedComponent takes ownership over reflected component when inserting into entity 2024-02-23 16:39:51 -05:00
SeanOMik 0373f68cc3
resource: create the ability to keep resources as type erased data 2024-02-23 16:38:38 -05:00
SeanOMik 380c8df740
ecs: implement deferred system commands, change the way system fn arguments are implemented 2024-02-23 16:34:21 -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