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
Carter Anderson
4eaae0f815
add texture and sampler shader reflection
2020-02-19 00:24:59 -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
a1b9e3a7a5
add shader_def to albedo ColorSource and auto import trait in macro
2020-02-18 19:08:17 -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
2fe9710c04
Shader reflection works for everything but dynamic uniforms
2020-02-17 14:12:10 -08:00
Carter Anderson
c29a6f7dd2
more shader reflection
2020-02-16 20:35:44 -08:00
Carter Anderson
8698dcea25
start work on shader reflection
2020-02-16 12:12:55 -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
26588d0c41
make pipelines cloneable and draw_target a part of render_graph
2020-02-15 17:08:46 -08:00
Carter Anderson
4de039eb71
Make PipelineDescriptor an Asset that references Handle<Shader>
2020-02-15 16:28:17 -08:00
Carter Anderson
478d475219
more shader assignment work
2020-02-15 13:58:40 -08:00
Carter Anderson
e38d3be0e3
move wgpu shader code out of Shader
2020-02-13 09:17:18 -08:00
Carter Anderson
7759fdefac
collect uniform shader_defs in preparation for on-demand shader compiling
2020-02-12 17:58:58 -08:00
Carter Anderson
edf57c0dd3
rename entitybuilder to worldbuilder
2020-02-11 19:39:10 -08:00
Carter Anderson
649e1b113f
add world.insert passthrough to entitybuilder
2020-02-11 19:37:48 -08:00
Carter Anderson
f24a274a2a
add renderable to render related queries
2020-02-11 19:09:05 -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
4a12d16307
add uniform field attribute
2020-02-09 21:41:51 -08:00
Carter Anderson
c1bac8869e
move uniforms around
2020-02-09 18:09:54 -08:00
Carter Anderson
5b48de96db
Add Uniforms proc macro
2020-02-09 18:04:18 -08:00
Carter Anderson
a721f3595d
rustfmt: use field init shorthand
2020-02-09 11:43:45 -08:00
Carter Anderson
76d5f6057c
add rustfmt.toml and set merge_imports to true
2020-02-09 11:42:26 -08:00
Carter Anderson
5306fa36fa
break up shader mod
2020-02-08 17:17:07 -08:00
Carter Anderson
428bb985c4
move mesh draw target to draw target folder
2020-02-08 15:42:07 -08:00
Carter Anderson
ebcb925d6f
remove broken import
2020-02-08 15:31:38 -08:00
Carter Anderson
c604843b54
move uniform resource provider to resource provider folder
2020-02-08 15:07:57 -08:00
Carter Anderson
8f1c9e9333
remove super
2020-02-07 23:18:53 -08:00
Carter Anderson
3b0b40a79d
cargo fmt
2020-02-07 23:17:51 -08:00
Carter Anderson
f68909ac00
reorganize
2020-02-07 23:15:35 -08:00
Carter Anderson
88ecc9ed43
port ui over to new render graph
2020-02-07 22:42:30 -08:00
Carter Anderson
be1a878943
fix forward flat depth
2020-02-06 08:56:44 -08:00
Carter Anderson
aab7034e99
FrameTexture resource providers
2020-02-05 18:59:09 -08:00
Carter Anderson
8c831845f9
initial texture support
2020-02-05 17:50:56 -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
380e59ee23
begin porting over lighting
2020-02-04 23:14:13 -08:00
Carter Anderson
48e8967acc
use staging buffer and add command encoder for resize events
2020-02-04 22:07:02 -08:00
Carter Anderson
c3a388b1b9
add some perf notes
2020-02-04 18:48:42 -08:00
Carter Anderson
b32c80ceba
add todo
2020-02-04 09:41:05 -08:00
Carter Anderson
dff18f78db
slightly optimize UniformResourceProvider
2020-02-04 09:39:23 -08:00
Carter Anderson
14efda15bf
remember!
2020-02-04 00:27:34 -08:00
Carter Anderson
7c2eb63a47
improve performance dynamic uniforms
2020-02-04 00:06:17 -08:00
Carter Anderson
c4b10ea4f7
Continue moving uniform buffers to ResourceProviders
2020-02-03 22:13:13 -08:00
Carter Anderson
cd1fb92a7a
cache bind group hashes
2020-01-28 01:53:28 -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
4675996e4f
remove unneeded uniform data copy
2020-01-27 19:35:54 -08:00
Carter Anderson
0b49557237
cleanup
2020-01-27 19:07:05 -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
a2d0d937e0
render graph bind groups
2020-01-25 16:33:26 -08:00
Carter Anderson
bcd7dae0ec
more renderer work
2020-01-23 23:39:56 -08:00
Carter Anderson
7b89531268
add resource providers to render_graph
2020-01-23 01:06:37 -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
5975289f4c
bind group data model
2020-01-20 23:05:53 -08:00
Carter Anderson
129a9747bb
add dynamic plugin loading
2020-01-20 20:10:40 -08:00
Carter Anderson
e8dfc0081b
supress warnings
2020-01-20 02:03:05 -08:00
Carter Anderson
d7bd49694b
add resize event to new renderer
2020-01-20 02:02:53 -08:00
Carter Anderson
79bb83732f
more graph work
2020-01-20 00:57:54 -08:00
Carter Anderson
54005fcdd0
finish wiring up new renderer / render_graph
2020-01-19 23:04:27 -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
48cf0190ad
add comments about future entity archetype plans
2020-01-18 15:39:03 -08:00
Carter Anderson
e0753c8ace
entity archetypes
...
(for organization and compile time speedups)
2020-01-18 15:36:24 -08:00
Carter Anderson
7a386b8b46
more render_graph work
2020-01-18 14:09:53 -08:00
Carter Anderson
d9bd2d4f15
pipeline builder
2020-01-17 18:54:05 -08:00
Carter Anderson
3a674394b9
add immutable versions of run_on_hierarchy to save allocations
2020-01-17 01:29:01 -08:00
Carter Anderson
e649d4f6e1
initial render graph v2 work
2020-01-17 00:46:40 -08:00
Carter Anderson
435357ee86
start working on render_graph v2
2020-01-15 10:28:27 -08:00
Carter Anderson
724ad16c95
remove comments
2020-01-15 01:03:33 -08:00
Carter Anderson
50722089ef
replace glsl_to_spirv with shaderc
2020-01-15 00:51:32 -08:00
Carter Anderson
35705dfad2
move render_graph and prevent panic when there are no passes
2020-01-14 22:40:52 -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
0e72f073e1
move swap_chain and device initialization to render_graph
2020-01-14 18:57:10 -08:00
Carter Anderson
e1c1da027b
move app to its own namespace
2020-01-14 12:53:56 -08:00
Carter Anderson
5f6bad2dc8
add system stages to app builder
2020-01-14 12:37:01 -08:00
Carter Anderson
27eaaead30
make time optional
2020-01-14 12:04:55 -08:00
Carter Anderson
2da6ea6393
set msaa to 4 to be kinder to my laptop
2020-01-14 11:53:57 -08:00
Carter Anderson
3853e0f1c9
remove legion_transform_bundle from lib.rs
2020-01-13 19:23:28 -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
7a6c938409
add uvs to vertex layout
2020-01-13 17:35:30 -08:00
Carter Anderson
5ab026d943
update alpha dst_factor
2020-01-13 02:14:10 -08:00
Carter Anderson
019cad9e04
add msaa
2020-01-13 02:11:30 -08:00
Carter Anderson
a798cf3346
add alpha to ui pipeline
2020-01-13 01:32:04 -08:00
Carter Anderson
ae325846ff
Node tree structure
2020-01-12 22:18: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
133cbe7846
upgrade wgpu and winit
2020-01-11 14:16:47 -08:00
Carter Anderson
e1fb86ef8e
support instancing multiple meshes
2020-01-11 13:14:26 -08:00
Carter Anderson
4d903df33c
simplify AssetStorage and Handles
2020-01-11 12:32:38 -08:00
Carter Anderson
41722830bd
remove some todos
2020-01-11 11:57:16 -08:00
Carter Anderson
2506449097
use creat_quad in create_plane
2020-01-11 11:51:46 -08:00
Carter Anderson
13eea44bce
remove Mesh2D for now
2020-01-11 11:33:49 -08:00
Carter Anderson
a9635b2c3d
move vertex to render mod
2020-01-11 11:29:57 -08:00
Carter Anderson
151675a5ef
upgrade legion. refactor system and world construction
2020-01-11 03:31:36 -08:00
Carter Anderson
9f7e313dc4
rustfmt crate
2020-01-11 02:11:27 -08:00
Carter Anderson
fdbe42dd7d
app_builder: add world and scheduler setters
2020-01-11 01:51:20 -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
edd0bca622
rename forward bind group
2020-01-08 09:12:54 -08:00
Carter Anderson
62364660de
local -> material bind group layout
2020-01-08 09:07:49 -08:00
Carter Anderson
86a467f0f3
initial gltf example
2020-01-07 23:03:09 -08:00
Carter Anderson
f27942e961
port shadow pipeline. clean up
2020-01-07 22:35:07 -08:00
Carter Anderson
42236cfe57
new shadow pass. pipeline assignments
2020-01-05 21:38:43 -06:00
Carter Anderson
aa16023f41
port forward-instanced to RenderGraph
2020-01-01 14:24:45 -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
aa2f7e9789
Use floats for vertex values
2019-12-09 23:12:50 -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
072346bb94
fix variable name
2019-12-03 22:12:33 -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
188d355d10
render refactors. ecs integration
2019-12-01 20:03:04 -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