Commit graph

402 commits

Author SHA1 Message Date
9d3de88c50
render: cleanup 2024-06-21 22:10:35 -04:00
f440f306be
render: impl Node for RenderGraph in prep for sub-graphs 2024-06-21 22:06:58 -04:00
f17bf40c77
render: rename RenderGraph::add_pass to add_node 2024-06-21 21:58:40 -04:00
5fc1a0f134
Add todo panic in code when window is resized 2024-06-16 20:05:04 -04:00
33358662e2
fix docstest errors in render graph 2024-06-16 00:15:54 -04:00
0edba69b02
fix warnings, remove some commented code from base shader
Some checks failed
ci/woodpecker/push/debug Pipeline failed
2024-06-16 00:11:21 -04:00
6182a4b9c8
render: simplify light buffer updating 2024-06-15 23:52:46 -04:00
7576979797
render: fix lighting with more than one light 2024-06-15 23:52:10 -04:00
acb58a15ff Merge pull request 'Implement a Render Graph' (#16) from feature/render-graph into main
Some checks failed
ci/woodpecker/push/debug Pipeline failed
Reviewed-on: #16
2024-06-15 18:54:46 -04:00
d5348ec172
render: a tiny bit of code cleanup
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-06-12 21:30:09 -04:00
9ce79e6b29
resource: fix tests, render: remove warning
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-06-12 21:23:27 -04:00
6d7932f6a5
render: remove IDs for everything, use only labels to identify things
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-06-11 20:59:55 -04:00
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
a0a2acfec0
render: add todo in code 2024-06-03 19:06:07 -04:00
ef68b2a4c5
render: create a RenderGraphLabel trait for graph labels instead of strings
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-06-02 21:35:59 -04:00
41d77c5687
render: a tiny bit of code cleanup in mesh pass 2024-06-01 23:05:43 -04:00
bb21805278
render: add a debug_assert to ensure the developer doesn't reuse ids for slots 2024-06-01 22:55:50 -04:00
c846d52b0d
render: finally get meshes and entities rendering again with the render graph!
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-05-31 20:11:35 -04:00
7f5a1cd953
render: a bit of code cleanup 2024-05-25 19:37:43 -04:00
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
fc57777a45
render: move render targets to be graph slots, create present passes and base passes
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
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
8c3446389c
render: code cleanup
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-05-18 11:02:07 -04:00
64e6e4a942
render: make it easier to share bind groups and bind group layouts between passes
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-05-17 17:43:46 -04:00
cee6e44d61
render: support creating bindgroups for passes and updating buffers every frame
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-05-14 18:46:35 -04:00
b94a8e3cd3
Make it possible to create a complete pipeline descriptor for a pass
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-05-11 09:19:58 -04:00
bccf6287c0
render: get first image from RenderGraph, just a simple hard coded triangle
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-05-08 18:27:10 -04:00
daa6fc3d4b
move profiles to root workspace Cargo.toml so they aren't ignored 2024-05-08 18:25:12 -04:00
a4e80d4fec
render: continue work of render graph, expanding RenderGraphPass and removing things from the renderer
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/pr/release Pipeline failed
2024-05-04 10:02:50 -04:00
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
669cc7590c
examples: remove some warnings
Some checks failed
ci/woodpecker/push/debug Pipeline failed
2024-04-27 19:45:59 -04:00
d1f1e03cbb
scripting: improve macros to make it easier to create wrappers 2024-04-27 19:43:45 -04:00
29c68abbbb
scripting: fix lua scripting (#13), create an example for it
Some checks failed
ci/woodpecker/push/debug Pipeline failed
2024-04-27 00:52:47 -04:00
1b08482ef7
resource: fix wait_for_load haning when using handles from 'request_raw' 2024-04-27 00:31:20 -04:00
15807a3dc1
resource: impl Reflect for a bunch of types, add some utility methods to handles 2024-04-27 00:28:49 -04:00
f0d36e7b56
ecs: impl Clone for World and return entity in dynamic views 2024-04-27 00:21:26 -04:00
6a11f7cbb7 Merge pull request 'Improve Performance in Scenes With Many Lights' (#14) from bugfix/many-lights-poor-performance into main
Some checks failed
ci/woodpecker/push/debug Pipeline failed
Reviewed-on: #14
2024-04-24 19:55:15 -04:00
db501015d0
Create an example project to test transform interpolation 2024-04-24 00:30:30 -04:00
53837d469b
ecs: fix BatchedSystem, implement ways for Criterias to modify the world before and after execution 2024-04-24 00:28:01 -04:00
e2c6b557bb
render: improve performance of transform interpolation by using ecs components 2024-04-22 01:07:35 -04:00
337ce18e8c
ecs: update existing components on entity in World::insert 2024-04-22 00:20:42 -04:00
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
24e1c0281e
Make tracy profiling an optional feature, create 'many-lights' example 2024-04-20 00:08:25 -04:00
246705b80b
game: some profiling improvements 2024-04-19 23:37:08 -04:00
3c73e1d7e2
render: only run system_update_world_transforms for scenes that were modified 2024-04-18 22:38:15 -04:00
25aa902e02
render: use WorldTransforms in the renderer
Some checks failed
ci/woodpecker/push/debug Pipeline failed
2024-04-17 20:46:46 -04:00
12c8ece418
ecs: create a DynamicViewState that can be used to create a dynamic view without dealing with lifetimes
Some checks failed
ci/woodpecker/push/debug Pipeline failed
2024-04-13 02:10:25 -04:00
60ec62c558
scene: improve docs and some code cleanup
Some checks failed
ci/woodpecker/push/debug Pipeline failed
2024-04-10 23:55:48 -04:00
2daf617ba3
scene: implement WorldTransform struct to simplify getting the world transform of scene nodes 2024-04-10 23:45:25 -04:00
0668be06e2
ecs: documentation improvements for filter queries 2024-04-10 23:18:11 -04:00
347427a841
ecs: remove compiler warning 2024-04-10 22:27:44 -04:00