Commit Graph

81 Commits

Author SHA1 Message Date
SeanOMik 96dea5b1f9
render: code cleanup 2024-06-28 13:16:47 -04:00
SeanOMik 007b1047ef
render: implement view target chains for post processing steps 2024-06-27 23:48:24 -04:00
SeanOMik 545da71cda
render: create ViewTarget to make it easier to render to a non-surface texture and chain together postprocess steps 2024-06-26 21:33:39 -04:00
SeanOMik 0e71c5734f
render: make it easier to get Frame from RenderTarget 2024-06-26 17:14:31 -04:00
SeanOMik 6c1bff5768
render: get sub render graphs working and create a simple test of them 2024-06-25 21:32:29 -04:00
SeanOMik 5f1a61ef52
render: create RenderTarget and Frame, making it easier to render to a non-surface texture 2024-06-23 20:25:57 -04:00
SeanOMik f755a4c53b
render: create a node for sub render graphs, create a graph init node 2024-06-22 17:00:32 -04:00
SeanOMik 9d3de88c50
render: cleanup 2024-06-21 22:10:35 -04:00
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