Commit graph

394 commits

Author SHA1 Message Date
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