Commit graph

1992 commits

Author SHA1 Message Date
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
Nathan Stocks
7bd6cc6a55
Refresh the examples readme (#854)
Refresh the examples readme: organize, alphabetize, add missing entries, remove outdated entries.
2020-11-15 11:24:18 -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
Robbie Davenport
6b8b8e75e5
add bevymark benchmark example (#273)
add bevymark example
2020-11-12 18:03:57 -08:00
Marcus Buffett
1a92ec2638
Make Timer.tick return &Self (#820)
Make Timer::tick return &Self
2020-11-12 18:03:03 -08:00
Carter Anderson
e03f17ba7f
Log Plugin (#836)
add bevy_log plugin
2020-11-12 17:23:57 -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
1eff53462a
cross-platform main function (#847) 2020-11-12 13:26:48 -08:00
memoryruins
5545585336
Fix example ToC links (#848) 2020-11-11 18:57:13 -08:00
memoryruins
d846e46998
Add entries, ToC, and releases note on examples (#844)
* Note difference between development and release examples

* Add table of contents to examples

* Add missing entries for examples
2020-11-11 17:15:19 -08:00
Carter Anderson
c3a37b2d6a
android example polish (#845) 2020-11-11 16:31:16 -08:00
Carter Anderson
e769974d6a
query filters (#834) 2020-11-10 20:48:34 -08:00
Robert Swain
a266578992
Add tracing spans to schedules, stages, systems (#789)
Add tracing spans to schedules, stages, systems
2020-11-10 18:49:49 -08:00
Amber Kowalski
096ac4aee8
Explain default behavior of AssetServer in the asset_loading example (#822)
Add clarification for where assets are loaded from in the`asset_loading`example
2020-11-10 16:19:55 -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
bjorn3
80a0448473
Add bevy_dylib to force dynamic linking of bevy (#808)
This easily improve compilation time by 2x
2020-11-09 19:26:08 -08:00
easynam
31a433b69e
add basic example of a custom update loop (#799) 2020-11-09 13:04: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
Oscar
f54788527b
Add received character (#805)
* Add ReceivedCharacter window event

* Add ReceivedCharacter window event examples
2020-11-06 17:15:56 -08:00
karroffel
1c38106f75
add example that represents contributors as bevy icons (#801) 2020-11-06 14:35:18 -08:00
Carter Anderson
8d2d2426fe
rename example and readme titles (#781) 2020-11-03 12:00:47 -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
Rob
562190f518
Fixed typo in example comments. (#776) 2020-11-03 10:41:31 -08:00
Nicholas Rishel
ce1d16d90d
Add Android instructions to example README (#775)
Bonus: Fixed iOS formatted text by adding preceding newline.
2020-11-02 22:54:08 -08:00
Carter Anderson
66f2f76a18
rename add_plugin_group to add_plugins (#773) 2020-11-02 19:01:17 -08:00
Nathan Stocks
9871e7e24b
Remove add_default_plugins and add MinimalPlugins for simple "headless" scenarios (#767)
Remove add_default_plugins and add MinimalPlugins for simple "headless" scenarios
2020-11-02 18:38:37 -08:00
Nicholas Rishel
53c4c45eca
Use embedded glslang for runtime glsl-to-spirv and add Android example (#740)
Use embedded glslang for runtime glsl-to-spirv and add Android example
2020-11-02 16:30:30 -08:00
Julian Heinken
f81ecddafc
Example for custom mesh attributes (#757)
example for custom attributes + changelog
2020-11-02 13:47:05 -08:00
Carter Anderson
44b3e24e32
fix mesh allocation bug and public mesh api improvements (#768) 2020-11-02 13:15:07 -08:00
Alec Deason
5cd67f7867
Change the ecs_guide example so it doesn't make it seem like startup systems have to be thread local (#759) 2020-11-01 14:32:48 -08:00
simlay
9cc6368b28
An initial xcode setup for using xcode (#539)
An example of bevy using xcode
2020-10-31 14:36:24 -07:00
Alec Deason
ef86ce98ed
Make event example use a local resource (#754)
Make EventListenerState a local resource
2020-10-31 00:12:56 -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
Utkarsh
fb2b19def5
Fix bug of connection event of gamepad at startup (#730)
* Removed f32==f32 comparision in gamepad.rs

* Trigger gamepad connection event at start up
2020-10-29 13:55:35 -07:00
Carter Anderson
bf2a917b81
app: PluginGroups and DefaultPlugins (#744) 2020-10-29 13:04:28 -07:00
Carter Anderson
267599e577
gamepad: expose raw and filtered gamepad events. (#711) 2020-10-21 15:56:07 -07:00
Utkarsh
d01ba9e4fc
Separate gamepad state code from gamepad event code and other customizations (#700)
Separated gamepad event and gamepad state code and made gamepad input more customizable
2020-10-21 10:27:00 -07:00
Dashiell Elliott
0dbba3efff
Migrate to rodio 0.12 using thread local resources (#692)
Migrate to rodio 0.12 using thread local resources
2020-10-20 11:44:50 -07:00
Carter Anderson
f88cfabdde
asset: WasmAssetIo (#703)
asset: WasmAssetIo
2020-10-19 17:29:31 -07:00
Carter Anderson
c32e637384
Asset system rework and GLTF scene loading (#693) 2020-10-18 13:48:15 -07:00
Carter Anderson
a602f50c2c
small input example improvements (#701) 2020-10-18 13:20:42 -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
Sergey Minakov
a80469bd13
Touch support implementation (#696)
Adds a basic touch input system
2020-10-18 12:24:01 -07:00
Alex
d004bce0c9
Added basic mouse capture API (#679)
Added basic cursor lock API
2020-10-16 14:07:01 -07:00
David Ackerman
7ba45849f3
Add default for texture format (#675) 2020-10-16 11:44:31 -07:00
Fuyang Liu
9db8ae7a16
Fix breakout example bug - ball flying out when collide paddle and wall at the same time (#685)
Fix breakout bug - ball flying out when collide paddle and wall
2020-10-15 14:23:03 -07:00
Utkarsh
dd91f8e116
Add support to get gamepad button/trigger values using Axis<GamepadButton> (#683) 2020-10-15 12:45:34 -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
M
9c48e5cccb
Add a way to specify padding/ margins between sprites in a TextureAtlas. (#460)
Add a way to specify padding between sprites in a TextureAtlas
2020-10-14 20:49:07 -07:00
Carter Anderson
5e7c36d1c1
Fix example colors (#672) 2020-10-12 16:54:22 -07:00
Carter Anderson
6f287fb815
remove custom window mode from example (#637) 2020-10-06 13:08:12 -07:00
Zach Gotsch
d61a1735e9
ui/text example: Use a unit component to identify the target Text (#612) 2020-10-05 12:07:14 -07:00
Carter Anderson
22a2c88a47
winit: upgrade to 0.23.0 / move back upstream! (#617) 2020-10-02 12:24:30 -07:00
jngbsn
8e876463ec
Add hierarchy example (#565)
add ecs/hierarchy example
2020-10-01 12:43:26 -07:00
Will Hart
1beee4fd28
Add AppBuilder::asset_loader_from_instance (#580)
* Implement add_asset_loader_from_instance

* Add example of different data loaders
2020-10-01 11:31:06 -07:00
Mariusz Kryński
a3012d94bb
WASM asset loading (#559)
wasm assets
2020-09-25 15:26:23 -07:00
Carter Anderson
028a22b129
asset: use bevy_tasks in AssetServer (#550) 2020-09-21 20:23:09 -07:00
Carter Anderson
ff54efe3e3
transform: add "setter" builder functions, make naming clearer, and fix examples (#516) 2020-09-19 13:35:48 -07:00
Tomasz Sterna
5e3731ddce
Create winit canvas under WebAssembly (#506) 2020-09-18 20:11:26 -07:00
Utkarsh
19d4694d24
Added gamepad support using Gilrs (#280)
Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2020-09-18 14:43: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
Tomasz Sterna
34c6f5f41b
Implement WASM support for bevy_winit (#503)
Also, replaced wasm_timer::Instant with instant::Instant as it is
used by winit WASM implementation.
2020-09-16 13:40:32 -07:00
memoryruins
f5146c1896
Update headless example / add feature docs (#502)
* Update headless example

* Add missing docs for features
2020-09-16 13:02:53 -07:00
Carter Anderson
ad7613c674
Fix set_scale and set_rotation in new Transform api (#500) 2020-09-16 00:19:14 -07:00
verzuz
d4ab2f4d47
fix font atlas overflow (#495)
manage font_atlas overflow
2020-09-15 18:06:10 -07:00
Tomasz Sterna
2b0ee24a5d
Implement single threaded task scheduler for WebAssembly (#496)
* Add hello_wasm example

* Implement single threaded task scheduler for WebAssembly
2020-09-15 18:05:31 -07:00
Carter Anderson
e81111c1b1
simplify transform usage where possible (#494) 2020-09-14 18:20:20 -07:00
Smite Rust
b0e64d4295
update async-executor (#484)
update async-executor
2020-09-14 14:01:41 -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
Max Bruckner
12e0e99900
Fix cargo run command for running examples (#471) 2020-09-11 12:19:53 -07:00
Tomasz Sterna
12deb0bd91
Initialize+Run systems when running the app (#444)
This is required, so Local<> resources get initialized before systems run.
2020-09-10 12:56:37 -07:00
memoryruins
581d85b413
Add parallel_query to the examples readme (#465) 2020-09-09 11:39:37 -07:00
Grant Moyer
586303fd53
Parallel queries (#292)
Add support for Parallel Queries
2020-09-08 12:18:32 -07:00
Sergey Minakov
52ae217b16
Resize mode for Sprite component (#430)
Adds a 'resize_mode' field for 'Sprite'.
This allows different resize handling based on 'SpriteResizeMode' enum value.
2020-09-08 12:04:22 -07:00
Lachlan Sneff
17e7642611
Task System for Bevy (#384)
Add bevy_tasks crate to replace rayon
2020-08-29 12:35:41 -07:00
Elias
9aff0bcc2a
Add support for binary glTF (.glb) (#271)
Add support for binary glTF (.glb)
2020-08-25 16:55:08 -07:00
VitalyR
c78187e6df
add an option about display server protocol, and create document docs/cargo_features.md (#249)
add an option about display server protocol, and create document `docs/cargo_features.md`
2020-08-24 17:06:08 -07:00
Daniel Jordaan
8b6556c750
Fix unresolved import in window settings example (#311)
Got an unresolved import of 'bevy_window' with the window settings example. Hopefully this is the correct way to resolve it.
2020-08-23 23:55:06 -07:00
Carter Anderson
b925e22949 0.1.3 upgrade 2020-08-22 10:16:52 -07:00
8bp
68d419d40f
Add repeating flag to Timer (#165)
Repeating timers will reset themselves upon finishing, carrying over any
excess time during the last tick. This fixes timer drift upon resetting.
2020-08-21 14:57:25 -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
Jake Kerr
db1bf6478c
Allow calling winit with the 'run_return' variant of the run function (#243)
This adds a new WinitConfig resource that can be used to configure the behavior of winit.
When `return_from_run` is set to `true`, `App::run()` will return on `target_os` configurations that
support it.

Closes bevyengine/bevy#167.
2020-08-20 22:37:19 -07:00
Thirds
505c79b60d
README.md link points to the correct example (#225)
The 2D Rendering example texture_atlas URL was pointing to the ./2d/sprite_sheet.rs example. This has now been fixed.
2020-08-20 17:29:10 -07:00
Claire C
45312a945a
Basic mouse scroll-wheel event (#222)
add simple mouse wheel event + example
2020-08-20 17:04:01 -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
0x22fe
81d30dd42b
Created README for examples 2020-08-17 23:02:59 +00:00
Gab Campbell
cf8bab27a0 unused import 2020-08-16 13:43:42 -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
Carter Anderson
9569beb613
Merge pull request #188 from BafDyce/168-thread-pool-options
Add possibility to control num_threads and stack_size of global thread pool
2020-08-14 12:47:32 -07:00
Fabian Würfl
458a169ad2 Add possibility to control num_threads and stack_size of rayon::ThreadPool 2020-08-14 19:15:53 +02:00
Fabian Würfl
4a119dd0e1 Add info message in UI for scene example 2020-08-14 12:56:39 +02:00
Carter Anderson
95dce3ac72
Merge pull request #154 from OptimisticPeach/master
Add Icospheres mesh generation
2020-08-13 19:44:50 -07:00
Wouter Standaert
a738771c93 Add resizable and windowmode options to window creation 2020-08-13 10:47:40 +02:00
OptimisticPeach
86c20eb6df Add Icospheres.
Additionally documents the shapes module.
2020-08-13 00:14:23 -04:00
Carter Anderson
19d2f9c2cd
Merge pull request #144 from BafDyce/fix-comment-keyboard-input-event-example
Fix comment in keyboard_input_event example
2020-08-12 18:57:21 -07:00
reidbhuntley
e1d65c652e Rename collider variable 2020-08-12 17:50:55 -04:00
Fabian Würfl
671862deda Fix comment in keyboard_input_event example 2020-08-12 18:13:32 +02:00
reidbhuntley
e980b83ce2 Clamp the timestep to stop ball from escaping 2020-08-12 09:13:10 -04:00
reidbhuntley
11748456b6 Cleaned up collision code in breakout 2020-08-11 23:43:27 -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
f963cd41dc app: rename AppPlugin to Plugin 2020-08-07 20:22:17 -07:00
Carter Anderson
5647a17c8e update readme 2020-08-06 13:58:13 -07:00
Carter Anderson
e3314ff4dd re-add scene example 2020-08-03 12:00:00 -07:00
Carter Anderson
07858aa348 scene: fix dynamically loading RenderPipelines scenes 2020-08-02 19:33:27 -07:00
Carter Anderson
3c1494eb64 scene: rename "spawn" to "instance" 2020-08-02 12:57:30 -07:00
Carter Anderson
bb111cbafa more example cleanup and polish 2020-07-31 17:10:29 -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
a2c1a90695 fix ui in font atlas and breakout examples 2020-07-29 01:16:42 -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
bd8e979de8 ecs: only borrow/iterate archetypes currently used by a given query 2020-07-28 16:37:37 -07:00
Carter Anderson
77f4e60c8c cleanup import 2020-07-28 14:26:12 -07:00
Carter Anderson
7212b70478 rustfmt changes 2020-07-28 14:24:03 -07:00
Carter Anderson
6dadf34401 add more example comments 2020-07-28 13:45:36 -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
93bb1d5b8e ui: initial flexbox support 2020-07-24 23:04:45 -07:00
Carter Anderson
a4e291d9c8 app: default app runner now runs the schedule once 2020-07-22 13:32:17 -07:00
Carter Anderson
e673faab7c ecs: rename Changed<T> to Mutated<T> 2020-07-22 12:42:12 -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
009141d453 window: customizable default descriptor 2020-07-20 02:05:56 -07:00
Carter Anderson
b799ddc006 more interesting spawner perspective 2020-07-20 01:35:23 -07:00
Carter Anderson
b5d3f7e794 use right handed coordinate system in 3d 2020-07-20 01:33:30 -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
a531c906a6 ui: improve button example 2020-07-18 15:42:31 -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
81df34adcf finish up import simplification 2020-07-16 19:38:21 -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
1db77b2435 examples: cleanup imports 2020-07-16 17:20:42 -07:00
Carter Anderson
1110f9b877 create bevy_math crate and move math types there 2020-07-16 17:11:52 -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
af109174dd make scene folder plural 2020-07-16 12:47:26 -07:00
Carter Anderson
0dc810a37a ecs: add thread local system support to parallel executor 2020-07-14 14:19:17 -07:00
Carter Anderson
e78f2aac07 breakout: fix input 2020-07-11 12:52:25 -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
5607da019d rename/move breakout because its a single file 2020-06-28 11:14:39 -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
c5842fd92b breakout: add scoreboard 2020-06-27 02:10:07 -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
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
4a0f8b8869 add root ui node to example 2020-06-25 13:19:48 -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
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
b6dbbf04db render: visualize depth in z_sort_debug 2020-06-23 13:42:37 -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
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
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
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
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
0931fd0266 fix a few things in shader examples 2020-06-17 17:44:26 -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
e855995145 cargo fmt 2020-06-15 12:47:35 -07:00
Carter Anderson
f799d3ac93 render: add RenderPipeline and begin moving logic there 2020-06-15 00:08:50 -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
fc4160ea41 AssetRenderResourceNodes now consume asset change events. Remove EntitiesWaitingForAssets in favor of DrawState. 2020-06-10 18:54:17 -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
4568f5dae3 remove specialization. bevy now builds on stable rust! 2020-06-07 23:36:39 -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
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
9d80b5965e example: add rpg assets for use in examples (maybe pair this down in the future) 2020-06-05 17:26:41 -07:00
Carter Anderson
5ea979dd0e move shaders in examples into consts 2020-06-05 00:13:18 -07:00
Carter Anderson
5aeb3b937b add "pressed" example to mouse_input 2020-06-04 23:57:39 -07:00
Carter Anderson
aa2928739c simplify keyboard_input example 2020-06-04 23:55:12 -07:00
Carter Anderson
ed561d7f70 break up input examples 2020-06-04 23:49:36 -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
fcecf78609 make input_keyboard example speed a normal variable 2020-06-04 23:01:02 -07:00
Carter Anderson
b3a57c21a7 input: simpler input interface via an Input resource 2020-06-04 22:48:53 -07:00
Carter Anderson
fde8292a04 simplify input_keyboard example 2020-06-04 19:47:27 -07:00
Carter Anderson
c4600dbad8 increase ui example label size 2020-06-04 17:13:58 -07:00
Carter Anderson
db6a365b13 saner orthographic projection 2020-06-04 17:09:24 -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
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
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
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
ec0c0c7562 tweak the ecs guide 2020-05-28 22:37:28 -07:00
Carter Anderson
83d5275e10 add "query system functions" 2020-05-28 13:36:48 -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
3ee5a67cdb scenes: polish scene example. prop->property attribute. derive(Resources) to derive(FromResources) 2020-05-27 15:57:12 -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
d2d02f63f6 props: "Seq" properties 2020-05-26 19:47:33 -07:00
Carter Anderson
a837741c64 props: move AsProperties into Property 2020-05-25 18:20:36 -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
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
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
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
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
8bc0eb45ee print average fps and smooth out average a little bit 2020-05-18 14:53:57 -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
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
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
8a61ef48d3 use relative paths for assets 2020-05-14 15:25:43 -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
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
35e1d8b498 pathfinder: more backend work. it now renders the clear color without crashing 2020-05-11 09:01:31 -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
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
6f32d18dc5 diagnostic filtering 2020-05-04 11:43:21 -07:00
Carter Anderson
ba795fdfb5 "fix" ui_bench 2020-05-04 11:06:02 -07:00
Carter Anderson
916978307b fix anchor descriptions 2020-05-04 11:03:52 -07:00
Carter Anderson
076fef873a Anchor constants 2020-05-04 11:02:04 -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
291b948b61 fix "ui_bench" 2020-05-03 19:32:27 -07:00
Carter Anderson
d50313c285 ui is back! 2020-05-03 19:30:31 -07:00
Carter Anderson
a4fe37add1 add plugin example 2020-05-03 01:30:10 -07:00
Carter Anderson
ff0db0df14 quality pass on ecs_guide 2020-05-03 00:48:36 -07:00
Carter Anderson
2fb9e115ff Make ecs_guide a "real game" 2020-05-03 00:21:32 -07:00
Carter Anderson
71a4503df1 Move ecs_guide main function to the end of the file 2020-05-02 18:32:23 -07:00
Carter Anderson
355e219608 begin porting ui to new render graph 2020-05-02 17:56:30 -07:00
Carter Anderson
fd97bb7bc7 fix showcase script 2020-05-01 13:55:07 -07:00
Carter Anderson
7b79b3de8d organize examples and add ecs guide 2020-05-01 13:12:47 -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
3e3ab92ff5 cargo fmt 2020-04-30 22:30:51 -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
4923ac02de remove entity builder example 2020-04-30 12:28:41 -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
03e8c1caf7 flat system functions w/ arbitary resource inputs 2020-04-29 20:05:13 -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
d5dcc96c39 "functions as systems" 2020-04-28 01:00:30 -07:00
Carter Anderson
57109f8726 remove broken instancing example 2020-04-24 18:58:54 -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
791c475354 RenderGraph2: Finish porting, refactor, cleanup 2020-04-24 17:46:54 -07:00
Carter Anderson
3c83e34cc1 re-enable opt=3 for debug 2020-04-19 22:31:14 -07:00
Carter Anderson
1143f16743 model loading works! 2020-04-19 19:29:33 -07:00
Carter Anderson
7fe2288814 pipeline specialization (support different primitive topologies within the same pipeline) 2020-04-19 19:06:41 -07:00
Carter Anderson
e59693fe67 exit events and systems 2020-04-19 12:13:04 -07:00
Carter Anderson
649ffebb7f New Mesh implementation (adapts to arbitrary vertex descriptors). Initial gltf model loading. 2020-04-19 10:08:47 -07:00
Carter Anderson
dcd71d1b72 Rework AppBuilder system interfaces. Remove setup() in favor of startup_system 2020-04-15 19:42:17 -07:00
Carter Anderson
837e1dc139 Port remaining functionality to RenderContext and remove Renderer 2020-04-12 14:47:41 -07:00
Carter Anderson
1d44b4034f asset handle batcher system 2020-04-12 00:54:51 -07:00
Carter Anderson
b9f4c0a53b move shader defs updates to their own systems. make UniformResourceProvider::update World read-only 2020-04-11 20:27:46 -07:00
Carter Anderson
394b7ce940 RenderContext, RenderResourceContext and wgpu implementations 2020-04-11 18:40:30 -07:00
Carter Anderson
f2b2065fbe make CommandBufferBuilder non-consuming 2020-04-07 13:29:11 -07:00
Carter Anderson
2565a69230 make WorldBuilder non-consuming 2020-04-07 13:25:01 -07:00
Carter Anderson
bd97da3a51 Add comments to examples and fix example_showcase script timing 2020-04-06 21:33:18 -07:00
Carter Anderson
574bc93e4f expand top level crate docs slightly and add hello world example 2020-04-06 17:39:06 -07:00
Carter Anderson
0af36cfaed make every bevy dependency optional in bevy crate 2020-04-06 17:03:21 -07:00
Carter Anderson
b5d78477cf cargo fmt 2020-04-06 16:15:59 -07:00
Carter Anderson
683a70d8e7 add SchedulePlans 2020-04-06 01:57:00 -07:00
Carter Anderson
686e1422db Crate-ify (almost) everything 2020-04-05 20:19:02 -07:00
Carter Anderson
0202dcb009 Use type_name as plugin name default 2020-04-05 14:12:14 -07:00
Carter Anderson
6d53100ff3 mouse motion 2020-04-05 00:32:53 -07:00
Carter Anderson
ec65cfef4a Add mouse input 2020-04-04 23:42:39 -07:00
Carter Anderson
f089df3a49 keyboard input events 2020-04-04 14:59:49 -07:00
Carter Anderson
4c3af427e9 dont force static lifetime on appplugin string 2020-04-04 13:00:52 -07:00
Carter Anderson
ef8c85f0c7 cargo fmt 2020-04-04 12:43:16 -07:00
Carter Anderson
5cbf606ef7 make window its own plugin and rename add_defaults to add_default_plugins 2020-04-04 12:40:32 -07:00
Carter Anderson
f6f8ba2cb6 Document and test Events. Rename EventHandle to EventReader. Fix buffer indexing. Customizable bevy path for proc macros 2020-03-31 18:04:54 -07:00
Carter Anderson
70b4100132 using consistent system naming conventions 2020-03-30 15:51:41 -07:00
Carter Anderson
dcb292e00a quad uses size. polish examples 2020-03-30 15:44:29 -07:00
Carter Anderson
29bbc05eae add support for multiple windows 2020-03-30 14:53:32 -07:00
Carter Anderson
7c121563db headless apps 2020-03-30 11:52:33 -07:00
Carter Anderson
13da707aee add event example 2020-03-29 23:51:13 -07:00
Carter Anderson
d8e7a3dcca fix material shader example 2020-03-29 01:34:08 -07:00
Carter Anderson
3d261f72de move plugin to app module 2020-03-29 01:15:47 -07:00
Carter Anderson
ec84a33b43 everything is a plugin
... well almost everything
2020-03-28 23:18:33 -07:00
Carter Anderson
ed9eb88835 only create wgpu swap chain when surface is ready 2020-03-28 13:57:41 -07:00
Carter Anderson
26ff878469 add default diagnostics wait time 2020-03-28 13:55:55 -07:00
Carter Anderson
92c421b5e1 add empty_defaults example 2020-03-27 18:00:21 -07:00
Carter Anderson
93bf728475 new Diagnostics system 2020-03-27 15:03:47 -07:00
Carter Anderson
e523dc92d8 shader_def: use to_upper instead of to_screaming_snake 2020-03-25 13:24:17 -07:00
Carter Anderson
a0fa4d2d79 cargo fmt 2020-03-22 11:06:08 -07:00
Carter Anderson
eaff311a80 simplify render graph builder interface 2020-03-22 03:06:08 -07:00
Carter Anderson
c6d7402318 add bevy_derive to prelude 2020-03-22 01:33:53 -07:00
Carter Anderson
5d893a83f2 remove unneeded light rotation 2020-03-22 01:16:29 -07:00
Carter Anderson
c9aec26f88 CommandBufferBuilder and setup systems 2020-03-21 22:35:57 -07:00
Carter Anderson
d2e160d44a refactor cameras. add defaults 2020-03-21 21:55:33 -07:00
Carter Anderson
fb496a6172 validate VertexBufferDescriptors and fill in blanks when possible 2020-03-21 21:10:58 -07:00
Carter Anderson
a4eed18800 RenderGraph is now a Resource. RenderGraph owns vertex buffer descriptors. Assorted cleanup 2020-03-21 19:57:59 -07:00
Carter Anderson
7660b8bf3f batched resource creation, vertex buffer macro 2020-03-21 18:12:30 -07:00
Carter Anderson
ae0d5abf45 use RenderResourceAssignments in place of Entity 2020-03-20 17:49:29 -07:00
Carter Anderson
71d091e10c entities with renderable.is_instanced are now removed from normal rendering 2020-03-20 16:58:21 -07:00
Carter Anderson
cbba656f16 replace appbuilder::new() with app::build() 2020-03-20 16:35:19 -07:00
Carter Anderson
9881f64715 cargo fmt 2020-03-20 12:47:33 -07:00
Carter Anderson
04590de678 separate albedo color and make it required
I worked really hard to make ColorSource work, but sadly we need color to be instanceable and making it optional would add too much complexity. Maybe at some point in the future we can add it back. On the plus side, albedo color now modulates the albedo texture
2020-03-17 22:02:01 -07:00
Carter Anderson
28fb0fdfc8 Reflect Vertex Buffer Attributes
Must follow VertexBufferDescriptorName_AttributeName format

I_VertexBufferDescriptorName_AttributeName indicates that an attribute is instanced

Currently all attributes must be defined in shaders or offsets will be incorrect.
2020-03-17 13:20:54 -07:00
Carter Anderson
5d99f3a7e8 Add Handle<T> support to uniform resource provider. Use Handle<StandardMaterial> instead of StandardMaterial 2020-03-16 00:45:28 -07:00
Carter Anderson
63f40589e3 begin instancing work 2020-03-14 12:58:22 -07:00
Carter Anderson
56e79d5225 reorganize texture and mesh 2020-03-14 12:56:37 -07:00
Carter Anderson
ad654a3c25 add fps printer system to diagnostics mod 2020-03-11 01:44:46 -07:00
Carter Anderson
7342f96174 named pipelines (makes custom shaders easier) 2020-03-10 02:46:27 -07:00
Carter Anderson
fb4752532b rename pipelinebuilder.build() to finish() 2020-03-10 02:16:01 -07:00
Carter Anderson
807929f9e3 fix plugin example 2020-03-09 23:50:17 -07:00
Carter Anderson
99cdf56e7d add Color type 2020-03-09 23:43:40 -07:00
Carter Anderson
aa09e93980 reorganize render modules 2020-03-09 23:08:09 -07:00
Carter Anderson
440d883322 use static dispatch in add_resource_provider 2020-03-09 12:07:16 -07:00
Carter Anderson
e4550aaab2 tweak add_children 2020-03-09 02:08:27 -07:00
Carter Anderson
8eec5653b6 rename add_archetype to add_entity 2020-03-09 02:02:17 -07:00
Carter Anderson
a790332505 better parenting ergonomics in world builder 2020-03-09 02:00:59 -07:00
Carter Anderson
91a6c0d9db remove "asset scopes" now that resources are separate from world 2020-03-09 01:40:04 -07:00
Carter Anderson
f6dd6a5ca9 fix parenting example, add missing transform components, add parenting to world builder 2020-03-09 01:31:15 -07:00
Carter Anderson
9355a53980 upgrade legion (breaks plugins) 2020-03-08 23:19:07 -07:00
Carter Anderson
9d2909b43e cleanup 2020-03-08 20:29:21 -07:00
Carter Anderson
e0a1a83bc9 create entities as a separate step before starting a render pass 2020-03-08 20:06:59 -07:00
Carter Anderson
cadea8deb0 Break up wgpu renderer 2020-03-08 19:26:50 -07:00
Carter Anderson
baac7ff296 add png image loading and enable transparency 2020-03-02 20:33:46 -08:00
Carter Anderson
9d71d0d3fc clean up examples 2020-03-02 08:33:52 -08:00
Carter Anderson
22be0b3366 reset uniform count on each update (oops) 2020-03-02 08:32:15 -08:00
Carter Anderson
ca563ea1b3 fix uniform providers with different field sets 2020-03-02 00:19:28 -08:00
Carter Anderson
5154320f70 textures work! 2020-03-01 17:48:37 -08:00
Carter Anderson
9e5f4aeefc implement Copy for Handle 2020-02-23 23:50:44 -08:00
Carter Anderson
1a4bd98434 more texture work 2020-02-23 23:41:48 -08:00
Carter Anderson
f84e71d051 cargo fmt 2020-02-22 15:02:01 -08:00
Carter Anderson
2f1a0cb4a4 macros are now fully screaming snake 2020-02-18 22:59:33 -08:00
Carter Anderson
8a10c06ad5 add texture to frag shader. fix weird macro name collision bug 2020-02-18 20:26:02 -08:00
Carter Anderson
b809b22589 add ColorSource and remove test macro from StandardMaterial 2020-02-18 09:16:34 -08:00
Carter Anderson
f820e4207c add macro example to custom_shader 2020-02-18 09:06:24 -08:00
Carter Anderson
e0e0e41c33 Add "standard config" to pipeline builder 2020-02-17 20:43:50 -08:00
Carter Anderson
ad7acb111a fix custom_shader example 2020-02-17 20:23:00 -08:00
Carter Anderson
6cf981c610 use full path in macro references 2020-02-17 19:53:48 -08:00
Carter Anderson
a76b40bbb4 Fix pipeline name 2020-02-17 19:15:28 -08:00
Carter Anderson
57f798c0bd cleanup 2020-02-17 19:06:12 -08:00
Carter Anderson
6f376b5f3f remove old render graph 2020-02-17 18:36:31 -08:00
Carter Anderson
acebeb924c shader reflection for dynamic uniforms 2020-02-17 16:33:46 -08:00
Carter Anderson
c208945833 add assigned meshes render target
dynamic compiling w/ entity-specifc macros works!
2020-02-15 22:17:24 -08:00
Carter Anderson
56e5414b63 only update pipelines when macros change. better handle debug print 2020-02-15 19:00:30 -08:00
Carter Anderson
cd6ccc45b1 resolve warnings 2020-02-11 19:10:38 -08:00
Carter Anderson
f24a274a2a add renderable to render related queries 2020-02-11 19:09:05 -08:00
Carter Anderson
d58c5e7f5c tweak simple new 2020-02-11 18:54:04 -08:00
Carter Anderson
7cdc2351ba add default to MeshEntity 2020-02-11 18:29:39 -08:00
Carter Anderson
eedec80e89 add shader def fields / proc macro 2020-02-10 19:26:04 -08:00
Carter Anderson
9078b67677 add texture_new example (not working) 2020-02-09 13:53:43 -08:00
Carter Anderson
76d5f6057c add rustfmt.toml and set merge_imports to true 2020-02-09 11:42:26 -08:00
Carter Anderson
3b0b40a79d cargo fmt 2020-02-07 23:17:51 -08:00
Carter Anderson
88ecc9ed43 port ui over to new render graph 2020-02-07 22:42:30 -08:00
Carter Anderson
6d0661d299 fix lights 2020-02-05 11:02:53 -08:00
Carter Anderson
489580f688 port forward lighting and add struct + array uniforms 2020-02-05 09:59:36 -08:00
Carter Anderson
c4b10ea4f7 Continue moving uniform buffers to ResourceProviders 2020-02-03 22:13:13 -08:00
Carter Anderson
45dbe90d85 simple legacy comparison example 2020-01-29 12:49:32 -08:00
Carter Anderson
cd1fb92a7a cache bind group hashes 2020-01-28 01:53:28 -08:00
Carter Anderson
599d30d861 remove unused indices 2020-01-28 01:08:57 -08:00
Carter Anderson
0eb6c6fa74 dynamic uniform buffer info 2020-01-28 00:36:51 -08:00
Carter Anderson
6ba659049d cleanup 2020-01-27 19:36:06 -08:00
Carter Anderson
0b49557237 cleanup 2020-01-27 19:07:05 -08:00
Carter Anderson
07ba56c6cf add plane to example 2020-01-27 01:44:02 -08:00
Carter Anderson
be2a3659c7 dynamic uniforms now actually work! 2020-01-27 01:40:53 -08:00
Carter Anderson
36568d91d2 use buffers + dynamic offsets for shaderuniforms 2020-01-27 01:13:38 -08:00
Carter Anderson
d76b2b032e entity uniforms kind of work in the new render graph
but only the last entity because they all use the same buffer
2020-01-26 21:44:01 -08:00
Carter Anderson
5ca84dbde0 add new materials to example 2020-01-26 00:24:50 -08:00
Carter Anderson
2226292ce0 more graph work 2020-01-23 00:31:56 -08:00
Carter Anderson
9e0d29d27e prep flat pipeline 2020-01-21 03:15:28 -08:00
Carter Anderson
129a9747bb add dynamic plugin loading 2020-01-20 20:10:40 -08:00
Carter Anderson
e4d42c29a9 incomplete plug in 2020-01-19 13:24:01 -08:00
Carter Anderson
b0df491559 make legacy rendergraph optional (and off by default) 2020-01-19 12:43:18 -08:00
Carter Anderson
3783deed07 rename object3d to mesh 2020-01-19 02:10:29 -08:00
Carter Anderson
ec4ca5559f EntityArchetype proc macro 2020-01-19 02:02:12 -08:00
Carter Anderson
e0753c8ace entity archetypes
(for organization and compile time speedups)
2020-01-18 15:36:24 -08:00
Carter Anderson
e649d4f6e1 initial render graph v2 work 2020-01-17 00:46:40 -08:00
Carter Anderson
7037c8c494 cargo fmt 2020-01-14 22:23:00 -08:00
Carter Anderson
68676bf6fa add initial serialization 2020-01-14 22:19:28 -08:00
Carter Anderson
5f6bad2dc8 add system stages to app builder 2020-01-14 12:37:01 -08:00
Carter Anderson
5433ba7ea1 add prelude 2020-01-13 19:20:58 -08:00
Carter Anderson
32f196c7c2 move mesh and texture to asset mod 2020-01-13 18:59:30 -08:00
Carter Anderson
c867c021c9 add texture types 2020-01-13 18:06:06 -08:00
Carter Anderson
5ab026d943 update alpha dst_factor 2020-01-13 02:14:10 -08:00
Carter Anderson
a798cf3346 add alpha to ui pipeline 2020-01-13 01:32:04 -08:00
Carter Anderson
5d9bb88d1b update simple 2020-01-12 22:26:07 -08:00
Carter Anderson
ae325846ff Node tree structure 2020-01-12 22:18:17 -08:00
Carter Anderson
dd34c1e237 ui example comments 2020-01-12 18:47:17 -08:00
Carter Anderson
875b7492c8 rename ui_update_system 2020-01-12 18:00:58 -08:00
Carter Anderson
6da891be29 ui node system 2020-01-12 16:51:21 -08:00
Carter Anderson
7f0f2d0515 Add anchor data 2020-01-11 17:33:44 -08:00
Carter Anderson
9c3c92f39a cargo fmt 2020-01-11 15:21:31 -08:00
Carter Anderson
4d903df33c simplify AssetStorage and Handles 2020-01-11 12:32:38 -08:00
Carter Anderson
0049715070 remove explicit type 2020-01-11 03:32:22 -08:00
Carter Anderson
151675a5ef upgrade legion. refactor system and world construction 2020-01-11 03:31:36 -08:00
Carter Anderson
ee03942e40 rustfmt examples 2020-01-11 01:59:39 -08:00
Carter Anderson
55c50f7185 refactor app startup. AppBuilder. clean up examples 2020-01-11 01:46:51 -08:00
Carter Anderson
aeeb85b7b0 batched rect rendering 2020-01-10 22:42:54 -08:00
Carter Anderson
eb1233d9f0 initial ui pass 2020-01-08 19:17:11 -08:00
Carter Anderson
86a467f0f3 initial gltf example 2020-01-07 23:03:09 -08:00
Carter Anderson
42236cfe57 new shadow pass. pipeline assignments 2020-01-05 21:38:43 -06:00
Carter Anderson
cb6de5b2bf initial RenderGraph 2020-01-01 13:53:44 -06:00
Carter Anderson
7bfafc22bc initial instancing support 2019-12-27 15:35:07 -06:00
Carter Anderson
6a819a1884 render resources refactor and normal forward rendering 2019-12-23 18:13:05 -06:00
Carter Anderson
c0f8ded062 make variable immutable 2019-12-09 23:32:18 -08:00
Carter Anderson
aa2f7e9789 Use floats for vertex values 2019-12-09 23:12:50 -08:00
Carter Anderson
5c1ce0597f average frame time 2019-12-07 23:48:25 -08:00
Carter Anderson
42fd25cfd9 move forward uniform setup to forward pass 2019-12-05 09:29:26 -08:00
Carter Anderson
03c1ec3405 we glam now 2019-12-04 00:11:14 -08:00
Carter Anderson
4437f37690 light debugging 2019-12-03 22:13:04 -08:00
Carter Anderson
25b7dad1c2 update example 2019-12-03 19:01:48 -08:00
Carter Anderson
0e0eb97430 cleanup 2019-12-03 09:01:15 -08:00
Carter Anderson
816d0c9bdd wander spawner 2019-12-03 00:30:30 -08:00
Carter Anderson
21ce87ba45 fix camera projection 2019-12-02 15:51:24 -08:00
Carter Anderson
2a27cacba8 lights and cameras data driven. setup moved to relevant passes 2019-12-02 15:19:56 -08:00
Carter Anderson
df5c74a0ea material constructor 2019-12-02 11:05:35 -08:00
Carter Anderson
6b937d5df4 use more harmonious colors in sample 2019-12-02 10:54:42 -08:00
Carter Anderson
3922c76efe fix asset loading. no more temp! 2019-12-02 10:48:08 -08:00
Carter Anderson
a96f3cfda5 asset loading, hierarchies, more refactoring 2019-12-02 01:31:07 -08:00
Carter Anderson
07c0fa0704 refactor pipelines 2019-12-01 01:16:15 -08:00
Carter Anderson
e204538ad7 transition math to nalgebra and add tiny-town. 2019-11-30 21:21:45 -08:00
Carter Anderson
cd60778d46 use wgpu example as base 2019-11-30 17:42:27 -08:00
Carter Anderson
669849c454 initial commit 2019-11-12 19:36:02 -08:00