Carter Anderson
6dadf34401
add more example comments
2020-07-28 13:45:36 -07:00
Thomas Herzog
23149f1753
add texture loader for more formats using image
crate
...
This adds support for PNG images only for now. More formats can be added
relatively easily.
Images with various pixel formats are supported (such as RGB-16bit or
R-8bit).
2020-07-27 23:30:31 +02:00
Thomas Herzog
7412b0ec25
add HDR image loader
...
Using the `image` crate, HDR images can be loaded into RGBA-f32 textures.
2020-07-27 11:37:45 +02: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
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
0c2e26ddde
Revert "ecs: remove &mut requirement on query iterators"
...
This reverts commit 6dc1d07cbc
.
2020-07-21 20:12:15 -07:00
Carter Anderson
6dc1d07cbc
ecs: remove &mut requirement on query iterators
2020-07-20 13:59:51 -07:00
Carter Anderson
b5d3f7e794
use right handed coordinate system in 3d
2020-07-20 01:33:30 -07:00
Carter Anderson
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
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
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
f742ce3ef2
app: simplify app imports
2020-07-16 18:47:51 -07:00
Carter Anderson
b12c4d0a48
render: simplify imports and cleanup prelude
2020-07-16 18:26:21 -07:00
Carter Anderson
196bde64e3
cargo fmt
2020-07-16 17:23:50 -07:00
Carter Anderson
1110f9b877
create bevy_math crate and move math types there
2020-07-16 17:11:52 -07:00
Carter Anderson
4712e96aa8
ecs: make parallel executor resource-aware
2020-07-15 17:20:36 -07:00
Carter Anderson
a7bab755ee
ecs: add query get safety checks
2020-07-14 19:05:39 -07:00
Carter Anderson
50335e21e2
derive: allow manually forcing modules to "crate", which prevents the need for ambiguous crates
...
this fixes a failing doc test
2020-07-14 16:16:01 -07:00
Carter Anderson
0dc810a37a
ecs: add thread local system support to parallel executor
2020-07-14 14:19:17 -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
2508a59f68
remove darling
2020-07-10 02:53: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
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
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
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
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
2f5f6e017a
render: intitial VisibleEntities component and sort system
2020-06-22 17:55:48 -07:00
Carter Anderson
031a0c6d58
camera: add scale component to camera entities
2020-06-22 13:26:49 -07:00
Carter Anderson
06b2b06e9d
camera: update cameras when windows are created
2020-06-22 13:21:39 -07:00
Carter Anderson
c654987ae3
fix bug where pipelines used unspecialized shaders
2020-06-21 18:55:22 -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
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
a3c1b7930e
render: fix SharedBuffers render resource context
2020-06-19 13:44:21 -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
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
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
eed40fee9c
render: initial SharedBuffer
2020-06-13 18:37:02 -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
8803bcd92e
include buffer range when hashing RenderResourceAssignments
2020-06-11 11:12:23 -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
3c3449b719
RenderResourceSet builder pattern
2020-06-10 15:45:33 -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
be23f119d5
remove old uniform system
2020-06-07 22:32:55 -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
d0298a4f89
split AsVertexBufferDescriptor out from Uniforms
2020-06-07 13:00:58 -07:00
Carter Anderson
70e9892e00
remove bevy_derive from bevy crate and export derives from specific crates
2020-06-07 12:22:16 -07:00
Carter Anderson
4a71cd128d
render: rename RenderResource to RenderResourceId
2020-06-07 12:10:14 -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
ffc4246a74
remove TextureType
2020-06-05 19:38:03 -07:00
Carter Anderson
db6a365b13
saner orthographic projection
2020-06-04 17:09:24 -07:00
Carter Anderson
e72b5583d1
wgpu: upgrade to latest master. use pollster instead of futures. texture copy alignment
2020-06-04 15:58:02 -07:00
carter
69ac775bfb
ignore reflected gl_VertexIndex attribute
2020-06-04 11:30:43 -07:00
Carter Anderson
ab31bf9d9e
impl Default for EventReader
2020-06-03 23:53:00 -07:00
Carter Anderson
6eea96366d
cargo fmt
2020-06-03 20:08:20 -07:00
Carter Anderson
5927bad382
sprite sheets are fully operational
2020-06-03 19:00:19 -07:00
Carter Anderson
13d56907ed
sprite: more sprite sheet work (not quite operable yet)
2020-06-03 11:39:10 -07:00
Carter Anderson
c9ae10a8a9
make mesh byte conversion zero-copy again
2020-06-03 11:15:58 -07:00
Carter Anderson
97142a68d1
remove redundant mesh binding code
2020-06-01 22:24:36 -07:00
Carter Anderson
5bcd594cb4
bytes: AsBytes trait, remove zerocopy, remove glam fork
2020-06-01 19:38:05 -07:00
Carter Anderson
d5d0107ada
bytes: remove AsBytes in favor of Bytes
2020-06-01 14:33:00 -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