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
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
TheRawMeatball
c69aa98a60
Refactor Box<dyn System>
to BoxedSystem ( #1191 )
...
Added BoxedSystem
2021-01-03 12:39:30 -08:00
Nathan Stocks
f574c2c547
Render text in 2D scenes ( #1122 )
...
Render text in 2D scenes
2020-12-27 13:19:03 -06: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
d601eeb829
account for "still loading" textures in RenderResourceNodes ( #1000 )
2020-12-04 10:37:41 -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
Carter Anderson
ccb31bc949
Optimize Text rendering / SharedBuffers ( #972 )
...
optimize Text rendering / SharedBuffers
2020-12-02 12:38:20 -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
Carter Anderson
c05c1dc119
hidpi swap chains ( #973 )
...
hidpi swap chains
2020-12-01 20:25:31 -08:00
Carter Anderson
b5ffab7135
Renderer Optimization Round 1 ( #958 )
...
* only update global transforms when they (or their ancestors) have changed
* only update render resource nodes when they have changed (quality check plz)
* only update entity mesh specialization when mesh (or mesh component) has changed
* only update sprite size when changed
* remove stale bind groups
* fix setting size of loading sprites
* store unmatched render resource binding results
* reduce state changes
* cargo fmt + clippy
* remove cached "NoMatch" results when new bindings are added to RenderResourceBindings
* inline current_entity in world_builder
* try creating bind groups even when they havent changed
* render_resources_node: update all entities when resized
* fmt
2020-12-01 13:17:48 -08:00
Carter Anderson
72b2fc9843
Bevy Reflection ( #926 )
...
Bevy Reflection
2020-11-27 16:39:59 -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
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
rod-salazar
3fca8c60bb
Remove redundant texture copies in TextureCopyNode ( #871 )
...
Remove redundant texture syncs in TextureCopyNode
2020-11-16 16:38:14 -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
Carter Anderson
e03f17ba7f
Log Plugin ( #836 )
...
add bevy_log plugin
2020-11-12 17:23:57 -08:00
Mariusz Kryński
fae628797f
bevy_render: delegate buffer aligning to render_resource_context ( #842 )
2020-11-11 14:08:27 -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
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
dd07674b59
github actions: use stable clippy ( #577 )
2020-09-25 21:34:47 -07:00
Carter Anderson
70ad6671db
ecs: use generational entity ids and other optimizations ( #504 )
...
ecs: use generational entity ids and other optimizations
2020-09-17 17:16:38 -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
Carter Anderson
413caae7bb
resolve errors from latest clippy version
2020-09-07 15:00:03 -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
Carter Anderson
89a1d360c1
Fix despawn ( #361 )
...
* simplify RenderResourcesNode gpu array management
* support removals in RenderResourcesNode
2020-08-26 23:03:55 -07:00
Boutillier
4eb437ab2e
Fixes #134 and #135 with a slight hit on performances as get_or_assign_index will now always assign ( #247 )
2020-08-22 09:28:38 -07:00
Lachlan Sneff
1eca55e571
Replace std synchronization primitives with parking_lot ( #210 )
...
* Replace std::sync::Mutex with parking_lot::Mutex
* Replace std::sync::RwLock with parking_lot::RwLock
2020-08-21 14:55:16 -07:00
Boutillier
38d3da5b86
Fix #187 . Multiple return instead of continue inside for loops. ( #230 )
2020-08-20 16:09:04 -07:00
Carter Anderson
e31f576484
Merge pull request #206 from multun/clippy
...
Add clippy support and fix all warnings / errors
2020-08-19 21:33:28 -07:00
Carter Anderson
6ffe0696db
Merge pull request #203 from lachlansneff/ironing-out-uniforms
...
Replace vector of UniformProperty with a single UniformProperty
2020-08-18 13:44:10 -07:00
Lachlan Sneff
ccfa815cac
Use can_draw in can_draw_indexed
2020-08-17 10:56:27 -04:00
Lachlan Sneff
e24aaf3dd3
Add Draw command to RenderCommand
2020-08-16 16:28:52 -04: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
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