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