Carter Anderson
7b79b3de8d
organize examples and add ecs guide
2020-05-01 13:12:47 -07:00
Carter Anderson
3e3ab92ff5
cargo fmt
2020-04-30 22:30:51 -07:00
Carter Anderson
0800ce9b92
add bevy icon to docs
2020-04-30 14:16:52 -07:00
Carter Anderson
52e1f29e02
use function system in bevy lib.rs docs
2020-04-30 13:55:51 -07:00
Carter Anderson
2d3903299b
Resource and ResourceMut pointers
2020-04-29 16:32:19 -07:00
Carter Anderson
45a710fe6a
cargo fmt
2020-04-29 01:37:54 -07:00
Carter Anderson
9230c370ba
Implement IntoSystem trait for flat functions using macros
2020-04-28 23:02:21 -07:00
Carter Anderson
f1a03a7a3a
some system_fn renaming and add system examples
2020-04-28 13:46:07 -07:00
Carter Anderson
713c4a6056
move system function constructors to System
2020-04-28 11:25:24 -07:00
Carter Anderson
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
c2c543e0ba
move batch to its own module
2020-04-27 17:41:02 -07:00
Carter Anderson
115a009c16
cargo fmt
2020-04-24 18:55:15 -07:00
Carter Anderson
791c475354
RenderGraph2: Finish porting, refactor, cleanup
2020-04-24 17:46:54 -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
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
8c4815b56e
rename WgpuPlugin
2020-04-06 21:44:32 -07:00
Carter Anderson
67b9d182ed
expand lib docs a little bit
2020-04-06 21:04:09 -07:00
Carter Anderson
9aae341a2c
add bevy logo to api docs
2020-04-06 17:56:17 -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
ecf89a5ba7
Add some top level bevy crate docs
2020-04-06 17:21:15 -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
b1c583f500
crate-ify serialization. crate-ification is now complete!
2020-04-06 16:09:58 -07:00
Carter Anderson
398c89d307
use "min_specialization" feature
2020-04-06 15:54:17 -07:00
Carter Anderson
b19e3004b8
rework marco modules, crate-ify ui
2020-04-06 14:20:53 -07:00
Carter Anderson
1471cc84c5
crate-ify bevy_diagnostic
2020-04-06 00:12:54 -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
7bb889bada
refactor renderer to avoid resource access collisions. this fixes the legion errors in debug builds.
...
NOTE: these "random resource access" issues are a pretty compelling reason to remove Resources from the render api
2020-04-05 13:22:27 -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
5b83698738
add move roadmap, readme, and faq to the bevy website
2020-04-04 21:48:44 -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
8a759d3b18
begin work on supporting multiple swap chains
2020-03-30 22:23:48 -07:00
Carter Anderson
bfa8afbc97
some cleanup wgpu_renderer cleanup
2020-03-30 19:34:48 -07:00
Carter Anderson
17d4bec08c
rework surface and swap chain creation to support arbitrary number of surfaces/windows
2020-03-30 19:21:12 -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
c7ee4bc133
upgrade wgpu
2020-03-30 00:56:15 -07:00
Carter Anderson
13da707aee
add event example
2020-03-29 23:51:13 -07:00
Carter Anderson
5eb789ff77
Add Events. add WindowResize event to WgpuRenderer. remove Renderer from App
2020-03-29 22:44:38 -07:00
Carter Anderson
4435d536e8
change clear color
2020-03-29 01:52:06 -07:00
Carter Anderson
f814695b00
everything is a plugin!
2020-03-29 01:49:35 -07:00
Carter Anderson
3d261f72de
move plugin to app module
2020-03-29 01:15:47 -07:00
Carter Anderson
e2393de97c
move plugin to core
2020-03-29 01:04:27 -07:00
Carter Anderson
45d4f25a93
WinitPlugin
2020-03-29 00:53:47 -07:00
Carter Anderson
ec84a33b43
everything is a plugin
...
... well almost everything
2020-03-28 23:18:33 -07:00
Carter Anderson
5db5f6de9c
batched draw target works! embrace the "log" crate
2020-03-28 20:33:11 -07:00
Carter Anderson
2d0bff97a8
Handle::from_untyped
2020-03-28 14:51:24 -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
38a808db84
change diagnostics formatting
2020-03-28 13:42:16 -07:00
Carter Anderson
78de2fe2a1
fix dynamic uniforms and unit tests
2020-03-27 22:41:45 -07:00
Carter Anderson
a7704fda31
make winit optional and vsync configurable
2020-03-27 17:43:03 -07:00
Carter Anderson
93bf728475
new Diagnostics system
2020-03-27 15:03:47 -07:00
Carter Anderson
0073f4a58b
refactor pipeline compilation into PipelineCompiler
2020-03-26 23:40:25 -07:00
Carter Anderson
d1db46ef54
begin bind group rework
...
global and local bind groups are set up the same way (RenderResourceAssignments). bind groups are reused whenever possible
2020-03-26 01:57:36 -07:00
Carter Anderson
0316efc909
add core Window resource
2020-03-25 21:27:32 -07:00
Carter Anderson
c2545fd161
RenderResourceSetId
2020-03-25 19:20:52 -07:00
Carter Anderson
aec817c533
Rename BindGroup to BindGroupDescriptor. Add BindGroupDescriptorId
2020-03-25 18:17:48 -07:00
Carter Anderson
47ef339e7b
remove BindGroupInfo
2020-03-25 17:40:14 -07:00
Carter Anderson
64cd924413
refactor render resource assignments
2020-03-25 17:31:59 -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
4d17763c85
finish new uniform resource provider staging buffer. dynamic uniforms work again. both dynamic and non-dynamic uniforms perform better than the previous implementation.
2020-03-24 19:17:41 -07:00
Carter Anderson
c71b886165
begin rewrite of UniformResourceProvider (no instancing or dynamic uniform support yet)
2020-03-24 13:50:40 -07:00
Carter Anderson
55745b0812
renderable owns render resource assignments. refactor shader assignment logic. renderers are responsible for intializing during updates.
2020-03-22 18:22:35 -07:00
Carter Anderson
55130bbe1c
remove field_infos from UniformInfoIter
2020-03-22 13:14:34 -07:00
Carter Anderson
08cd5964a4
get_field_info is now static
2020-03-22 13:08:20 -07:00
Carter Anderson
0e18c4b70b
fix render graph lifetimes
2020-03-22 13:05:50 -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
8c201dcbc5
fix LocalToWorld vertex buffer attribute names
2020-03-22 01:13:45 -07:00
Carter Anderson
cfc7aae413
better batch iteration (no allocations + abstracted out)
2020-03-22 01:06:38 -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
a55053cf14
Refactor / cleanup buffer metadata. Fix dynamic uniforms
2020-03-20 19:32:59 -07:00
Carter Anderson
ae0d5abf45
use RenderResourceAssignments in place of Entity
2020-03-20 17:49:29 -07:00
Carter Anderson
f90205a40d
RenderResourceAssignmentsProvider / unique ids
2020-03-20 17:15:56 -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
43e69484ba
migrate entity render resources to RenderResourceAssignments
2020-03-20 14:17:50 -07:00
Carter Anderson
9881f64715
cargo fmt
2020-03-20 12:47:33 -07:00
Carter Anderson
ae72c2cdb0
Refactor and integrate AssetBatcher. Add AssignedBatchesDrawTarget shim
2020-03-19 17:57:07 -07:00
Carter Anderson
99983b40a5
AssetBatcher
2020-03-19 13:21:55 -07:00
Carter Anderson
1e1980bf4d
support tags in entity archetypes
2020-03-18 16:06: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
d9663d740b
AsUniforms provide VertexBufferDescriptor. Initial macro work
2020-03-17 18:25:27 -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
62d1e710a5
rename vertex_buffer to instanceable
2020-03-16 12:15:51 -07:00
Carter Anderson
0ba48ed83a
use dynamic uniforms by default for Handle<T>
2020-03-16 01:49:31 -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
1332630fa3
tweaks
2020-03-15 01:12:56 -07:00
Carter Anderson
4d92ef0119
zero copy uniform bytes
2020-03-14 18:32:33 -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
0c3e83452d
remove empty buffer warning because its too noisey
2020-03-11 18:19:02 -07:00
Carter Anderson
ad654a3c25
add fps printer system to diagnostics mod
2020-03-11 01:44:46 -07:00
Carter Anderson
41e15a2d90
make wgpu renderer optional
2020-03-10 22:20:49 -07:00
Carter Anderson
64b897016c
swap out remaining wgpu references
2020-03-10 21:57:57 -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
cfaee577e7
move bind type
2020-03-10 02:10:44 -07:00
Carter Anderson
d08b243317
cargo fmt
2020-03-10 01:52:28 -07:00
Carter Anderson
4eaf730b8a
add default draw target impl
2020-03-10 01:51:59 -07:00
Carter Anderson
1ac33b1477
add default resource provider impls
2020-03-10 01:51:06 -07:00
Carter Anderson
aca17f15b7
start moving away from wgpu types
2020-03-10 00:53:07 -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
7d3f271cfa
fix resources name
2020-03-09 11:56:45 -07:00
Carter Anderson
fc5d8061d5
cargo fmt
2020-03-09 02:08:44 -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
f6dd6a5ca9
fix parenting example, add missing transform components, add parenting to world builder
2020-03-09 01:31:15 -07:00
Carter Anderson
6ef1c099ff
upgrade bevy_legion / re-apply fork
2020-03-09 00:47:58 -07:00
Carter Anderson
9355a53980
upgrade legion (breaks plugins)
2020-03-08 23:19:07 -07:00
Carter Anderson
c5f781b4e5
fix ui draw target
2020-03-08 20:27:07 -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
85c880e754
upgrade wgpu. work around new wgpu lifetimes (this was painful)
2020-03-05 00:55:34 -08:00
Carter Anderson
8beed27c0e
wgpu resources are separated
2020-03-05 00:55:34 -08:00
Carter Anderson
b64f51d10b
try breaking out wgpu resources
2020-03-05 00:55:34 -08:00
Carter Anderson
baac7ff296
add png image loading and enable transparency
2020-03-02 20:33:46 -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
8d3026899d
more texture work
2020-03-01 10:22:58 -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
79c900bc2d
RenderResource ids
2020-02-23 21:13:03 -08:00
Carter Anderson
f84e71d051
cargo fmt
2020-02-22 15:02:01 -08:00
Carter Anderson
7eb99f3eb5
finish uniform names refactor
2020-02-22 15:01:11 -08:00
Carter Anderson
ba1f48f743
start working out field bind type info
2020-02-22 12:42:40 -08:00
Carter Anderson
65284fcacb
more work on texture bindings
2020-02-21 00:15:24 -08:00
Carter Anderson
fb61204d53
start working out how AsUNiforms works with textures
2020-02-20 21:52:45 -08:00