Commit graph

191 commits

Author SHA1 Message Date
Lachlan Sneff
9883cd15cd Replace vector of UniformProperty with a single property 2020-08-16 01:16:00 -04:00
ifletsomeclaire
c0d4877486 added draw.is_visible checks 2020-08-15 14:38:55 -05:00
John Mitchell
02b1907738 Use BindingShaderStage to pass which program the binding is attached to. 2020-08-13 12:44:21 -04:00
Carter Anderson
3d09459813 add more doc comments and clean up some public exports 2020-08-09 16:13:04 -07:00
Carter Anderson
ccf81edd8f render: add atlas padding support to work around MSAA artifacts, disable MSAA by default 2020-07-30 14:38:13 -07:00
Carter Anderson
54eaa2bdc6 render: easier msaa color attachments and fix multi-window example 2020-07-30 13:20:27 -07:00
Carter Anderson
ca87359c6e render: add MSAA support 2020-07-29 18:15:15 -07:00
Carter Anderson
2929197d9b render: add RenderPass queries. move ui to its own pass 2020-07-28 20:11:27 -07:00
Carter Anderson
7212b70478 rustfmt changes 2020-07-28 14:24:03 -07:00
Thomas Herzog
4cf0f53eae use TextureFormat for Textures
This commit also inserts debug asserts that texture data roughly respects
the format.
2020-07-26 22:08:15 +02:00
Carter Anderson
93bb1d5b8e ui: initial flexbox support 2020-07-24 23:04:45 -07:00
Carter Anderson
0c2e26ddde Revert "ecs: remove &mut requirement on query iterators"
This reverts commit 6dc1d07cbc.
2020-07-21 20:12:15 -07:00
Carter Anderson
6dc1d07cbc ecs: remove &mut requirement on query iterators 2020-07-20 13:59:51 -07:00
Carter Anderson
cadbb4c1b0 render: fix "next swap chain texture" bug 2020-07-19 16:15:19 -07:00
Carter Anderson
946d5d1024 ecs: refactor resources
fixes unintialized global resource memory
2020-07-19 14:23:06 -07:00
Carter Anderson
19fe299f5a ecs: use Mut<T> tracking pointer everywhere 2020-07-18 02:09:55 -07:00
Carter Anderson
f742ce3ef2 app: simplify app imports 2020-07-16 18:47:51 -07:00
Carter Anderson
b12c4d0a48 render: simplify imports and cleanup prelude 2020-07-16 18:26:21 -07:00
Carter Anderson
17f3860d12 remove unsafe Clone implementation on Res/ResMut in favor of UnsafeClone 2020-07-12 12:06:43 -07:00
Carter Anderson
6d58a5a033 render: add direct buffer mapping/unmapping 2020-07-11 12:29:07 -07:00
Carter Anderson
2ca6de2b81 upgrade wgpu 2020-07-10 13:47:31 -07:00
Carter Anderson
c81ab99dac cargo fmt 2020-07-10 01:37:06 -07:00
Carter Anderson
950e50bbb1 Bevy ECS migration 2020-07-10 01:06:21 -07:00
Carter Anderson
e75496772e legion: change query system ordering 2020-06-27 10:18:27 -07:00
Carter Anderson
1e614e41f1 render: make ClearColor a tuple struct 2020-06-26 21:39:30 -07:00
Carter Anderson
a4afa4e7f3 render: only attempt to create camera bind group when the camera bind group descriptor exists
this fixes panics in empty scenes
2020-06-26 14:27:22 -07:00
Carter Anderson
69925f0817 render: multi-window cameras ready to go!
passes now bind camera buffers and cameras can now be assigned non-primary windows
2020-06-25 23:04:08 -07:00
Carter Anderson
8a8d01aa88 render: add ClearColor resource 2020-06-25 15:24:27 -07:00
Carter Anderson
4ba2f72572 render: is_transparent flag. draw transparent object back-to-front and opaque objects front-to-back 2020-06-24 11:35:01 -07:00
Carter Anderson
2b8fe144a8 render: rename MainPassNode to PassNode
there will be more than one and it is suitably generic
2020-06-24 10:29:26 -07:00
Carter Anderson
2c74560283 render: draw in back-to-front mode to be safe (until we can do both at the same time). expand texture example 2020-06-23 19:29:12 -07:00
Carter Anderson
3ee8aa8b0f camera: make camera transform in world coordinates instead of the inverse 2020-06-23 19:18:32 -07:00
Carter Anderson
41dc8a5967 render: add front-to-back drawing
MainPassNodes now have assigned cameras and draw using those camera's VisibleEntities
2020-06-23 16:52:50 -07:00
Carter Anderson
ca8625c407 render: ActiveCameras resource and system 2020-06-23 15:58:06 -07:00
Carter Anderson
a3c1b7930e render: fix SharedBuffers render resource context 2020-06-19 13:44:21 -07:00
Carter Anderson
e57fdca1bc render: more progress on immediate mode rendering and DrawableText 2020-06-17 13:10:33 -07:00
Carter Anderson
f4acbdddad SharedBuffersNode 2020-06-16 22:23:33 -07:00
Carter Anderson
e855995145 cargo fmt 2020-06-15 12:47:35 -07:00
Carter Anderson
8a704a3e28 render: add AssetRenderResourceBindings 2020-06-15 12:45:18 -07:00
Carter Anderson
f799d3ac93 render: add RenderPipeline and begin moving logic there 2020-06-15 00:08:50 -07:00
Carter Anderson
97edaa7343 render: rename ResourceType to RenderResourceType 2020-06-14 15:24:33 -07:00
Carter Anderson
3786224b28 render: replace ResourceInfo with ResourceType 2020-06-14 15:22:31 -07:00
Carter Anderson
574656b767 render: remove RenderResources wrapper type 2020-06-14 12:32:06 -07:00
Carter Anderson
0fec350411 render: rename "Assignment" to "Binding" and "AssignmentSet" to "BindGroup" 2020-06-14 12:02:19 -07:00
Carter Anderson
0f608fc90f render: add "specific" ids for buffers, textures, and samplers. Use them instead of RenderResourceIds wherever possible 2020-06-14 11:41:42 -07:00
Carter Anderson
5f0363a4f5 render: move more render code into system scheduler 2020-06-13 18:38:25 -07:00
Carter Anderson
6362b2a516 render: support arbitrary RenderResource byte lengths and temporarily disable RenderResource asset change events 2020-06-13 18:34:50 -07:00
Carter Anderson
fc4160ea41 AssetRenderResourceNodes now consume asset change events. Remove EntitiesWaitingForAssets in favor of DrawState. 2020-06-10 18:54:17 -07:00
Carter Anderson
2e48269923 migrate UniformNode / AssetUniformNode to query system fns 2020-06-10 16:02:50 -07:00
Carter Anderson
3d07fbdc81 render: "Immediate Mode" draw api
This replaces Renderable with Draw/RenderPipelines components and makes various aspects of the renderer much simpler and legible
2020-06-09 23:16:48 -07:00
Carter Anderson
1426208e2f remove DrawTargets in favor of PassNodes and in preparation for "immediate mode" drawing api 2020-06-08 14:35:13 -07:00
Carter Anderson
be23f119d5 remove old uniform system 2020-06-07 22:32:55 -07:00
Carter Anderson
fd8f87400d add RenderResources/RenderResource traits to replace Uniforms/Uniform 2020-06-07 19:12:41 -07:00
Carter Anderson
5add29f8cf rename LocalToWorld -> Transform and LocalToParent -> LocalTransform 2020-06-07 13:39:50 -07:00
Carter Anderson
d0298a4f89 split AsVertexBufferDescriptor out from Uniforms 2020-06-07 13:00:58 -07:00
Carter Anderson
70e9892e00 remove bevy_derive from bevy crate and export derives from specific crates 2020-06-07 12:22:16 -07:00
Carter Anderson
4a71cd128d render: rename RenderResource to RenderResourceId 2020-06-07 12:10:14 -07:00
Carter Anderson
e72b5583d1 wgpu: upgrade to latest master. use pollster instead of futures. texture copy alignment 2020-06-04 15:58:02 -07:00
Carter Anderson
ab31bf9d9e impl Default for EventReader 2020-06-03 23:53:00 -07:00
Carter Anderson
6eea96366d cargo fmt 2020-06-03 20:08:20 -07:00
Carter Anderson
5927bad382 sprite sheets are fully operational 2020-06-03 19:00:19 -07:00
Carter Anderson
5bcd594cb4 bytes: AsBytes trait, remove zerocopy, remove glam fork 2020-06-01 19:38:05 -07:00
Carter Anderson
d5d0107ada bytes: remove AsBytes in favor of Bytes 2020-06-01 14:33:00 -07:00
Carter Anderson
21a79c56a7 camera: add position and rotation components to Perspective camera. add "sync" toggle to LocalToWorld transform. 2020-05-31 10:31:18 -07:00
Carter Anderson
e59385472c camera: always update camera uniform buffers 2020-05-30 12:43:27 -07:00
Carter Anderson
51d41b2302 camera: remove active camera components in favor of camera names 2020-05-29 22:07:55 -07:00
Carter Anderson
c5a78d4616 TextureCopy render graph node, texture_resource_system
Removed textures are now freed
2020-05-18 11:31:11 -07:00
Carter Anderson
bf7f222318 Support async texture loading 2020-05-15 19:30:02 -07:00
Carter Anderson
2bcb8a2a41 cargo fmt 2020-05-13 18:05:18 -07:00
Carter Anderson
fb8f9e8636 RenderGraph::add_node now requires a name 2020-05-13 17:35:48 -07:00
Carter Anderson
06f3a4efb9 Use system fns for all setup code 2020-05-13 17:31:56 -07:00
Carter Anderson
70f122b92a Rename AssetStorage to Assets 2020-05-13 16:45:18 -07:00
Carter Anderson
73cc20768c remove pathfinder code
its not ready yet so it shouldnt be on master :)
2020-05-12 16:35:49 -07:00
Carter Anderson
7508e6f02e pathfinder: minor fixes 2020-05-12 13:36:28 -07:00
Carter Anderson
10637c1010 add TextureDescriptor to ResourceInfo 2020-05-11 21:28:11 -07:00
Carter Anderson
4eb562975f pathfinder: data binding 2020-05-11 20:12:48 -07:00
Carter Anderson
f98918fd5c remove buffer array info 2020-05-11 14:07:09 -07:00
Carter Anderson
7a71873a32 RenderResourceAssignment refactor 2020-05-11 13:55:23 -07:00
Carter Anderson
ef2e5a1ba3 pathfinder: set vertex buffer descriptors 2020-05-11 12:37:04 -07:00
Carter Anderson
c5ca59dc4d cargo fmt 2020-05-05 18:44:32 -07:00
Carter Anderson
2b8789dc8c queue frees in system nodes 2020-05-05 13:12:50 -07:00
Carter Anderson
0d87ebe866 simplify / consolidate wgpu resource mangement 2020-05-05 12:45:37 -07:00
Carter Anderson
2fd7020646 rename GlobalRenderResourceContext to RenderResources 2020-05-04 19:34:15 -07:00
Carter Anderson
7560ecf9d8 correct "its" 2020-05-04 14:18:46 -07:00
Carter Anderson
d50313c285 ui is back! 2020-05-03 19:30:31 -07:00
Carter Anderson
368a1b8815 cargo fmt 2020-05-01 01:50:07 -07:00
Carter Anderson
5458c6daf4 port a few more systems to functions and add some name clarity 2020-05-01 01:37:20 -07:00
Carter Anderson
45a710fe6a cargo fmt 2020-04-29 01:37:54 -07:00
Carter Anderson
9a3700d8f1 Change events.iter(&mut reader) to reader.iter(&events) 2020-04-28 10:59:42 -07:00
Carter Anderson
115a009c16 cargo fmt 2020-04-24 18:55:15 -07:00
Carter Anderson
87066cafd3 move bevy crates to their own folder 2020-04-24 17:57:20 -07:00