Jasen Borisov
57f9ac18d7
OrthographicProjection scaling mode + camera bundle refactoring ( #400 )
...
* add normalized orthographic projection
* custom scale for ScaledOrthographicProjection
* allow choosing base axis for ScaledOrthographicProjection
* cargo fmt
* add general (scaled) orthographic camera bundle
FIXME: does the same "far" trick from Camera2DBundle make any sense here?
* fixes
* camera bundles: rename and new ortho constructors
* unify orthographic projections
* give PerspectiveCameraBundle constructors like those of OrthographicCameraBundle
* update examples with new camera bundle syntax
* rename CameraUiBundle to UiCameraBundle
* update examples
* ScalingMode::None
* remove extra blank lines
* sane default bounds for orthographic projection
* fix alien_cake_addict example
* reorder ScalingMode enum variants
* ios example fix
2021-01-30 02:31:03 -08:00
davier
5edf2d2395
Prevent ImageBundles from causing constant layout recalculations ( #1299 )
...
Prevent ImageBundles from causing constant layout recalculations
2021-01-24 21:00:20 -08:00
tigregalis
40b5bbd028
Rich text ( #1245 )
...
Rich text support (different fonts / styles within the same text section)
2021-01-24 17:07:43 -08:00
TheRawMeatball
a880b54508
Make EventReader a SystemParam ( #1244 )
...
* Add generic support for `#[derive(SystemParam)]`
* Make EventReader a SystemParam
2021-01-18 22:23:30 -08:00
Daniel McNab
9f2410a4ac
Add from_xyz
to Transform
( #1212 )
...
* Add the from_xyz helper method to Transform
* Use `from_xyz` where possible
2021-01-06 17:17:06 -08:00
François
c95d0ddfb9
remove panics when mixing UI and non UI entities in hierarchy ( #1180 )
...
* replace unwrap with logs when mixing UI and non UI entities in hierarchy
2021-01-01 16:06:40 -06:00
Nathan Jeffords
6531fcdfd2
HIDPI Text ( #1132 )
...
HIDPI Text
* add more operator overloads to `bevy::math::Size`
* render UI text at physical resolution
2020-12-30 16:40:50 -06:00
TheRawMeatball
3cb2e22e89
Added use_dpi setting to WindowDescriptor ( #1131 )
...
Added scale_factor_override
2020-12-28 14:26:50 -06:00
Nathan Stocks
f574c2c547
Render text in 2D scenes ( #1122 )
...
Render text in 2D scenes
2020-12-27 13:19:03 -06:00
François
09c15ea890
do not check for focus until cursor position has been set ( #1070 )
...
do not check for focus until cursor position has been set
2020-12-23 16:10:39 -06:00
Carter Anderson
3b2c6ce49b
release 0.4.0 ( #1093 )
2020-12-19 13:28:00 -06:00
François
18e5411d7d
set is_transparent to true by default for UI bundles ( #1071 )
...
set is_transparent to true by default for UI bundles
2020-12-18 15:21:37 -06:00
Carter Anderson
841755aaf2
Adopt a Fetch pattern for SystemParams ( #1074 )
2020-12-15 21:57:16 -08:00
Nathan Jeffords
51650f114f
run stretch's layout on physical coordinates to fix pixel alignment ( #1061 )
...
run stretch's layout on physical coordinates to fix pixel alignment of the results
2020-12-14 23:17:34 -08:00
Nathan Jeffords
d2e4327b14
update Window
's width
& height
methods to return f32
( #1033 )
...
update `Window`'s `width` & `height` methods to return `f32`
2020-12-13 15:05:56 -08:00
Carter Anderson
509b138e8f
Schedule v2 ( #1021 )
...
Schedule V2
2020-12-12 18:04:42 -08:00
Carter Anderson
7ab0eeece0
Break out Visible component from Draw ( #1034 )
...
Break out Visible component from Draw
2020-12-09 13:38:48 -08:00
Nathan Jeffords
3d386a77b4
attempt to deal with rounding issue when creating the swap chain ( #997 )
...
attempt to deal with rounding issue when creating the swap chain on high DPI displays
2020-12-07 13:32:57 -08:00
Carter Anderson
704a116778
fix scene loading ( #988 )
2020-12-03 13:57:36 -08:00
François
59d98de194
naming coherence for cameras ( #995 )
...
naming coherence for cameras
2020-12-03 13:46:15 -08:00
Carter Anderson
7699f8b6db
optimize asset gpu data transfer ( #987 )
2020-12-03 12:39:29 -08:00
Joshua J. Bouw
9f4c8b1b9a
Fix errors and panics to typical Rust conventions ( #968 )
...
Fix errors and panics to typical Rust conventions
2020-12-02 11:31:16 -08:00
Amber Kowalski
4c1bc02723
Change bevy_input::Touch API to match similar APIs ( #952 )
2020-11-30 17:14:08 -08:00
Carter Anderson
72b2fc9843
Bevy Reflection ( #926 )
...
Bevy Reflection
2020-11-27 16:39:59 -08:00
SvenTS
dd1b08ef8b
Improve ui depth system ( #905 )
...
* Add test for ui-z system
* Remove generic hierarchy runner and refactor ui z-system
* Remove different handling for childless nodes
Having an empty children list should be the same as having no child
component.
* Further simplify system after change
2020-11-25 16:55:55 -08:00
Duncan
46fac78774
Extend the Texture asset type to support 3D data ( #903 )
...
Extend the Texture asset type to support 3D data
Textures are still loaded from images as 2D, but they can be reshaped
according to how the render pipeline would like to use them.
Also add an example of how this can be used with the texture2DArray uniform type.
2020-11-22 12:04:47 -08:00
marius851000
eb587b2f10
do not spend time drawing text with is_visible = false ( #893 )
...
do not draw text with is_visible = false
2020-11-22 11:57:52 -08:00
bjorn3
d6eb647451
Misc cleanups ( #879 )
...
* Remove cfg!(feature = "metal-auto-capture")
This cfg! has existed since the initial commit, but the corresponding
feature has never been part of Cargo.toml
* Remove unnecessary handle_create_window_events call
* Remove EventLoopProxyPtr wrapper
* Remove unnecessary statics
* Fix unrelated deprecation warning to fix CI
2020-11-17 13:40:18 -08:00
Carter Anderson
3a6f6de277
System Inputs, Outputs, Chaining, and Registration Ergo ( #876 )
...
System Inputs, Outputs, Chaining, and Registration Ergo
2020-11-16 18:18:00 -08:00
Carter Anderson
7628f4a64e
combine bevy_ecs and bevy_hecs crates. rename XComponents to XBundle ( #863 )
...
combine bevy_ecs and bevy_hecs crates. rename XComponents to XBundle
2020-11-15 20:32:23 -08:00
MinerSebas
43aac1a784
More query filter usage ( #851 )
...
* Examples now use With<>
* More Bevy systems now use With<>
* parent_update_system now uses Changed<>
2020-11-12 18:22:46 -08:00
Olivier Pinon
465c3d4f7b
Use glyph_brush_layout and add text alignment support ( #765 )
...
Use glyph_brush_layout and add text alignment support
Co-authored-by: Olivier Pinon <op@impero.com>
Co-authored-by: tigregalis <anak.harimau@gmail.com>
Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2020-11-12 16:21:48 -08:00
Carter Anderson
e769974d6a
query filters ( #834 )
2020-11-10 20:48:34 -08:00
Mariusz Kryński
60fa2d5f93
delegate layout reflection to RenderResourceContext ( #691 )
...
* delegate layout reflection to RenderResourceContext
Also:
* auto-reflect DynamicBindings
* use RenderPipeline::new, update dynamic_bindings
linting.
* add dynamic binding generation
Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2020-11-10 13:20:05 -08:00
Carter Anderson
ebcdc9fb8c
Flexible ECS System Params ( #798 )
...
system params can be in any order, faster compiles, remove foreach
2020-11-08 12:34:05 -08:00
Carter Anderson
9afe196f16
release: 0.3.0 ( #783 )
2020-11-03 13:34:00 -08:00
David Ackerman
7efb1b1887
Fix initial Android support ( #778 )
...
* Add force touches, fix ui focus system and touch screen system
* Fix examples README. Update rodio with Android support. Add Android build CI
* Alter android metadata in root Cargo.toml
2020-11-03 11:32:48 -08:00
Carter Anderson
44b3e24e32
fix mesh allocation bug and public mesh api improvements ( #768 )
2020-11-02 13:15:07 -08:00
Julian Heinken
4645da30c8
Mesh overhaul with custom vertex attributes #592 ( #599 )
...
Mesh overhaul with custom vertex attributes
2020-10-30 19:21:53 -07:00
Carter Anderson
ad940fbf6e
Rename query.entity() to query.get() and query.get() to query.get_component() ( #752 )
2020-10-30 18:04:33 -07:00
Carter Anderson
1d4a95db62
ecs: ergonomic query.iter(), remove locks, add QuerySets ( #741 )
2020-10-29 23:39:55 -07:00
Carter Anderson
c32e637384
Asset system rework and GLTF scene loading ( #693 )
2020-10-18 13:48:15 -07:00
Marek Legris
5acebed731
Transform and GlobalTransform are now Similarities ( #596 )
...
Transform and GlobalTransform are now Similarities.
This resolves precision errors and simplifies the api
Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2020-10-18 13:03:16 -07:00
David Ackerman
7ba45849f3
Add default for texture format ( #675 )
2020-10-16 11:44:31 -07:00
François
76cc25823d
can change window settings at runtime ( #644 )
...
can change window settings at runtime
2020-10-15 11:42:19 -07:00
Grayson Burton
354d71cc1f
The Great Debuggening ( #632 )
...
The Great Debuggening
2020-10-08 11:43:01 -07:00
Carter Anderson
028a22b129
asset: use bevy_tasks in AssetServer ( #550 )
2020-09-21 20:23:09 -07:00
Carter Anderson
74dba5f36b
release: 0.2.1 ( #533 )
2020-09-20 15:58:32 -07:00
memoryruins
924afc3c0c
Remove UI debug print ( #521 )
2020-09-19 23:25:07 -07:00
Carter Anderson
ba5af4dd56
release: 0.2.0 ( #520 )
2020-09-19 15:29:08 -07:00
Carter Anderson
57a52e6ed7
fix font atlas text width bug ( #519 )
2020-09-19 14:22:01 -07:00
Boutillier
b9f18efd86
Do not assume font handle is present in assets. ( #490 )
2020-09-19 12:57:52 -07:00
Carter Anderson
e81111c1b1
simplify transform usage where possible ( #494 )
2020-09-14 18:20:20 -07:00
Marek Legris
474bb5403e
Transform Rewrite ( #374 )
...
Remove individual Translation / Rotation / Scale components in favor of a combined Transform component
2020-09-14 14:00:32 -07:00
Smite Rust
a9ce7f4e82
update dependencies ( #470 )
2020-09-10 12:54:24 -07:00
Hugo Lindsay
00be5d083e
UI component bundles derive clone ( #390 )
...
make Draw, TextStyle, and the rest of the ui components derive clone
2020-08-29 16:49:39 -07:00
Robbie Davenport
4aabe983ec
Switch usage of std HashMap/HashSet default hasher, to aHash algo ( #258 )
...
switch to ahash for HashMaps and HashSets via a new bevy_utils crate
2020-08-28 17:08:51 -07:00
stefee
034b5876aa
Fix default UI node size ( #304 )
...
Fix default node size
2020-08-25 12:18:43 -07:00
Carter Anderson
b925e22949
0.1.3 upgrade
2020-08-22 10:16:52 -07:00
Carter Anderson
7c3b49cb6f
upgrade to latest wgpu
2020-08-21 18:36:32 -07:00
Victor "multun" Collod
c38420f1e9
enforce clippy for all target and features
2020-08-16 07:20:06 -07:00
Victor "multun" Collod
d138647818
enforce cargo fmt --check
2020-08-16 05:02:06 -07:00
Cameron Hart
5912206441
Upgrade glam to 0.9.3
2020-08-12 17:31:51 +12:00
Carter Anderson
34752a27bd
add "0.1" version to all bevy crate references
2020-08-09 17:39:28 -07:00
Carter Anderson
9aee5323e1
add crate metadata
2020-08-09 17:24:27 -07:00
Carter Anderson
f963cd41dc
app: rename AppPlugin to Plugin
2020-08-07 20:22:17 -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
a2c1a90695
fix ui in font atlas and breakout examples
2020-07-29 01:16:42 -07:00
Carter Anderson
db665b96c0
ui: fix z indices and depth calculations
2020-07-29 00:28:44 -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
Carter Anderson
3d2a4f6c39
ui: combine Click and Hover into Interaction
2020-07-28 01:20:19 -07:00
Carter Anderson
4a8c6c335a
ui: feed computed image size into bevy_ui flex
2020-07-28 00:37:25 -07:00
Carter Anderson
cf9501a50e
ui: feed computed text position into bevy_ui flex
...
and remove TextAlign because it is now redundant
2020-07-27 21:04:04 -07:00
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
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
6cad80d572
transform|ui: fix transform update lag
2020-07-23 18:26:08 -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
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
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
6db82714dc
ui: text alignment and more complete button example event handling
2020-07-18 17:03:37 -07:00
Carter Anderson
fe1adb6cf6
ui: focus/click/hover system. initial buttons
2020-07-18 14:08:46 -07:00
Carter Anderson
81df34adcf
finish up import simplification
2020-07-16 19:38:21 -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
a7bab755ee
ecs: add query get safety checks
2020-07-14 19:05:39 -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
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
e75496772e
legion: change query system ordering
2020-06-27 10:18:27 -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
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
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
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
fa9348fe2b
text: use quad zindex when drawing labels
2020-06-21 18:55:47 -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
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
e57fdca1bc
render: more progress on immediate mode rendering and DrawableText
2020-06-17 13:10:33 -07:00
Carter Anderson
f799d3ac93
render: add RenderPipeline and begin moving logic there
2020-06-15 00:08:50 -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
516cf9ddf0
text: font atlas generation. initial Drawable boilerplate. temporary font atlas debug example
2020-06-13 18:53:31 -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
db6a365b13
saner orthographic projection
2020-06-04 17:09:24 -07:00
Carter Anderson
6eea96366d
cargo fmt
2020-06-03 20:08:20 -07:00
Carter Anderson
5bcd594cb4
bytes: AsBytes trait, remove zerocopy, remove glam fork
2020-06-01 19:38:05 -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
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
830565ae2b
scene: type registry refactor. use short type names when possible
2020-05-27 19:27:55 -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
c5ab7df98f
automatically detect bevy meta crate in derive macros
2020-05-24 12:39:23 -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
c5a78d4616
TextureCopy render graph node, texture_resource_system
...
Removed textures are now freed
2020-05-18 11:31:11 -07:00
Carter Anderson
86c18edbfd
Label component
2020-05-17 18:09:29 -07:00
Carter Anderson
fcc0a6303b
update mesh on gpu when it changes
2020-05-16 00:21:04 -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
16b568e00e
Asset events and AddAsset builder
2020-05-13 16:17:44 -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
c5ca59dc4d
cargo fmt
2020-05-05 18:44:32 -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
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
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
355e219608
begin porting ui to new render graph
2020-05-02 17:56:30 -07:00
Carter Anderson
87066cafd3
move bevy crates to their own folder
2020-04-24 17:57:20 -07:00