Commit graph

891 commits

Author SHA1 Message Date
RedlineTriad
7e368e0b78
Add more transform relative vectors (#1300)
* Add more transform relative vectors (#1298)

* Add inverse of relative directions (#1298)
2021-01-24 20:05:30 -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
Will Crichton
3d0c4e380c
Don't panic on error when loading assets (#1286)
* Don't panic on IO errors
* Better formatting for asset server errors
2021-01-23 13:23:16 -08:00
Tomasz Sterna
f2b73eaa8a
Fix documentation comment for State::overwrite_next (#1291) 2021-01-23 13:18:28 -08:00
Will Crichton
7166a28baf
Enable dynamic mutable access to component data (#1284)
* Enable dynamic mutable access to component data

* Add clippy allowance, more documentation
2021-01-22 15:15:08 -08:00
Will Crichton
ebcab3638a
Change Name to take Into<String> instead of String (#1283) 2021-01-22 14:13:26 -08:00
Daniel McNab
6bd5ec8404
Change to using add_run_criteria (#1282) 2021-01-22 14:09:14 -08:00
Renato Caldas
0a39c81be6
Add support for reading from mapped buffers (#1274)
* Add support for mapping buffers for reading.

* Add support for reading from a mapped buffer.
2021-01-21 17:53:43 -08:00
Aevyrie
18e4fa8cdf
world coords to screen space (#1258)
Add Camera::world_to_screen to convert world coordinates to screen space
2021-01-21 17:49:29 -08:00
TheRawMeatball
f15d62c0f1
More types (#1267) 2021-01-21 16:05:23 -08:00
bjorn3
7aefd727f6
Use valid keys to initialize AHasher in FixedState (#1268)
Using 0 as keys causes the hasher to get stuck
2021-01-20 14:24:57 -08:00
reidbhuntley
ac7d2de67c
Count number of times a repeating Timer wraps around in a tick (#1112)
Added just_finished_count() function
2021-01-19 14:41:37 -08:00
Alec Deason
1e8060a5a2
Add missing spawn_local method to Scope in the single threaded executor case (#1266) 2021-01-19 13:07:45 -08:00
TheRawMeatball
50ceaf3559
re-export integer vectors from glam (#1264) 2021-01-19 12:56:50 -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
Alec Deason
71c6a19ed8
Minimal change to support instanced rendering (#1262) 2021-01-18 16:52:06 -08:00
Nathan Stocks
a0475e9ad5
Change 'components' to 'bundles' where it makes sense semantically (#1257)
change 'components' to 'bundles' where it makes sense semantically
2021-01-18 16:50:36 -08:00
Alec Deason
3c5f1f8a80
Support for !Send tasks (#1216)
Support for !Send tasks
2021-01-18 13:48:28 -08:00
Cameron Hart
e7dab0c359
Update glam to 0.12.0 (#1249) 2021-01-17 13:44:55 -08:00
Christopher Durham
4d5ba7918b
Update rand requirement from 0.7 to 0.8 (#1114)
* Update rand requirement from 0.7 to 0.8

* Update examples' usage of Rng::gen_range
2021-01-17 13:43:03 -08:00
Zhixing Zhang
cf0e9f9968
Adding copy_texture_to_buffer and copy_texture_to_texture (#1236)
* Adding copy_texture_to_buffer and copy_texture_to_texture

* Adding CopyTextureToTexture and CopyTextureToBuffer in CommandQueue
2021-01-14 11:01:07 -08:00
Yoh Deadfall
6a0116e994
Removed unreferenced trait (#1230) 2021-01-12 14:06:01 -08:00
João Capucho
478f947768
Don't panic if there's no index buffer and call draw (#1229) 2021-01-12 14:05:13 -08:00
bjorn3
fbf08ac545
Faster compilation of bevy_diagnostic (#1235)
* Remove AHashExt

There is little benefit of Hash*::new() over Hash*::default(), but it
does require more code that needs to be duplicated for every Hash* in
bevy_utils. It may also slightly increase compile times.

* Add StableHash* to bevy_utils

* Use StableHashMap instead of HashMap + BTreeSet for diagnostics

This is a significant reduction in the release mode compile times of
bevy_diagnostics

```
Benchmark #1: touch crates/bevy_diagnostic/src/lib.rs && cargo build --release -p bevy_diagnostic -j1
  Time (mean ± σ):      3.645 s ±  0.009 s    [User: 3.551 s, System: 0.094 s]
  Range (min … max):    3.632 s …  3.658 s    20 runs
```

```
Benchmark #1: touch crates/bevy_diagnostic/src/lib.rs && cargo build --release -p bevy_diagnostic -j1
  Time (mean ± σ):      2.938 s ±  0.012 s    [User: 2.850 s, System: 0.090 s]
  Range (min … max):    2.919 s …  2.969 s    20 runs
```
2021-01-12 13:21:45 -08:00
François
c434f57de1
use biggest RenderResources instead of first (#1208) 2021-01-11 14:28:32 -08:00
Adamaq01
4a0837048c
Made ReflectMut::Tuple enum variant use a mutable reference (#1226) 2021-01-08 18:29:03 -08:00
Schell Carl Scivally
a6a242cb86
Render Layers (#1209)
Adds RenderLayers, which enable cameras and entities to opt in to layers that apply to them
2021-01-08 12:45:54 -08:00
Jakob Hellermann
3f2dd22cb5
bevy_render: add torus and capsule shape (#1223)
* bevy_render: add torus shape

* bevy_render: add capsule shape

* bevy_render: reorganize shape module

* bevy_render: add more docs
2021-01-08 11:39:33 -08:00
TehPers
5e7456115a
Implement Reflect for tuples up to length 12 (#1218)
Add Reflect impls for tuples up to length 12
2021-01-07 19:50:09 -08:00
AngelicosPhosphoros
9bce8712b5
Use fxhash in TypeIdMap. (#1119)
Relying on TypeId being some hash internally isn't future-proof because there is no guarantee about internal layout or structure of TypeId. I benchmarked TypeId noop hasher vs fxhash and found that there is very little difference.
Also fxhash is likely to be better supported because it is widely used in rustc itself.
[Benchmarks of hashers](https://github.com/bevyengine/bevy/issues/1097)
[Engine wide benchmarks](https://github.com/bevyengine/bevy/pull/1119#issuecomment-751361215)
2021-01-07 17:42:09 -08:00
David Ackerman
0e0906d22e
Fix iOS touch location (#1224) 2021-01-07 13:37:22 -08:00
Jakob Hellermann
599f381a6a
fix repeated gamepad events (#1221)
Previously, if the actual value of LeftStickX was e.g. 0.034 and fluctuated a little
bit (less than the threshold) it would repeatedly send out events,
because it compared the value to the *filtered* old one - 0.0 - which is
more then `0.01` (the threshold) away.

The is fixed by first doing the deadzone and then comparing to the old
value.
Another possible solution would be to store both the actual old value
and the filtered one, but that would add complexity.
2021-01-07 12:35:40 -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
TheRawMeatball
c69aa98a60
Refactor Box<dyn System> to BoxedSystem (#1191)
Added BoxedSystem
2021-01-03 12:39:30 -08:00
Nathan Jeffords
60be99859a
Subpixel text positioning (#1196)
* cleanup unnecessary changes from PR #1171

* add feature to correctly render glyphs with sub-pixel positioning
2021-01-03 12:39:11 -08:00
Rob Parrett
8a330a889d
Add support for OTF fonts (#1200) 2021-01-03 12:10:23 -08:00
Restioson
820f37fccf
add convenience function (#1197) 2021-01-03 11:57:18 -08:00
MsK`
ca310b856f
New mesh attribute: color (#1194)
New mesh attribute: color
2021-01-03 11:39:15 -08:00
Adam Bates
b7e35ef744
Made gilrs crate public within bevy so we can reference the plugin outside of DefaultPlugins. (#1195) 2021-01-03 11:36:42 -08:00
Théo Degioanni
804c068cc9
bevy_reflect incorrectly looks for bevy in dev-deps (#1182)
* fix: bevy_reflect looking for bevy in dev-deps
* fix: support bevy as dev-dep only in bevy_reflect
2021-01-03 11:28:00 -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
b8fb462eff
Text2d render quality (#1171)
improve quality of text2d rendering

* remove coordinate tweaking in sprite-sheet shader
* fixes glyph shimmering of animated text
* reposition glyph before passing it to ab_glyph to normalize its rendering

The result of layout of sequence of glyphs causes individuals to have fractional positions, but since glyph renderings are reused for future instances of that glyph, this produces errors. This change accepts the errors but repositions the glyph to "0, 0" in an effort to get the cleanest possible rendering.
2021-01-01 15:36:00 -06:00
Dimitri Belopopsky
a01f22e0c5
Add basic file drag and drop support (#1096)
Add basic file drag and drop support
2021-01-01 15:31:22 -06:00
François
228c3df751
use Name on node when loading a gltf file (#1183)
* export Name in prelude
* use Name instead of Labels in gltf scenes
2021-01-01 15:30:18 -06:00
François
c25b41a038
add scene instance entity iteration (#1058)
add scene instance entity iteration
2021-01-01 14:58:49 -06:00
Matthias Seiffert
030ccf1984
Derive Clone for SpriteSheetBundle and SpriteBundle (#1177)
* Derive Clone for TextureAtlasSprite and SpriteSheetBundle

* Derive Clone for Sprite and SpriteBundle
2021-01-01 14:52:09 -06:00
dependabot[bot]
271644a4f7
Update base64 requirement from 0.12.3 to 0.13.0 (#628)
Updates the requirements on [base64](https://github.com/marshallpierce/rust-base64) to permit the latest version.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.12.3...v0.13.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-31 18:43:48 -06:00
Adam Bates
8f426b71c9
Minor grammar fix in code-comment for fn in state (#1173) 2020-12-31 18:37:02 -06:00
Patrik Buhring
f71dc5daeb
Fix potential bug when using multiple lights. (#1055) 2020-12-31 16:51:21 -06:00
François
d91117d6e7
add Flags<T> as a query to get flags of component (#1172)
add `Flags` as a query to get flags of component
2020-12-31 16:29:08 -06:00
Carter Anderson
38010d96ab
remove unnecessary semicolon (#1179) 2020-12-31 16:05:37 -06:00
François
21794fe6df
make more information available from loaded GLTF model (#1020)
make more information available from loaded GLTF model 
* make gltf nodes available as assets
* add list of primitive per mesh, and their associated material
* complete gltf structure
* get names of gltf assets
* only load materials once
* add labels with node names
2020-12-31 14:57:15 -06:00
Felipe Jorge
30fd302c7e
Name component with fast comparisons (#1109)
Name component with fast comparisons
2020-12-31 14:52:02 -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
MsK`
2754a9dde8
Mutable mesh accessors: indices_mut and attribute_mut (#1164)
mutable mesh accessors: indices_mut and attribute_mut
2020-12-30 15:17:44 -06:00
François
871b47f1c3
let user disable feature png when using only other format (#1156) 2020-12-28 15:31:23 -06:00
François
adb249c394
enable change detection for labels (#1155) 2020-12-28 15:25:01 -06:00
W. Brian Gourlie
b94f266183
Implement Copy for ElementState (#1154) 2020-12-28 15:24:31 -06:00
TheRawMeatball
3cb2e22e89
Added use_dpi setting to WindowDescriptor (#1131)
Added scale_factor_override
2020-12-28 14:26:50 -06:00
Gilbert Röhrbein
4825051c6a
Test entity labels, fixed corner cases, changed interface (#1152)
* Test entity labels, fixed corner cases, changed interface

* add tests for entity_labels_system
* fixed filling label_entities map
* fixed corner cases when removing entities, Labels component
* changed EntityLabels::get to return slice or empty slice instead of
  None or Some empty or non-empty slice

Changing the interface of EntityLabels::get is beneficial, since else
you would get different results in case there was an entity before that
with this missing label or not. You would either get None or Some(&[])
and need to handle both, which is actually not necessary.

* register type Labels in CorePlugin
2020-12-27 18:28:49 -06:00
Martin Lavoie
909b396b9e
Add option to ignore events when receving unknown WindowId (#1072)
Ignore window events with unknown window id
2020-12-27 13:24:31 -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
b28365f966
updates on diagnostics (log + new diagnostics) (#1085)
* move print diagnostics to log

* entity count diagnostic

* asset count diagnostic

* remove useless `pub`s

* use `BTreeMap` instead of `HashMap`

* get entity count from world

* keep ordered list of diagnostics
2020-12-24 13:28:31 -06:00
Martin Lavoie
d3d6c35789
Add an alternative winit runner that can be started when not on the main thread (#1063) 2020-12-24 12:43:30 -06:00
Jakob Hellermann
0a51a26aba
bevy_render: load .spv assets (#1104)
bevy_render: ShaderLoader can now load spv files
2020-12-23 19:41:34 -06:00
Patrik Buhring
cbc0fe1416
Modify Derive to allow unit structs for RenderResources. (#1089) 2020-12-23 17:21:10 -06:00
Ryan Lee
acc29ec719
Add bmp as a supported texture format (#1081) 2020-12-23 16:53:02 -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
61ce3f7bcf
make wgpu options public (#1133) 2020-12-22 22:35:17 -06:00
Martin Lavoie
906b406f6a
Prevent double panic in the Drop of TaksPoolInner (#1064) 2020-12-22 14:21:21 -06:00
Alec Deason
814c413372
Fix lock order to remove the chance of deadlock (#1121) 2020-12-22 13:49:40 -06:00
Agorgianitis Loukas
dd668c1970
Expose wgpu backend in WgpuOptions and allow it to be configured from the environment (#1042) 2020-12-22 13:31:01 -06:00
Carter Anderson
3b2c6ce49b
release 0.4.0 (#1093) 2020-12-19 13:28:00 -06:00
Carter Anderson
caf3d8b3ef
add with_enter_stage (and other variants) (#1091) 2020-12-19 12:31:47 -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
François
d0840bd721
Fix example return_after_run (#1082)
* ignore error when setting global tracing subscriber

* ignore unfocus event on window closed previously

* update example to show how to disable LogPlugin
2020-12-18 15:08:26 -06:00
Nathan Jeffords
596bed8ce2
add ability to provide custom a AssetIo implementation (#1037)
make it easier to override the default asset IO instance
2020-12-18 13:34:44 -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
Carter Anderson
45e2be3847
suppress wgpu warnings by default. they are generally unactionable and noisy (#1066) 2020-12-14 17:15:07 -08:00
Carter Anderson
b12e3bf3bb
Improve usability of StateStage and cut down on "magic" (#1059)
Improve usability of StateStage and cut down on "magic"
2020-12-14 17:13:22 -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
Alec Deason
e511cdbda7
More informative error message on missing stage (#1048)
More informative error message on missing state
2020-12-13 12:12:09 -08:00
sapir
002e22fca0
Fix hang on missing state update handler (#1051) 2020-12-13 11:55:32 -08:00
Corey Farwell
9602b24d0f
Add support for Apple Silicon by upgrading winit. (#1043) 2020-12-13 11:27:54 -08:00
Carter Anderson
509b138e8f
Schedule v2 (#1021)
Schedule V2
2020-12-12 18:04:42 -08:00
Nathan Jeffords
9239621ffc
add ability to load .dds, .tga, and .jpeg texture formats (#1038)
add ability to load `.dds`, `.tga`, and `.jpeg` texture formats
2020-12-09 18:34:27 -08:00
James R
4a5bcccde2
Don't panic when attempting to set shader defs from an asset that hasn't loaded yet (#1035)
Don't panic when attempting to set shader defs from an asset that hasn't loaded yet
2020-12-09 16:34:22 -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
Corey Farwell
66f972c850
Use shaderc for aarch64-apple-darwin. (#1027) 2020-12-09 13:02:43 -08:00
François
f53ee54eb6
can spawn a scene from a ChildBuilder, or directly set its parent when spawning it (#1026)
can spawn a scene from a ChildBuilder, or directly set its parent when spawning one
2020-12-09 12:41:49 -08:00
François
c54179b182
only update components for entities in map (#1023) 2020-12-08 20:01:54 -08:00
rod-salazar
19c4f331ac
Ensure default material is loaded (#1016) 2020-12-08 19:36:41 -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
thebluefish
08b6aa59f8
Added WindowFocused event (#956) 2020-12-07 13:24:25 -08:00
Lukas Orsvärn
e1b995f0b0
Add documentation for bevy::ecs::Query::removed (#950)
Add documentation for bevy::ecs::Query::removed
2020-12-07 12:41:40 -08:00
Al M
2c9b7956d1
Live reloading of shaders (#937)
* Add ShaderLoader, rebuild pipelines for modified shader assets
* New example
* Add shader_update_system, ShaderError, remove specialization assets
* Don't panic on shader compilation failure
2020-12-07 12:32:13 -08:00
François
a3bca7e464
Fix ci (#1024)
* fix format

* fix clippy

* used fixed nightly
2020-12-07 11:57:15 -08:00
Corey Farwell
1398d78330
Allow windows to maximized. (#1004)
Adds a new `set_maximized` method to allow users to maximize windows.
2020-12-04 14:31:17 -08:00
Patrik Buhring
fcbae57489
Update Hexasphere to improve MSRV (#994)
Assumes hexasphere will follow semver (I will try to make sure it does!)
2020-12-04 10:38:25 -08:00