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
a39d259bb4
Switch nix-shell to use oxalica overlay to get miri working, fix memory leak in archetypes
2024-03-31 10:56:04 -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
a2aac25249
ecs, reflect: implement Bundle for (), use `nobuild` instead of `compile_fail` for reflect rustdocs
2024-03-31 00:29:12 -04:00
SeanOMik
e5018c8258
reflect: fix type registry from changes with ecs resources
2024-03-30 22:42:41 -04:00
SeanOMik
e00d0d71d1
examples: move assets outside of testbed for other examples
2024-03-30 22:20:53 -04:00
SeanOMik
46cdcfdd3b
ecs: make resources Send + Sync, rewrite Commands, CommandsQueue so that they are Send + Sync
2024-03-30 22:20:52 -04:00
SeanOMik
61efc358ce
scene: make scenes own its own world, no references
2024-03-24 22:40:38 -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
f63a7ae86a
include correct rust install in nix-shell
2024-03-19 21:40:08 -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
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