cargo fmt
This commit is contained in:
		
							parent
							
								
									faaf307edb
								
							
						
					
					
						commit
						9881f64715
					
				| @ -72,7 +72,9 @@ fn setup(world: &mut World, resources: &mut Resources) { | ||||
|     let mut mesh_storage = resources.get_mut::<AssetStorage<Mesh>>().unwrap(); | ||||
|     let cube_handle = mesh_storage.add(Mesh::load(MeshType::Cube)); | ||||
| 
 | ||||
|     let mut pipeline_storage = resources.get_mut::<AssetStorage<PipelineDescriptor>>().unwrap(); | ||||
|     let mut pipeline_storage = resources | ||||
|         .get_mut::<AssetStorage<PipelineDescriptor>>() | ||||
|         .unwrap(); | ||||
|     let material_handle = pipeline_storage.get_named("MyMaterial").unwrap(); | ||||
| 
 | ||||
|     world | ||||
|  | ||||
| @ -20,7 +20,7 @@ fn build_move_system() -> Box<dyn Schedulable> { | ||||
|                 let material = material_storage.get_mut(&material_handle).unwrap(); | ||||
|                 translation.0 += math::vec3(1.0, 0.0, 0.0) * time.delta_seconds; | ||||
|                 material.albedo = material.albedo | ||||
|                         + Color::rgb(-time.delta_seconds, -time.delta_seconds, time.delta_seconds); | ||||
|                     + Color::rgb(-time.delta_seconds, -time.delta_seconds, time.delta_seconds); | ||||
|             } | ||||
|         }) | ||||
| } | ||||
|  | ||||
| @ -15,9 +15,9 @@ use crate::{ | ||||
| use bevy_transform::{prelude::LocalToWorld, transform_system_bundle}; | ||||
| use pipeline::PipelineDescriptor; | ||||
| use render_graph::RenderGraphBuilder; | ||||
| use render_resource::AssetBatchers; | ||||
| use shader::Shader; | ||||
| use std::collections::HashMap; | ||||
| use render_resource::AssetBatchers; | ||||
| 
 | ||||
| pub struct AppBuilder { | ||||
|     pub world: World, | ||||
|  | ||||
| @ -2,15 +2,15 @@ | ||||
| pub mod app; | ||||
| pub mod asset; | ||||
| pub mod core; | ||||
| pub mod diagnostics; | ||||
| pub mod ecs; | ||||
| pub mod plugin; | ||||
| pub mod prelude; | ||||
| pub mod render; | ||||
| pub mod serialization; | ||||
| pub mod ui; | ||||
| pub mod diagnostics; | ||||
| 
 | ||||
| pub use bevy_transform as transform; | ||||
| pub use glam as math; | ||||
| pub use legion; | ||||
| pub use once_cell; | ||||
| pub use once_cell; | ||||
|  | ||||
| @ -24,8 +24,7 @@ impl DrawTarget for MeshesDrawTarget { | ||||
|     ) { | ||||
|         let mut current_mesh_handle = None; | ||||
|         let mut current_mesh_index_len = 0; | ||||
|         let mesh_query = | ||||
|             <(Read<Handle<Mesh>>, Read<Renderable>)>::query(); | ||||
|         let mesh_query = <(Read<Handle<Mesh>>, Read<Renderable>)>::query(); | ||||
| 
 | ||||
|         for (entity, (mesh, renderable)) in mesh_query.iter_entities(world) { | ||||
|             if !renderable.is_visible { | ||||
|  | ||||
| @ -1,9 +1,9 @@ | ||||
| mod assigned_batches_draw_target; | ||||
| mod assigned_meshes_draw_target; | ||||
| mod meshes_draw_target; | ||||
| mod ui_draw_target; | ||||
| mod assigned_batches_draw_target; | ||||
| 
 | ||||
| pub use assigned_batches_draw_target::*; | ||||
| pub use assigned_meshes_draw_target::*; | ||||
| pub use meshes_draw_target::*; | ||||
| pub use ui_draw_target::*; | ||||
| pub use assigned_batches_draw_target::*; | ||||
| @ -20,4 +20,4 @@ pub mod pipeline; | ||||
| pub mod render_resource; | ||||
| mod renderable; | ||||
| pub mod renderer; | ||||
| pub mod texture; | ||||
| pub mod texture; | ||||
|  | ||||
| @ -3,13 +3,13 @@ mod binding; | ||||
| mod pipeline; | ||||
| mod pipeline_layout; | ||||
| pub mod pipelines; | ||||
| pub mod state_descriptors; | ||||
| mod vertex_buffer_descriptor; | ||||
| mod vertex_format; | ||||
| pub mod state_descriptors; | ||||
| 
 | ||||
| pub use bind_group::*; | ||||
| pub use binding::*; | ||||
| pub use pipeline::*; | ||||
| pub use pipeline_layout::*; | ||||
| pub use vertex_buffer_descriptor::*; | ||||
| pub use vertex_format::*; | ||||
| pub use vertex_format::*; | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| use super::{ | ||||
|     state_descriptors::{ | ||||
|         BlendDescriptor, ColorStateDescriptor, ColorWrite, CompareFunction, CullMode, | ||||
|         DepthStencilStateDescriptor, FrontFace, PrimitiveTopology, RasterizationStateDescriptor, | ||||
|         StencilStateFaceDescriptor, IndexFormat, | ||||
|         DepthStencilStateDescriptor, FrontFace, IndexFormat, PrimitiveTopology, | ||||
|         RasterizationStateDescriptor, StencilStateFaceDescriptor, | ||||
|     }, | ||||
|     BindGroup, PipelineLayout, VertexBufferDescriptor, | ||||
| }; | ||||
|  | ||||
| @ -6,10 +6,11 @@ use crate::{ | ||||
|                 BlendDescriptor, BlendFactor, BlendOperation, ColorStateDescriptor, ColorWrite, | ||||
|                 CompareFunction, CullMode, DepthStencilStateDescriptor, FrontFace, | ||||
|                 RasterizationStateDescriptor, StencilStateFaceDescriptor, | ||||
|             }, PipelineDescriptor, | ||||
|             }, | ||||
|             PipelineDescriptor, | ||||
|         }, | ||||
|         render_graph::RenderGraphBuilder, | ||||
|         render_resource::{resource_name}, | ||||
|         render_resource::resource_name, | ||||
|         shader::{Shader, ShaderStage}, | ||||
|         texture::TextureFormat, | ||||
|     }, | ||||
|  | ||||
| @ -171,4 +171,4 @@ impl Default for BlendOperation { | ||||
| pub enum IndexFormat { | ||||
|     Uint16 = 0, | ||||
|     Uint32 = 1, | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -20,4 +20,4 @@ pub struct VertexAttributeDescriptor { | ||||
|     pub offset: u64, | ||||
|     pub format: VertexFormat, | ||||
|     pub shader_location: u32, | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| use crate::math::{Vec2, Vec3, Vec4, Mat4}; | ||||
| use crate::math::{Mat4, Vec2, Vec3, Vec4}; | ||||
| 
 | ||||
| #[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] | ||||
| pub enum VertexFormat { | ||||
| @ -108,4 +108,4 @@ impl AsVertexFormats for Mat4 { | ||||
|             VertexFormat::Float4, | ||||
|         ] | ||||
|     } | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -36,7 +36,8 @@ impl RenderGraphBuilder { | ||||
|         if let Some(ref pass) = self.current_pass { | ||||
|             let name = pipeline.name.clone(); | ||||
|             let pipeline_descriptor_handle = pipeline_descriptor_storage.add(pipeline); | ||||
|             pipeline_descriptor_storage.set_name(name.unwrap().as_str(), pipeline_descriptor_handle); | ||||
|             pipeline_descriptor_storage | ||||
|                 .set_name(name.unwrap().as_str(), pipeline_descriptor_handle); | ||||
|             self.render_graph | ||||
|                 .add_pipeline(&pass, pipeline_descriptor_handle); | ||||
|         } | ||||
|  | ||||
| @ -281,10 +281,7 @@ mod tests { | ||||
|         // entity[0] is added to batch when it has both Handle<A> and Handle<B>
 | ||||
|         let mut expected_batch = Batch::default(); | ||||
|         expected_batch.add_entity(entities[0]); | ||||
|         assert_eq!( | ||||
|             asset_batchers.get_batch2(a1, b1).unwrap(), | ||||
|             &expected_batch | ||||
|         ); | ||||
|         assert_eq!(asset_batchers.get_batch2(a1, b1).unwrap(), &expected_batch); | ||||
|         asset_batchers.set_entity_handle(entities[0], c1); | ||||
| 
 | ||||
|         asset_batchers.set_entity_handle(entities[1], a1); | ||||
| @ -294,10 +291,7 @@ mod tests { | ||||
|         let mut expected_batch = Batch::default(); | ||||
|         expected_batch.add_entity(entities[0]); | ||||
|         expected_batch.add_entity(entities[1]); | ||||
|         assert_eq!( | ||||
|             asset_batchers.get_batch2(a1, b1).unwrap(), | ||||
|             &expected_batch | ||||
|         ); | ||||
|         assert_eq!(asset_batchers.get_batch2(a1, b1).unwrap(), &expected_batch); | ||||
| 
 | ||||
|         // uncreated batches are empty
 | ||||
|         assert_eq!(asset_batchers.get_batch2(a1, c1), None); | ||||
| @ -323,14 +317,14 @@ mod tests { | ||||
|                     handle1: a1.id, | ||||
|                     handle2: b1.id, | ||||
|                 }, | ||||
|                 expected_batch1 | ||||
|                 expected_batch1, | ||||
|             ), | ||||
|             ( | ||||
|                 BatchKey2 { | ||||
|                     handle1: a2.id, | ||||
|                     handle2: b2.id, | ||||
|                 }, | ||||
|                 expected_batch2 | ||||
|                 expected_batch2, | ||||
|             ), | ||||
|         ]; | ||||
|         expected_batches.sort_by(|a, b| a.0.cmp(&b.0)); | ||||
|  | ||||
| @ -1,13 +1,13 @@ | ||||
| mod asset_batcher; | ||||
| mod buffer; | ||||
| mod render_resource; | ||||
| mod resource_info; | ||||
| pub mod resource_name; | ||||
| mod resource_provider; | ||||
| mod asset_batcher; | ||||
| pub mod resource_providers; | ||||
| 
 | ||||
| pub use asset_batcher::*; | ||||
| pub use buffer::*; | ||||
| pub use render_resource::*; | ||||
| pub use resource_info::*; | ||||
| pub use resource_provider::*; | ||||
| pub use asset_batcher::*; | ||||
|  | ||||
| @ -30,4 +30,4 @@ pub mod pipeline { | ||||
|     pub const FORWARD: &str = "Forward"; | ||||
|     pub const FORWARD_FLAT: &str = "ForwardFlat"; | ||||
|     pub const UI: &str = "Ui"; | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -2,9 +2,9 @@ use crate::{ | ||||
|     asset::{AssetStorage, Handle}, | ||||
|     prelude::Renderable, | ||||
|     render::{ | ||||
|         render_resource::{BufferUsage, ResourceProvider, AssetBatchers}, | ||||
|         renderer::Renderer, | ||||
|         mesh::Mesh, | ||||
|         render_resource::{AssetBatchers, BufferUsage, ResourceProvider}, | ||||
|         renderer::Renderer, | ||||
|     }, | ||||
| }; | ||||
| use legion::{filter::*, prelude::*}; | ||||
|  | ||||
| @ -2,7 +2,7 @@ use crate::{ | ||||
|     asset::{AssetStorage, Handle}, | ||||
|     render::{ | ||||
|         pipeline::BindType, | ||||
|         render_resource::{BufferUsage, RenderResource, ResourceProvider, AssetBatchers}, | ||||
|         render_resource::{AssetBatchers, BufferUsage, RenderResource, ResourceProvider}, | ||||
|         renderer::Renderer, | ||||
|         shader::{AsUniforms, DynamicUniformBufferInfo, UniformInfoIter}, | ||||
|         texture::{SamplerDescriptor, Texture, TextureDescriptor}, | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| use crate::{ | ||||
|     legion::prelude::*, | ||||
|     render::{ | ||||
|         pipeline::{VertexBufferDescriptor, PipelineDescriptor}, | ||||
|         pipeline::{PipelineDescriptor, VertexBufferDescriptor}, | ||||
|         render_graph::RenderGraph, | ||||
|         render_resource::{BufferUsage, RenderResource, RenderResources, ResourceInfo}, | ||||
|         shader::DynamicUniformBufferInfo, | ||||
|  | ||||
| @ -7,7 +7,10 @@ use crate::{ | ||||
|             PassDescriptor, RenderPassColorAttachmentDescriptor, | ||||
|             RenderPassDepthStencilAttachmentDescriptor, | ||||
|         }, | ||||
|         pipeline::{BindType, PipelineDescriptor, PipelineLayout, PipelineLayoutType, VertexBufferDescriptor}, | ||||
|         pipeline::{ | ||||
|             BindType, PipelineDescriptor, PipelineLayout, PipelineLayoutType, | ||||
|             VertexBufferDescriptor, | ||||
|         }, | ||||
|         render_graph::RenderGraph, | ||||
|         render_resource::{ | ||||
|             resource_name, BufferUsage, RenderResource, RenderResources, ResourceInfo, | ||||
| @ -712,16 +715,13 @@ impl Renderer for WgpuRenderer { | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     fn set_vertex_buffer_descriptor( | ||||
|         &mut self, | ||||
|         vertex_buffer_descriptor: VertexBufferDescriptor, | ||||
|     ) { | ||||
|         self.vertex_buffer_descriptors.insert(vertex_buffer_descriptor.name.to_string(), vertex_buffer_descriptor); | ||||
|     fn set_vertex_buffer_descriptor(&mut self, vertex_buffer_descriptor: VertexBufferDescriptor) { | ||||
|         self.vertex_buffer_descriptors.insert( | ||||
|             vertex_buffer_descriptor.name.to_string(), | ||||
|             vertex_buffer_descriptor, | ||||
|         ); | ||||
|     } | ||||
|     fn get_vertex_buffer_descriptor( | ||||
|         &self, | ||||
|         name: &str | ||||
|     ) -> Option<&VertexBufferDescriptor> { | ||||
|     fn get_vertex_buffer_descriptor(&self, name: &str) -> Option<&VertexBufferDescriptor> { | ||||
|         self.vertex_buffer_descriptors.get(name) | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -57,9 +57,7 @@ impl WgpuResources { | ||||
|             for binding in bind_group.bindings.iter() { | ||||
|                 let resource = match self.render_resources.get_named_resource(&binding.name) { | ||||
|                     resource @ Some(_) => resource, | ||||
|                     None => { | ||||
|                         return | ||||
|                     } | ||||
|                     None => return, | ||||
|                 }; | ||||
| 
 | ||||
|                 if let Some(resource) = resource { | ||||
| @ -108,12 +106,8 @@ impl WgpuResources { | ||||
|             }; | ||||
| 
 | ||||
|             let bind_group = device.create_bind_group(&bind_group_descriptor); | ||||
|             self.bind_groups.insert( | ||||
|                 bind_group_id, | ||||
|                 BindGroupInfo { | ||||
|                     bind_group, | ||||
|                 }, | ||||
|             ); | ||||
|             self.bind_groups | ||||
|                 .insert(bind_group_id, BindGroupInfo { bind_group }); | ||||
|         } | ||||
|     } | ||||
|     pub fn get_entity_bind_group( | ||||
| @ -187,12 +181,8 @@ impl WgpuResources { | ||||
| 
 | ||||
|         let bind_group = device.create_bind_group(&bind_group_descriptor); | ||||
|         // TODO: storing a large number entity bind groups might actually be really bad. make sure this is ok
 | ||||
|         self.entity_bind_groups.insert( | ||||
|             (entity, bind_group_id), | ||||
|             BindGroupInfo { | ||||
|                 bind_group, | ||||
|             }, | ||||
|         ); | ||||
|         self.entity_bind_groups | ||||
|             .insert((entity, bind_group_id), BindGroupInfo { bind_group }); | ||||
|     } | ||||
| 
 | ||||
|     pub fn create_buffer( | ||||
|  | ||||
| @ -14,8 +14,8 @@ use crate::{ | ||||
|         }, | ||||
|         render_resource::BufferUsage, | ||||
|         texture::{ | ||||
|             AddressMode, Extent3d, SamplerDescriptor, TextureDescriptor, TextureDimension, | ||||
|             TextureFormat, TextureUsage, TextureViewDimension, FilterMode, | ||||
|             AddressMode, Extent3d, FilterMode, SamplerDescriptor, TextureDescriptor, | ||||
|             TextureDimension, TextureFormat, TextureUsage, TextureViewDimension, | ||||
|         }, | ||||
|     }, | ||||
| }; | ||||
| @ -472,4 +472,4 @@ impl From<FilterMode> for wgpu::FilterMode { | ||||
|             FilterMode::Linear => wgpu::FilterMode::Linear, | ||||
|         } | ||||
|     } | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -383,14 +383,12 @@ mod tests { | ||||
|                     }, | ||||
|                     VertexBufferDescriptor { | ||||
|                         name: "TestInstancing".to_string(), | ||||
|                         attributes: vec![ | ||||
|                             VertexAttributeDescriptor { | ||||
|                                 name: "I_TestInstancing_Property".to_string(), | ||||
|                                 format: VertexFormat::Uint4, | ||||
|                                 offset: 0, | ||||
|                                 shader_location: 2, | ||||
|                             }, | ||||
|                         ], | ||||
|                         attributes: vec![VertexAttributeDescriptor { | ||||
|                             name: "I_TestInstancing_Property".to_string(), | ||||
|                             format: VertexFormat::Uint4, | ||||
|                             offset: 0, | ||||
|                             shader_location: 2, | ||||
|                         },], | ||||
|                         step_mode: InputStepMode::Instance, | ||||
|                         stride: 16, | ||||
|                     } | ||||
|  | ||||
| @ -19,37 +19,38 @@ static LOCAL_TO_WORLD_FIELD_INFOS: &[FieldInfo] = &[FieldInfo { | ||||
|     is_instanceable: true, | ||||
| }]; | ||||
| 
 | ||||
| static VERTEX_BUFFER_DESCRIPTOR: Lazy<VertexBufferDescriptor> = Lazy::new(|| VertexBufferDescriptor { | ||||
|     attributes: vec![ | ||||
|         VertexAttributeDescriptor { | ||||
|             name: "I_Object_Matrix_0".to_string(), | ||||
|             format: VertexFormat::Float4, | ||||
|             offset: 0, | ||||
|             shader_location: 0, | ||||
|         }, | ||||
|         VertexAttributeDescriptor { | ||||
|             name: "I_Object_Matrix_1".to_string(), | ||||
|             format: VertexFormat::Float4, | ||||
|             offset: 16, | ||||
|             shader_location: 0, | ||||
|         }, | ||||
|         VertexAttributeDescriptor { | ||||
|             name: "I_Object_Matrix_2".to_string(), | ||||
|             format: VertexFormat::Float4, | ||||
|             offset: 32, | ||||
|             shader_location: 0, | ||||
|         }, | ||||
|         VertexAttributeDescriptor { | ||||
|             name: "I_Object_Matrix_3".to_string(), | ||||
|             format: VertexFormat::Float4, | ||||
|             offset: 48, | ||||
|             shader_location: 0, | ||||
|         }, | ||||
|     ], | ||||
|     name: "Object".to_string(), | ||||
|     step_mode: InputStepMode::Instance, | ||||
|     stride: 64, | ||||
| }); | ||||
| static VERTEX_BUFFER_DESCRIPTOR: Lazy<VertexBufferDescriptor> = | ||||
|     Lazy::new(|| VertexBufferDescriptor { | ||||
|         attributes: vec![ | ||||
|             VertexAttributeDescriptor { | ||||
|                 name: "I_Object_Matrix_0".to_string(), | ||||
|                 format: VertexFormat::Float4, | ||||
|                 offset: 0, | ||||
|                 shader_location: 0, | ||||
|             }, | ||||
|             VertexAttributeDescriptor { | ||||
|                 name: "I_Object_Matrix_1".to_string(), | ||||
|                 format: VertexFormat::Float4, | ||||
|                 offset: 16, | ||||
|                 shader_location: 0, | ||||
|             }, | ||||
|             VertexAttributeDescriptor { | ||||
|                 name: "I_Object_Matrix_2".to_string(), | ||||
|                 format: VertexFormat::Float4, | ||||
|                 offset: 32, | ||||
|                 shader_location: 0, | ||||
|             }, | ||||
|             VertexAttributeDescriptor { | ||||
|                 name: "I_Object_Matrix_3".to_string(), | ||||
|                 format: VertexFormat::Float4, | ||||
|                 offset: 48, | ||||
|                 shader_location: 0, | ||||
|             }, | ||||
|         ], | ||||
|         name: "Object".to_string(), | ||||
|         step_mode: InputStepMode::Instance, | ||||
|         stride: 64, | ||||
|     }); | ||||
| 
 | ||||
| impl AsUniforms for bevy_transform::prelude::LocalToWorld { | ||||
|     fn get_field_infos(&self) -> &[FieldInfo] { | ||||
|  | ||||
| @ -1,4 +1,7 @@ | ||||
| use crate::{asset::Handle, render::{Color, texture::Texture}}; | ||||
| use crate::{ | ||||
|     asset::Handle, | ||||
|     render::{texture::Texture, Color}, | ||||
| }; | ||||
| 
 | ||||
| use crate as bevy; // for macro imports
 | ||||
| use bevy_derive::Uniforms; | ||||
|  | ||||
| @ -1,9 +1,9 @@ | ||||
| mod texture; | ||||
| mod sampler_descriptor; | ||||
| mod texture; | ||||
| mod texture_descriptor; | ||||
| mod texture_dimension; | ||||
| 
 | ||||
| pub use texture::*; | ||||
| pub use sampler_descriptor::*; | ||||
| pub use texture::*; | ||||
| pub use texture_descriptor::*; | ||||
| pub use texture_dimension::*; | ||||
|  | ||||
| @ -10,7 +10,6 @@ pub enum TextureViewDimension { | ||||
|     D3, | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| #[derive(Copy, Clone, Debug, Hash)] | ||||
| pub enum TextureDimension { | ||||
|     D1, | ||||
| @ -106,4 +105,4 @@ bitflags::bitflags! { | ||||
|         const ORDERED = Self::READ_ALL.bits | Self::OUTPUT_ATTACHMENT.bits; | ||||
|         const UNINITIALIZED = 0xFFFF; | ||||
|     } | ||||
| } | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Carter Anderson
						Carter Anderson