Commit graph

1328 commits

Author SHA1 Message Date
Carter Anderson
1f006c348d ui: fix examples, flip fix stretch axis incompatibility, ergonomics 2020-07-27 19:13:11 -07:00
Carter Anderson
3d5e7e54f3 ui: create bevy types for flex style 2020-07-27 16:54:36 -07:00
Carter Anderson
e7b22ac043
Merge pull request #77 from Moxinilian/despawn-recursive
transform: implement hierarchical entity despawn
2020-07-27 15:35:23 -07:00
Moxinilian
3007201eac transform: improve despawn_recursive tests 2020-07-28 00:23:59 +02:00
Moxinilian
311f04f858 transform: implement hierarchical entity despawn 2020-07-28 00:10:32 +02:00
Thomas Herzog
23149f1753 add texture loader for more formats using image crate
This adds support for PNG images only for now. More formats can be added
relatively easily.
Images with various pixel formats are supported (such as RGB-16bit or
R-8bit).
2020-07-27 23:30:31 +02:00
Thomas Herzog
7412b0ec25 add HDR image loader
Using the `image` crate, HDR images can be loaded into RGBA-f32 textures.
2020-07-27 11:37:45 +02:00
Carter Anderson
fb9f04ba90
Merge pull request #73 from Moxinilian/windows-winit-panic
winit: fix panic on windows
2020-07-26 13:15:56 -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
Moxinilian
4393af5e25 winit: fix panic on windows 2020-07-26 21:36:01 +02:00
Thomas Herzog
b4c185eb0c cargo fmt 2020-07-26 21:10:18 +02:00
Carter Anderson
339e9ad52d ui: cleaner stretch integration 2020-07-25 13:14:36 -07:00
Carter Anderson
93bb1d5b8e ui: initial flexbox support 2020-07-24 23:04:45 -07:00
Carter Anderson
bcf95a24db transform: only update global transform with pos/rot/scale components when there is no local transform 2020-07-23 18:55:21 -07:00
Carter Anderson
6cad80d572 transform|ui: fix transform update lag 2020-07-23 18:26:08 -07:00
Carter Anderson
d79339ea62 transform: add more control parent/child ordering and make parent/children insertion atomic 2020-07-23 17:32:53 -07:00
Carter Anderson
89af5ea4e0 fix some doc tests 2020-07-23 13:40:07 -07:00
Carter Anderson
85bd0342d4 ecs: add write_world and write_resources to Commands
this allows for custom commands
2020-07-23 13:12:38 -07:00
Carter Anderson
f82af10a69 ecs: component removal tracking 2020-07-22 17:57:13 -07:00
Carter Anderson
141044aae7 ecs: publicly expose Added/Changed and inline some things 2020-07-22 16:19:27 -07:00
Carter Anderson
a4e291d9c8 app: default app runner now runs the schedule once 2020-07-22 13:32:17 -07:00
Carter Anderson
2d829f5a06 ecs: add Changed<T> (added or modified) 2020-07-22 13:20:22 -07:00
Carter Anderson
e673faab7c ecs: rename Changed<T> to Mutated<T> 2020-07-22 12:42:12 -07:00
Carter Anderson
19d24e92aa transform: immediately set localltransform value 2020-07-21 22:02:18 -07:00
Carter Anderson
ae30175e18 ecs: fix query.get::<T>() access 2020-07-21 22:00:55 -07:00
Carter Anderson
a6953049fb ecs: Added<T> queries 2020-07-21 22:00:11 -07:00
Carter Anderson
21cdaaf7eb ecs: inline a few things 2020-07-21 20:15:16 -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
6194944153 transform: apply LocalTransforms to root Transforms 2020-07-20 11:59:02 -07:00
Carter Anderson
009141d453 window: customizable default descriptor 2020-07-20 02:05:56 -07:00
Carter Anderson
b1162f0c29 ecs: fix resource scheduler test 2020-07-20 01:51:06 -07:00
Carter Anderson
b5d3f7e794 use right handed coordinate system in 3d 2020-07-20 01:33:30 -07:00
Carter Anderson
bd227859eb ui: only allow one thing to be hovered at a time 2020-07-19 20:52:15 -07:00
Carter Anderson
d8b3d078b4 core: add Labels 2020-07-19 20:34:04 -07:00
Carter Anderson
9a236f4923 ui: remove translation/rotation/scale components (Node serves the same role) 2020-07-19 20:33:55 -07:00
Carter Anderson
726eb37198 use rh coordinate system in 2d
z = 0 is now "farthest back" and z=1000 "farthest forward"
2020-07-19 17:00:08 -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
2ec530da8c ui: fix right alignment 2020-07-18 17:05:22 -07:00
Carter Anderson
6db82714dc ui: text alignment and more complete button example event handling 2020-07-18 17:03:37 -07:00
Carter Anderson
f0fc380a39 transform: impl deref/derefmut for components 2020-07-18 14:36:16 -07:00
Carter Anderson
fe1adb6cf6 ui: focus/click/hover system. initial buttons 2020-07-18 14:08:46 -07:00
Carter Anderson
19fe299f5a ecs: use Mut<T> tracking pointer everywhere 2020-07-18 02:09:55 -07:00
Carter Anderson
bf164a5936 ecs: fix tuple query item skipping 2020-07-18 01:14:16 -07:00
Carter Anderson
fbcf3f89d0 ecs: rename ComMut<T> to Track<T> and fix nested change queries 2020-07-18 01:05:06 -07:00
Carter Anderson
23b96a48a6 ecs: make RefMut a tracking pointer 2020-07-18 01:03:47 -07:00
Carter Anderson
85ec31bb65 ecs: change state now moves when an entity moves to a different archetype 2020-07-17 19:13:56 -07:00
Carter Anderson
31d00ad861 ecs: initial component change tracking
(changing entity archetypes currently breaks tracking)
2020-07-17 17:50:17 -07:00
Carter Anderson
81df34adcf finish up import simplification 2020-07-16 19:38:21 -07:00
Carter Anderson
7823c3a9e2 property: simplify imports 2020-07-16 19:29:00 -07:00
Carter Anderson
2a6e75a27e pbr: simplify imports 2020-07-16 19:27:19 -07:00
Carter Anderson
e2d2b41c67 math: simplify imports 2020-07-16 19:23:47 -07:00
Carter Anderson
9f26a453c6 ecs: simplify imports 2020-07-16 19:20:51 -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
196bde64e3 cargo fmt 2020-07-16 17:23:50 -07:00
Carter Anderson
1110f9b877 create bevy_math crate and move math types there 2020-07-16 17:11:52 -07:00
Carter Anderson
d9adea1b5e transform: TransformPlugin 2020-07-16 16:32:39 -07:00
Carter Anderson
f546aad7f4 audio: rename play to play_source and queue to play 2020-07-16 14:23:57 -07:00
Carter Anderson
7bdca4e5f0 audio: rename queue_play to queue 2020-07-16 13:52:52 -07:00
Carter Anderson
3eb393548d audio: initial (very minimal) audio plugin 2020-07-16 13:46:51 -07:00
Carter Anderson
362fb92cf8 ecs: only prepare executor on changes. use parallel executor in App 2020-07-15 17:59:13 -07:00
Carter Anderson
4712e96aa8 ecs: make parallel executor resource-aware 2020-07-15 17:20:36 -07:00
Carter Anderson
88781007b0 ecs: slightly improve perf with inlining changes 2020-07-14 23:56:49 -07:00
Carter Anderson
a7bab755ee ecs: add query get safety checks 2020-07-14 19:05:39 -07:00
Carter Anderson
1f6c9ece1d ecs: call prepare() inside ParallelExecutor::run()
also moved some things around
2020-07-14 16:23:25 -07:00
Carter Anderson
50335e21e2 derive: allow manually forcing modules to "crate", which prevents the need for ambiguous crates
this fixes a failing doc test
2020-07-14 16:16:01 -07:00
Carter Anderson
0dc810a37a ecs: add thread local system support to parallel executor 2020-07-14 14:19:17 -07:00
Carter Anderson
98ed29aacc ecs: fix local resource indexing 2020-07-14 11:08:02 -07:00
Carter Anderson
8d3a5ae0f1 ecs: initial parallel schedule executor
currently only considers component archetypes. still missing proper handling of thread local systems and resources
2020-07-13 19:36:41 -07:00
Carter Anderson
67f1bd66ce ecs: fix resource borrow safety 2020-07-12 12:27:11 -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
86f41ae0a4 add more informative "resource does not exist" errors 2020-07-11 20:12:34 -07:00
Carter Anderson
6d58a5a033 render: add direct buffer mapping/unmapping 2020-07-11 12:29:07 -07:00
Carter Anderson
cb1ffb42c4 upgrade wgpu (removes some dependencies) 2020-07-10 19:42:32 -07:00
Carter Anderson
fb2dfba5e3 upgrade libloading 2020-07-10 16:11:25 -07:00
Carter Anderson
2ca6de2b81 upgrade wgpu 2020-07-10 13:47:31 -07:00
Carter Anderson
fd219660d3 remove env-logger from dependencies 2020-07-10 12:43:37 -07:00
Carter Anderson
a656588788 slim down gltf and winit features and remove unused dependencies 2020-07-10 12:08:51 -07:00
Carter Anderson
2508a59f68 remove darling 2020-07-10 02:53:31 -07:00
Carter Anderson
3b68c7cc4a transform: remove some dependencies and cleanup 2020-07-10 01:49:23 -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
4f73dca34d add system profile data to Diagnostics (opt in feature) 2020-06-28 01:01:40 -07:00
Carter Anderson
0c9c0a9b3b property: remove euclid impls 2020-06-27 21:59:09 -07:00
Carter Anderson
941e441f32 property: fix short type name calculation 2020-06-27 18:35:38 -07:00
Carter Anderson
0a348af630 impl property for euclid types 2020-06-27 17:35:58 -07:00
Carter Anderson
5787bcb2c5 legion: upgrade 2020-06-27 14:32:50 -07:00
Carter Anderson
1f12964026 legion: remove foreach system functions
this is a bit sad, but upstream legion's new lifetimes appear to be incompatible with our foreach approach
2020-06-27 12:06:12 -07:00
Carter Anderson
981687ae41 remove ui camera now that default 2d camera is identical 2020-06-27 10:21:20 -07:00
Carter Anderson
e75496772e legion: change query system ordering 2020-06-27 10:18:27 -07:00
Carter Anderson
7441ac1a01 add breakout example game 2020-06-26 22:04:56 -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
5e1f81037d sprite: add sprite sheet floating point error correction 2020-06-26 13:07:33 -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
ca4726ea7d render to second window in multiple_windows example 2020-06-25 16:02:21 -07:00
Carter Anderson
8a8d01aa88 render: add ClearColor resource 2020-06-25 15:24:27 -07:00
Carter Anderson
dfde160741 ecs: add ability to set the current entity in world builders 2020-06-25 13:23:28 -07:00
Carter Anderson
4a0f8b8869 add root ui node to example 2020-06-25 13:19:48 -07:00
Carter Anderson
bcfc27483b ecs: allow infinite child nesting in WorldBuilder 2020-06-25 13:15:59 -07:00
Carter Anderson
92c44320ee ecs: rename EntityArchetype to ComponentSet 2020-06-25 11:21:56 -07:00
Carter Anderson
1ef4fbf005 ui: rework so Nodes now use transforms and z-sort happens 2020-06-25 10:13:00 -07:00
Carter Anderson
75429f4639 render: use left-handed coordinate system and y-up 2020-06-24 15:29:10 -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
99bc2d0ea7 legion: backport upstream legion archetype filter fix 2020-06-23 13:42:00 -07:00
Carter Anderson
2f5f6e017a render: intitial VisibleEntities component and sort system 2020-06-22 17:55:48 -07:00
Carter Anderson
ec11a6a5f6 ecs: make build_children closure FnMut to allow mutation of closue values 2020-06-22 17:37:44 -07:00
Carter Anderson
6022ad2c4f pbr: add "shaded" field to StandardMaterial 2020-06-22 16:11:30 -07:00
Carter Anderson
031a0c6d58 camera: add scale component to camera entities 2020-06-22 13:26:49 -07:00
Carter Anderson
06b2b06e9d camera: update cameras when windows are created 2020-06-22 13:21:39 -07:00
Carter Anderson
f72c4beadf transform: run transform systems at startup and move transform systems to POST_UPDATE 2020-06-22 12:55:54 -07:00
Carter Anderson
6cd5af6f74 app: move startup stages to their own module 2020-06-22 12:55:00 -07:00
Carter Anderson
e921ae0199 sprite: use bevy_transform types in sprite sheet entities 2020-06-22 12:35:33 -07:00
Carter Anderson
f1786ec20a sprite: use bevy_transform types in sprite entities 2020-06-22 12:14:40 -07:00
Carter Anderson
fa9348fe2b text: use quad zindex when drawing labels 2020-06-21 18:55:47 -07:00
Carter Anderson
c654987ae3 fix bug where pipelines used unspecialized shaders 2020-06-21 18:55:22 -07:00
Carter Anderson
99a3ee6570 fix texture atlas bytes test 2020-06-21 18:26:11 -07:00
Carter Anderson
faacd2778d sprite: add color to TextureAtlasSprite and make Vec3 16 bytes again to account for glsl UBO layout 2020-06-21 17:43:36 -07:00
Carter Anderson
17d70f7d67 bytes: FromBytes trait and round trip tests 2020-06-21 12:25:36 -07:00
Carter Anderson
ecea30cadb text: new atlased rendering finally works!
removed old render-to-texture rendering
2020-06-20 12:40:37 -07:00
Carter Anderson
da3d6983a7 text: immediate-mode atlased text rendering works, but theres no character positioning/layout yet 2020-06-19 13:45:26 -07:00
Carter Anderson
a3c1b7930e render: fix SharedBuffers render resource context 2020-06-19 13:44:21 -07:00
Carter Anderson
4246d47fec render: move pipeline compilation and bind group creation into draw stage. impl ResourceSet for DrawContext. progress on text drawing. general cleanup 2020-06-18 17:27:20 -07:00
Carter Anderson
085cda8bc6 legion: remove filter types from system_fn macro and IntoSystem and use "casting" instead 2020-06-18 11:53:06 -07:00
Carter Anderson
74d0055a3d render: move dynamic_bindings to PipelineSpecialization
This is a temporary step back in ergonomics as we are no longer automatically inferring dynamic bindings from RenderResourceBindings
2020-06-17 18:10:29 -07:00
Carter Anderson
e89c693c4d render: add SpecializedPipeline and SpecializedShader types 2020-06-17 13:27:10 -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
1dd81587dd events: iter_current_update_events 2020-06-16 22:20:08 -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
516cf9ddf0 text: font atlas generation. initial Drawable boilerplate. temporary font atlas debug example 2020-06-13 18:53:31 -07:00
Carter Anderson
5f0363a4f5 render: move more render code into system scheduler 2020-06-13 18:38:25 -07:00
Carter Anderson
eed40fee9c render: initial SharedBuffer 2020-06-13 18:37:02 -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
8803bcd92e include buffer range when hashing RenderResourceAssignments 2020-06-11 11:12:23 -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
3c3449b719 RenderResourceSet builder pattern 2020-06-10 15:45:33 -07:00
Carter Anderson
e8e3e3c20f move FloatOrd to bevy_core 2020-06-10 15:35:23 -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
3ccaebf9a5 upgrade wgpu 2020-06-09 10:57:18 -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
4568f5dae3 remove specialization. bevy now builds on stable rust! 2020-06-07 23:36:39 -07:00
Carter Anderson
be23f119d5 remove old uniform system 2020-06-07 22:32:55 -07:00
Carter Anderson
62c434274f shader_defs: new leaner shader defs. they are now separate from uniforms 2020-06-07 22:24:53 -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
c1dcc74e0f asset: make asset folder loading permissive of non-assets 2020-06-07 11:45:18 -07:00
Carter Anderson
f2b3b909b4 sprite: use rectangle_pack crate for texture atlases. rename guillotiere implementation to DynamicTextureAtlasBuilder 2020-06-07 11:30:04 -07:00
Carter Anderson
6164ea6ecc sprite: dynamically resize atlas during build 2020-06-06 16:16:58 -07:00
Carter Anderson
2705e5cbb4 add texture atlases 2020-06-06 00:12:38 -07:00
Carter Anderson
ffc4246a74 remove TextureType 2020-06-05 19:38:03 -07:00
Carter Anderson
9a51b3e0fd asset: AssetServer versioning and load group status 2020-06-05 17:32:32 -07:00
Carter Anderson
5b6f24d6a2 input: make new Input resource generic and add Input<MouseButton> 2020-06-04 23:34:21 -07:00
Carter Anderson
b3a57c21a7 input: simpler input interface via an Input resource 2020-06-04 22:48:53 -07:00
Carter Anderson
db6a365b13 saner orthographic projection 2020-06-04 17:09:24 -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
69ac775bfb ignore reflected gl_VertexIndex attribute 2020-06-04 11:30:43 -07:00
Carter Anderson
ab31bf9d9e impl Default for EventReader 2020-06-03 23:53:00 -07:00
Carter Anderson
4979a06e90 input: fix input example and add cursor move events 2020-06-03 23:22:32 -07:00
Carter Anderson
6eea96366d cargo fmt 2020-06-03 20:08:20 -07:00
Carter Anderson
a4c15f96de Timer Resource/Component 2020-06-03 19:53:41 -07:00
Carter Anderson
5927bad382 sprite sheets are fully operational 2020-06-03 19:00:19 -07:00
Carter Anderson
8c196139d4 derive: break up derive crate into modules 2020-06-03 13:04:09 -07:00
Carter Anderson
7019ff015b improve "derive uniforms" clarity 2020-06-03 12:54:02 -07:00
Carter Anderson
13d56907ed sprite: more sprite sheet work (not quite operable yet) 2020-06-03 11:39:10 -07:00
Carter Anderson
c9ae10a8a9 make mesh byte conversion zero-copy again 2020-06-03 11:15:58 -07:00
Carter Anderson
d65a2c783d bytes: impl for Vec<T> 2020-06-03 11:12:39 -07:00
Carter Anderson
97142a68d1 remove redundant mesh binding code 2020-06-01 22:24:36 -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
e68ae995f8 rename rect to quad 2020-05-31 23:39:20 -07:00
Carter Anderson
4d8a567b36 text: migrate to ab_glyph. this should give rendering consistency across platforms 2020-05-31 15:59:11 -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
19bf386de9 track time since startup 2020-05-30 21:32:47 -07:00
Carter Anderson
a463c040d7 use bottom left origin for ui 2020-05-30 21:15:55 -07:00
Carter Anderson
a5df2ca62b better time calculation 2020-05-30 21:15:39 -07:00
Carter Anderson
e59385472c camera: always update camera uniform buffers 2020-05-30 12:43:27 -07:00
Carter Anderson
6e76296ce0 sprite: create sprite crate. center 2d camera (split from ui camera). add 2d camera movement 2020-05-30 12:31:04 -07:00
Carter Anderson
71b3755633 camera: split 2d and ui camera. remove resource_name mod 2020-05-29 22:30:07 -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
fec9034644 camera: break out projection components 2020-05-29 17:25:14 -07:00
Carter Anderson
db27d63b91 upgrade ron 2020-05-29 16:06:23 -07:00
Carter Anderson
651f213570 scene: spawning 2020-05-29 15:51:36 -07:00
Carter Anderson
065a94aca8 scene: hot scene reloading. update load_scene example 2020-05-29 12:56:32 -07:00
Carter Anderson
8a14e61d0f fix test and tweak github action 2020-05-28 23:43:45 -07:00
Carter Anderson
7429ab98f7 remove glsl-to-spirv from repo 2020-05-28 17:54:58 -07:00
Carter Anderson
0472cbfc7c start porting "query" systems from SystemBuilder to functions 2020-05-28 17:32:51 -07:00
Carter Anderson
83d5275e10 add "query system functions" 2020-05-28 13:36:48 -07:00
Carter Anderson
1d4a574b52 remove lifetime bound from IntoSystem 2020-05-28 10:51:53 -07:00
Carter Anderson
b96fec5f44 use inclusive ranges in legion system fn macro 2020-05-28 09:35:22 -07:00
Carter Anderson
5b6001a413 legion fn system proc macro 2020-05-28 01:53:43 -07:00
Carter Anderson
55d6ea64f3 slightly better short name calculation 2020-05-27 22:59:52 -07:00
Carter Anderson
830565ae2b scene: type registry refactor. use short type names when possible 2020-05-27 19:27:55 -07:00
Carter Anderson
91af49ede3 props: move property impls to their own mod 2020-05-27 16:08:24 -07:00
Carter Anderson
3ee5a67cdb scenes: polish scene example. prop->property attribute. derive(Resources) to derive(FromResources) 2020-05-27 15:57:12 -07:00
Carter Anderson
a76bb8b507 props: fix small issues. scene loading now works! 2020-05-27 13:46:43 -07:00
Carter Anderson
c03da2b728 props: fix dynamic property deserialization 2020-05-27 13:30:05 -07:00
Carter Anderson
563a6fc57c remove ron fork 2020-05-27 13:10:43 -07:00
Carter Anderson
59dbf22e39 rework scene format. use property value serializer, removing the need for ron fork / enabling any serde target 2020-05-27 13:07:32 -07:00
Carter Anderson
d86d3ddcbc props: move property serde impls to their own mod 2020-05-27 11:25:27 -07:00
Carter Anderson
76adb888d3 props: remove need for explicit serde::Deserialize impl. replace impl_property macro_rules with proc_macro_fn 2020-05-27 11:13:57 -07:00
Carter Anderson
cb3a863366 component_registry: use FromResources trait instead of Default 2020-05-27 00:23:31 -07:00
Carter Anderson
da52b1b034 props: properties no longer directly implement the Serialize trait 2020-05-27 00:14:57 -07:00
Carter Anderson
bb56b07973 scene: use two spaces instead of four 2020-05-26 19:49:46 -07:00
Carter Anderson
d2d02f63f6 props: "Seq" properties 2020-05-26 19:47:33 -07:00
Carter Anderson
e337ff59b8 props: register "pbr" components 2020-05-25 21:57:48 -07:00
Carter Anderson
c8d55fe030 register bevy_transform and bevy_render components 2020-05-25 18:49:29 -07:00
Carter Anderson
cb3d60a87f props: add Property derive and implement Properties for Camera 2020-05-25 18:27:04 -07:00
Carter Anderson
a837741c64 props: move AsProperties into Property 2020-05-25 18:20:36 -07:00
Carter Anderson
83889c44e7 fix glam prop build 2020-05-25 17:57:56 -07:00
Carter Anderson
f0cbe8cd86 prop: impl prop macro. add impls for glam, legion, smallvec 2020-05-25 17:50:17 -07:00
Carter Anderson
cb6638ba06 props: add support for tuple structs 2020-05-25 16:35:46 -07:00
Carter Anderson
bab2ad335d add post_startup stage 2020-05-25 16:00:05 -07:00
Carter Anderson
4e1d953c95 remove unused erased-serde 2020-05-25 15:44:28 -07:00
Carter Anderson
663f95e0fd impl Property for std collections 2020-05-25 15:35:47 -07:00
Carter Anderson
f0f0e3c1a8 move component registry to its own crate. automatically register asset handles 2020-05-25 14:51:38 -07:00
Carter Anderson
0826d74163 props: remove specialization, ignore fields, impl for Handle, fix world round tripping 2020-05-25 12:03:50 -07:00
Carter Anderson
1cd3b4c987 props: add type peeking to ron, support arbitrary property types 2020-05-24 19:36:01 -07:00
Carter Anderson
c5ab7df98f automatically detect bevy meta crate in derive macros 2020-05-24 12:39:23 -07:00
Carter Anderson
d3e0196cbb move derive(Properties) into bevy_properties 2020-05-24 11:01:48 -07:00
Carter Anderson
b7305046cf remove SerializableProperties wrapper struct 2020-05-23 22:39:23 -07:00
Carter Anderson
4c306e6d48 props: migrate scenes to props. loading / saving worlds from / to props. 2020-05-23 22:07:17 -07:00
Carter Anderson
f36a67ee96 props: support nesting 2020-05-23 12:26:13 -07:00
Carter Anderson
284afd4f94 props: deserialize (no nesting yet) 2020-05-22 19:01:48 -07:00
Carter Anderson
6e31b90ec3 upgrade ron and use decimal fork 2020-05-22 18:07:26 -07:00
Carter Anderson
f1d58609d5 add text label to ui example. fix 0x0 label textures 2020-05-22 17:07:14 -07:00
Carter Anderson
159acf52af props: rename prop/props to property/properties
its longer but a bit clearer
2020-05-22 15:36:48 -07:00
Carter Anderson
e514bd14fe props: dynamic casting. reorganize 2020-05-22 15:25:31 -07:00
Carter Anderson
da8daa051b props: derive, get/set, example 2020-05-21 23:58:11 -07:00
Carter Anderson
9368242013 scene: require clone for registered components 2020-05-21 18:51:03 -07:00
Carter Anderson
fd26588dbd scene: rename id to entity 2020-05-21 18:23:22 -07:00
Carter Anderson
38669107c9 upgrade legion 2020-05-21 17:59:33 -07:00
Carter Anderson
d920100d35 scenes: deserialization and refactor 2020-05-21 17:21:33 -07:00
Carter Anderson
553b754492 scenes: datatype and serialization 2020-05-20 10:40:23 -07:00
Carter Anderson
64ce5b42c0 Add stable legion entity ids (GuidEntityAllocator) 2020-05-20 10:39:52 -07:00
Carter Anderson
fb140ce4b0 remove tag serialization. round trip ron example 2020-05-19 13:22:14 -07:00
Carter Anderson
3710196fdb remove type_uuid from serialization 2020-05-19 12:55:58 -07:00
Carter Anderson
dcdd552365 pull in ron. use static strings for types 2020-05-19 12:20:37 -07:00
Carter Anderson
a88982fbfb move universe into Resources 2020-05-19 12:20:14 -07:00
Carter Anderson
8bc0eb45ee print average fps and smooth out average a little bit 2020-05-18 14:53:57 -07:00
Carter Anderson
e65fe0e736 Clear bind groups on each frame 2020-05-18 14:42:15 -07:00
Carter Anderson
29ad64f1d8 upgrade some dependencies to remove redundancies 2020-05-18 12:26:30 -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
33d4d5f562 Add asset removal. Clean up old/removed meshes 2020-05-17 18:48:14 -07:00
Carter Anderson
86c18edbfd Label component 2020-05-17 18:09:29 -07:00
Carter Anderson
e093a3243b phrasing tweaks 2020-05-17 10:30:52 -07:00
Carter Anderson
870f715df3 Hot asset reloading 2020-05-16 20:18:30 -07:00
Carter Anderson
623c8a8d9a remove unused fn 2020-05-16 12:53:49 -07:00
Carter Anderson
b1f07e3749 cargo fmt 2020-05-16 00:27:30 -07:00
Carter Anderson
fcc0a6303b update mesh on gpu when it changes 2020-05-16 00:21:04 -07:00
Carter Anderson
5d0d3d28c7 TextPlugin + FontLoader 2020-05-15 19:46:09 -07:00
Carter Anderson
ad66f87ff6 Entities wait for meshes to load 2020-05-15 19:32:49 -07:00
Carter Anderson
bf7f222318 Support async texture loading 2020-05-15 19:30:02 -07:00
Carter Anderson
35adad6556 Async mesh loading works 2020-05-15 17:22:45 -07:00
Carter Anderson
4e1abea161 AssetServer: multithreaded sync/async asset loading 2020-05-15 16:55:44 -07:00
Carter Anderson
2bcb8a2a41 cargo fmt 2020-05-13 18:05:18 -07:00
Carter Anderson
6381611e89 Resource -> Res, Ref->Com 2020-05-13 17:57:08 -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
b58db0749e use init_resource everywhere 2020-05-13 16:35:38 -07:00
Carter Anderson
16b568e00e Asset events and AddAsset builder 2020-05-13 16:17:44 -07:00
Carter Anderson
a7eaf32e7c drainable/extendable events 2020-05-13 16:17:06 -07:00
Carter Anderson
c18ecf2a55 initial text rendering 2020-05-13 13:22:12 -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
44717c7b10 pathfinder: small tweaks 2020-05-12 14:31:03 -07:00
Carter Anderson
7508e6f02e pathfinder: minor fixes 2020-05-12 13:36:28 -07:00
Carter Anderson
6c29a2f52b pathfinder: fill in missing uniforms 2020-05-12 12:04:10 -07:00
Carter Anderson
a57e08075b diagnostics: real bind group count 2020-05-12 11:59:33 -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
0dd55f2c40 cleanup 2020-05-11 14:08:20 -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
35e1d8b498 pathfinder: more backend work. it now renders the clear color without crashing 2020-05-11 09:01:31 -07:00
Carter Anderson
a5f47fd7da use "32 bit alignment" and "explicit shaders" pathfinder branches 2020-05-10 12:53:26 -07:00
Carter Anderson
ff8c5292c2 add pathfinder fork 2020-05-08 09:29:26 -07:00
Carter Anderson
0fdf331552 pathfinder: vertex buffers, samplers, and glsl layout 2020-05-07 23:10:57 -07:00
Carter Anderson
58ba15fbb6 pathfinder: fix shader paths 2020-05-07 19:15:25 -07:00
Carter Anderson
e61c482bdf pathfinder: fix spirv makefile and generate outputs 2020-05-07 19:14:14 -07:00
Carter Anderson
0e040680df begin pathfinder plugin 2020-05-07 19:09:53 -07:00
Carter Anderson
5e5df2bb87 toggle-able "bevy conventions" in shaders 2020-05-07 19:09:25 -07:00
Carter Anderson
3d65a0d236 move pipeline layout reflection to pipeline descriptor 2020-05-07 11:21:25 -07:00
Carter Anderson
20cc41a639 create shader module from source 2020-05-06 19:26:55 -07:00
Carter Anderson
e459b42418 handle::new now creates a new random handle 2020-05-06 19:26:28 -07:00
Carter Anderson
75614f5084 Ui depth from parent (falls back to insertion order for orphans), do ui rect size offsets before rendering, 2020-05-06 13:49:07 -07:00
Carter Anderson
b5cdb7c5fc upgrade wgpu 2020-05-05 21:25:56 -07:00
Carter Anderson
c5ca59dc4d cargo fmt 2020-05-05 18:44:32 -07:00
Carter Anderson
800c4342ed disable threaded graph execution until leak is fixed 2020-05-05 13:37:13 -07:00
Carter Anderson
cb49e14ae0 remove todo 2020-05-05 13:34:15 -07:00
Carter Anderson
2b0c9491a1 remove unused primary_window 2020-05-05 13:34:05 -07:00
Carter Anderson
c388598996 use rwlock in graph executor instead of cloning 2020-05-05 13:33:47 -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
012a33ed32 add headless render resource context 2020-05-04 22:02:03 -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
4735c68ab4 add diagnostic examples 2020-05-04 14:14:49 -07:00
Carter Anderson
704a742661 Print diagnostics plugin 2020-05-04 13:42:49 -07:00
Carter Anderson
ea16f6fc56 frame time diagnostic plugin 2020-05-04 13:21:14 -07:00
Carter Anderson
75f1362433 upgrade wgpu 2020-05-04 13:11:51 -07:00
Carter Anderson
0e63fd3838 wgpu resource diagnostic plugin 2020-05-04 12:36:18 -07:00
Carter Anderson
6f32d18dc5 diagnostic filtering 2020-05-04 11:43:21 -07:00
Carter Anderson
ac5b6c5046 remove bevy versions 2020-05-04 11:23:59 -07:00
Carter Anderson
af2a111801 use ints instead of bytes for uuids 2020-05-04 11:20:12 -07:00
Carter Anderson
076fef873a Anchor constants 2020-05-04 11:02:04 -07:00
Carter Anderson
f5149cab05 move color constants to Color struct 2020-05-04 11:01:57 -07:00
Carter Anderson
dcc34473e5 sprites 2020-05-04 01:23:40 -07:00
Carter Anderson
1056b79abf ui textures 2020-05-03 23:49:45 -07:00
Carter Anderson
08c6679f38 add color constants 2020-05-03 23:47:52 -07:00
Carter Anderson
d50313c285 ui is back! 2020-05-03 19:30:31 -07:00
Carter Anderson
05dbf31fd1 derive struct as uniform 2020-05-03 17:54:16 -07:00
Carter Anderson
736faa3f46 import FromBytes for glam types 2020-05-03 17:05:45 -07:00
Carter Anderson
41be55bf8d custom glam with zerocopy impls 2020-05-03 16:55:17 -07:00
Carter Anderson
dac9cac776 ui render graph 2020-05-03 12:35:07 -07:00
Carter Anderson
5537eabb8c "base render graph": a common baseline graph 2020-05-03 10:54:30 -07:00
Carter Anderson
2fb9e115ff Make ecs_guide a "real game" 2020-05-03 00:21:32 -07:00
Carter Anderson
24e5238e75 asset handles now use uuids instead of ascending ints 2020-05-02 18:35:18 -07:00
Carter Anderson
355e219608 begin porting ui to new render graph 2020-05-02 17:56:30 -07:00
Carter Anderson
dd84f185f8 fix glsl-to-spirv test 2020-05-02 16:30:45 -07:00
Carter Anderson
0f74c64a16 add "temporary" note to glsl-to-spirv 2020-05-02 14:03:37 -07:00
Carter Anderson
a5a7edf07e remove shaderc dependency (makes windows builds seamless) 2020-05-02 13:57:22 -07:00
Carter Anderson
50f8134ca0 rewrite batcher to be fully generic 2020-05-02 10:28:29 -07:00
Carter Anderson
7b79b3de8d organize examples and add ecs guide 2020-05-01 13:12:47 -07:00
Carter Anderson
368a1b8815 cargo fmt 2020-05-01 01:50:07 -07:00
Carter Anderson
4315455859 add system fn todos 2020-05-01 01:47:59 -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
913d016344 remove unnecessary custom type_name_of_val 2020-05-01 01:02:13 -07:00
Carter Anderson
a1cbf36b0c Use system type name as default system name 2020-05-01 00:55:32 -07:00
Carter Anderson
45a1f0515f use immutable reference in FromResources 2020-04-30 23:59:05 -07:00
Carter Anderson
3e3ab92ff5 cargo fmt 2020-04-30 22:30:51 -07:00
Carter Anderson
b11a7f177b system_fn: port exit_on_esc 2020-04-30 16:29:52 -07:00
Carter Anderson
e5a99fde4f port event_update to system function 2020-04-30 16:19:28 -07:00
Carter Anderson
37b4dff172 port time and diagnostic systems to system fns 2020-04-30 16:13:21 -07:00
Carter Anderson
2447672c63 adapt examples to use system functions and state pattern 2020-04-30 13:52:11 -07:00
Carter Anderson
98f9639050 FromResource and derive macro 2020-04-30 13:26:01 -07:00
Carter Anderson
3cdee1b8ad system_fn named/id/anon. add "more-system-fn" cargo feature 2020-04-30 12:22:35 -07:00
Carter Anderson
2047f9c0d9 Add command encoder system variants 2020-04-30 10:42:22 -07:00
Carter Anderson
c04b4a6c0b remove unused variable 2020-04-29 20:33:30 -07:00
Carter Anderson
03e8c1caf7 flat system functions w/ arbitary resource inputs 2020-04-29 20:05:13 -07:00
Carter Anderson
321ce4d439 refactor system impl macro to prevent warnings 2020-04-29 17:10:31 -07:00
Carter Anderson
d88f9a7913 add support for empty functions as systems 2020-04-29 17:00:20 -07:00
Carter Anderson
2d3903299b Resource and ResourceMut pointers 2020-04-29 16:32:19 -07:00
Carter Anderson
45a710fe6a cargo fmt 2020-04-29 01:37:54 -07:00
Carter Anderson
9230c370ba Implement IntoSystem trait for flat functions using macros 2020-04-28 23:02:21 -07:00
Carter Anderson
f1a03a7a3a some system_fn renaming and add system examples 2020-04-28 13:46:07 -07:00
Carter Anderson
713c4a6056 move system function constructors to System 2020-04-28 11:25:24 -07:00
Carter Anderson
9a3700d8f1 Change events.iter(&mut reader) to reader.iter(&events) 2020-04-28 10:59:42 -07:00
Carter Anderson
92182060a9 add app builder shorthand for system function 2020-04-28 02:52:26 -07:00
Carter Anderson
092f3888ca Resource system functions 2020-04-28 02:31:01 -07:00
Carter Anderson
d5a33c9d0d Add thread safety to "function systems" 2020-04-28 01:27:18 -07:00
Carter Anderson
d5dcc96c39 "functions as systems" 2020-04-28 01:00:30 -07:00
Carter Anderson
0c3a77ac9f impl AddAssign for Color 2020-04-28 00:59:26 -07:00
Carter Anderson
c2c543e0ba move batch to its own module 2020-04-27 17:41:02 -07:00
Carter Anderson
115a009c16 cargo fmt 2020-04-24 18:55:15 -07:00
Carter Anderson
057ad97a46 fix dynamic plugin example 2020-04-24 18:23:37 -07:00
Carter Anderson
65d072fc6a re-add bevy_legion 2020-04-24 18:14:31 -07:00
Carter Anderson
8dcb7413d6 (temporarily) remove bevy_legion 2020-04-24 18:07:33 -07:00
Carter Anderson
87066cafd3 move bevy crates to their own folder 2020-04-24 17:57:20 -07:00