SeanOMik
f440f306be
render: impl Node for RenderGraph in prep for sub-graphs
2024-06-21 22:06:58 -04:00
SeanOMik
f17bf40c77
render: rename RenderGraph::add_pass to add_node
2024-06-21 21:58:40 -04:00
SeanOMik
5fc1a0f134
Add todo panic in code when window is resized
2024-06-16 20:05:04 -04:00
SeanOMik
33358662e2
fix docstest errors in render graph
2024-06-16 00:15:54 -04:00
SeanOMik
0edba69b02
fix warnings, remove some commented code from base shader
ci/woodpecker/push/debug Pipeline failed
Details
2024-06-16 00:11:21 -04:00
SeanOMik
6182a4b9c8
render: simplify light buffer updating
2024-06-15 23:52:46 -04:00
SeanOMik
7576979797
render: fix lighting with more than one light
2024-06-15 23:52:10 -04:00
SeanOMik
d5348ec172
render: a tiny bit of code cleanup
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-06-12 21:30:09 -04:00
SeanOMik
9ce79e6b29
resource: fix tests, render: remove warning
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-06-12 21:23:27 -04:00
SeanOMik
6d7932f6a5
render: remove IDs for everything, use only labels to identify things
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-06-11 20:59:55 -04:00
SeanOMik
28b9604189
render: rename RenderGraphPass to Node to better represent what it actually is in the RenderGraph
...
A node wont always render or compute, so it wouldn't actually be a pass. Calling it a node is a better representation of what it actually is
2024-06-06 19:37:25 -04:00
SeanOMik
a0a2acfec0
render: add todo in code
2024-06-03 19:06:07 -04:00
SeanOMik
ef68b2a4c5
render: create a RenderGraphLabel trait for graph labels instead of strings
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-06-02 21:35:59 -04:00
SeanOMik
41d77c5687
render: a tiny bit of code cleanup in mesh pass
2024-06-01 23:05:43 -04:00
SeanOMik
bb21805278
render: add a debug_assert to ensure the developer doesn't reuse ids for slots
2024-06-01 22:55:50 -04:00
SeanOMik
c846d52b0d
render: finally get meshes and entities rendering again with the render graph!
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-05-31 20:11:35 -04:00
SeanOMik
7f5a1cd953
render: a bit of code cleanup
2024-05-25 19:37:43 -04:00
SeanOMik
9a48075f07
render: change to manual creation of render graph exeuction path, rewrite light cull compute pass into the render graph
2024-05-25 19:27:36 -04:00
SeanOMik
fc57777a45
render: move render targets to be graph slots, create present passes and base passes
...
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
Since the render graph no longer has default slots, base passes must be created that supply things like render targets. This also makes it easier to render offscreen to some other surface that is not the window, or just some other texture
2024-05-19 12:56:03 -04:00
SeanOMik
8c3446389c
render: code cleanup
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-05-18 11:02:07 -04:00
SeanOMik
64e6e4a942
render: make it easier to share bind groups and bind group layouts between passes
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-05-17 17:43:46 -04:00
SeanOMik
cee6e44d61
render: support creating bindgroups for passes and updating buffers every frame
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-05-14 18:46:35 -04:00
SeanOMik
b94a8e3cd3
Make it possible to create a complete pipeline descriptor for a pass
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-05-11 09:19:58 -04:00
SeanOMik
bccf6287c0
render: get first image from RenderGraph, just a simple hard coded triangle
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-05-08 18:27:10 -04:00
SeanOMik
a4e80d4fec
render: continue work of render graph, expanding RenderGraphPass and removing things from the renderer
ci/woodpecker/pr/debug Pipeline failed
Details
ci/woodpecker/pr/release Pipeline failed
Details
2024-05-04 10:02:50 -04:00
SeanOMik
4c2ed6ca80
render: create foundation of render graph, also add super simple topological sort for pass execution path
2024-04-28 17:51:35 -04:00
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