Use wildcard imports in bevy_pbr (#9847)
# Objective - the style of import used by bevy guarantees merge conflicts when any file change - This is especially true when import lists are large, such as in `bevy_pbr` - Merge conflicts are tricky to resolve. This bogs down rendering PRs and makes contributing to bevy's rendering system more difficult than it needs to ## Solution - Use wildcard imports to replace multiline import list in `bevy_pbr` I suspect this is controversial, but I'd like to hear alternatives. Because this is one of many papercuts that makes developing render features near impossible.
This commit is contained in:
parent
756fb069b1
commit
66f72dd25b
@ -6,10 +6,7 @@ use bevy_reflect::Reflect;
|
|||||||
use bevy_render::{
|
use bevy_render::{
|
||||||
extract_component::{ExtractComponent, ExtractComponentPlugin},
|
extract_component::{ExtractComponent, ExtractComponentPlugin},
|
||||||
render_asset::RenderAssets,
|
render_asset::RenderAssets,
|
||||||
render_resource::{
|
render_resource::*,
|
||||||
BindGroupLayoutEntry, BindingType, Sampler, SamplerBindingType, Shader, ShaderStages,
|
|
||||||
TextureSampleType, TextureView, TextureViewDimension,
|
|
||||||
},
|
|
||||||
texture::{FallbackImageCubemap, Image},
|
texture::{FallbackImageCubemap, Image},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -17,12 +17,7 @@ use bevy_render::{
|
|||||||
use bevy_transform::{components::GlobalTransform, prelude::Transform};
|
use bevy_transform::{components::GlobalTransform, prelude::Transform};
|
||||||
use bevy_utils::{tracing::warn, HashMap};
|
use bevy_utils::{tracing::warn, HashMap};
|
||||||
|
|
||||||
use crate::{
|
use crate::*;
|
||||||
calculate_cluster_factors, spot_light_projection_matrix, spot_light_view_matrix,
|
|
||||||
CascadesVisibleEntities, CubeMapFace, CubemapVisibleEntities, ViewClusterBindings,
|
|
||||||
CLUSTERED_FORWARD_STORAGE_BUFFER_COUNT, CUBE_MAP_FACES, MAX_UNIFORM_BUFFER_POINT_LIGHTS,
|
|
||||||
POINT_LIGHT_NEAR_Z,
|
|
||||||
};
|
|
||||||
|
|
||||||
/// A light that emits light in all directions from a central point.
|
/// A light that emits light in all directions from a central point.
|
||||||
///
|
///
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
use crate::{
|
use crate::*;
|
||||||
render, AlphaMode, DrawMesh, DrawPrepass, EnvironmentMapLight, MeshPipeline, MeshPipelineKey,
|
|
||||||
PrepassPipelinePlugin, PrepassPlugin, RenderMeshInstances, ScreenSpaceAmbientOcclusionSettings,
|
|
||||||
SetMeshBindGroup, SetMeshViewBindGroup, Shadow, ShadowFilteringMethod,
|
|
||||||
};
|
|
||||||
use bevy_app::{App, Plugin};
|
use bevy_app::{App, Plugin};
|
||||||
use bevy_asset::{Asset, AssetApp, AssetEvent, AssetId, AssetServer, Assets, Handle};
|
use bevy_asset::{Asset, AssetApp, AssetEvent, AssetId, AssetServer, Assets, Handle};
|
||||||
use bevy_core_pipeline::{
|
use bevy_core_pipeline::{
|
||||||
@ -24,15 +20,8 @@ use bevy_render::{
|
|||||||
mesh::{Mesh, MeshVertexBufferLayout},
|
mesh::{Mesh, MeshVertexBufferLayout},
|
||||||
prelude::Image,
|
prelude::Image,
|
||||||
render_asset::{prepare_assets, RenderAssets},
|
render_asset::{prepare_assets, RenderAssets},
|
||||||
render_phase::{
|
render_phase::*,
|
||||||
AddRenderCommand, DrawFunctions, PhaseItem, RenderCommand, RenderCommandResult,
|
render_resource::*,
|
||||||
RenderPhase, SetItemPipeline, TrackedRenderPass,
|
|
||||||
},
|
|
||||||
render_resource::{
|
|
||||||
AsBindGroup, AsBindGroupError, BindGroup, BindGroupId, BindGroupLayout,
|
|
||||||
OwnedBindingResource, PipelineCache, RenderPipelineDescriptor, Shader, ShaderRef,
|
|
||||||
SpecializedMeshPipeline, SpecializedMeshPipelineError, SpecializedMeshPipelines,
|
|
||||||
},
|
|
||||||
renderer::RenderDevice,
|
renderer::RenderDevice,
|
||||||
texture::FallbackImage,
|
texture::FallbackImage,
|
||||||
view::{ExtractedView, Msaa, VisibleEntities},
|
view::{ExtractedView, Msaa, VisibleEntities},
|
||||||
@ -42,7 +31,7 @@ use bevy_utils::{tracing::error, HashMap, HashSet};
|
|||||||
use std::hash::Hash;
|
use std::hash::Hash;
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
|
|
||||||
/// Materials are used alongside [`MaterialPlugin`] and [`MaterialMeshBundle`](crate::MaterialMeshBundle)
|
/// Materials are used alongside [`MaterialPlugin`] and [`MaterialMeshBundle`]
|
||||||
/// to spawn entities that are rendered with a specific [`Material`] type. They serve as an easy to use high level
|
/// to spawn entities that are rendered with a specific [`Material`] type. They serve as an easy to use high level
|
||||||
/// way to render [`Mesh`] entities with custom shader logic.
|
/// way to render [`Mesh`] entities with custom shader logic.
|
||||||
///
|
///
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
use crate::{
|
|
||||||
deferred::DEFAULT_PBR_DEFERRED_LIGHTING_PASS_ID, AlphaMode, Material, MaterialPipeline,
|
|
||||||
MaterialPipelineKey, OpaqueRendererMethod, ParallaxMappingMethod, PBR_PREPASS_SHADER_HANDLE,
|
|
||||||
PBR_SHADER_HANDLE,
|
|
||||||
};
|
|
||||||
use bevy_asset::{Asset, Handle};
|
use bevy_asset::{Asset, Handle};
|
||||||
use bevy_math::Vec4;
|
use bevy_math::Vec4;
|
||||||
use bevy_reflect::{std_traits::ReflectDefault, Reflect};
|
use bevy_reflect::{std_traits::ReflectDefault, Reflect};
|
||||||
@ -11,6 +6,9 @@ use bevy_render::{
|
|||||||
texture::Image,
|
texture::Image,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
use crate::deferred::DEFAULT_PBR_DEFERRED_LIGHTING_PASS_ID;
|
||||||
|
use crate::*;
|
||||||
|
|
||||||
/// A material with "standard" properties used in PBR lighting
|
/// A material with "standard" properties used in PBR lighting
|
||||||
/// Standard property values with pictures here
|
/// Standard property values with pictures here
|
||||||
/// <https://google.github.io/filament/Material%20Properties.pdf>.
|
/// <https://google.github.io/filament/Material%20Properties.pdf>.
|
||||||
|
@ -4,18 +4,8 @@ pub use prepass_bindings::*;
|
|||||||
|
|
||||||
use bevy_app::{Plugin, PreUpdate};
|
use bevy_app::{Plugin, PreUpdate};
|
||||||
use bevy_asset::{load_internal_asset, AssetServer, Handle};
|
use bevy_asset::{load_internal_asset, AssetServer, Handle};
|
||||||
use bevy_core_pipeline::{
|
use bevy_core_pipeline::{core_3d::CORE_3D_DEPTH_FORMAT, prelude::Camera3d};
|
||||||
core_3d::CORE_3D_DEPTH_FORMAT,
|
use bevy_core_pipeline::{deferred::*, prepass::*};
|
||||||
deferred::{
|
|
||||||
AlphaMask3dDeferred, Opaque3dDeferred, DEFERRED_LIGHTING_PASS_ID_FORMAT,
|
|
||||||
DEFERRED_PREPASS_FORMAT,
|
|
||||||
},
|
|
||||||
prelude::Camera3d,
|
|
||||||
prepass::{
|
|
||||||
AlphaMask3dPrepass, DeferredPrepass, DepthPrepass, MotionVectorPrepass, NormalPrepass,
|
|
||||||
Opaque3dPrepass, MOTION_VECTOR_PREPASS_FORMAT, NORMAL_PREPASS_FORMAT,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
use bevy_ecs::{
|
use bevy_ecs::{
|
||||||
prelude::*,
|
prelude::*,
|
||||||
system::{
|
system::{
|
||||||
@ -30,19 +20,8 @@ use bevy_render::{
|
|||||||
mesh::MeshVertexBufferLayout,
|
mesh::MeshVertexBufferLayout,
|
||||||
prelude::{Camera, Mesh},
|
prelude::{Camera, Mesh},
|
||||||
render_asset::RenderAssets,
|
render_asset::RenderAssets,
|
||||||
render_phase::{
|
render_phase::*,
|
||||||
AddRenderCommand, DrawFunctions, PhaseItem, RenderCommand, RenderCommandResult,
|
render_resource::*,
|
||||||
RenderPhase, SetItemPipeline, TrackedRenderPass,
|
|
||||||
},
|
|
||||||
render_resource::{
|
|
||||||
BindGroup, BindGroupEntries, BindGroupLayout, BindGroupLayoutDescriptor,
|
|
||||||
BindGroupLayoutEntry, BindingType, BufferBindingType, ColorTargetState, ColorWrites,
|
|
||||||
CompareFunction, DepthBiasState, DepthStencilState, DynamicUniformBuffer, FragmentState,
|
|
||||||
FrontFace, MultisampleState, PipelineCache, PolygonMode, PrimitiveState, PushConstantRange,
|
|
||||||
RenderPipelineDescriptor, Shader, ShaderRef, ShaderStages, ShaderType,
|
|
||||||
SpecializedMeshPipeline, SpecializedMeshPipelineError, SpecializedMeshPipelines,
|
|
||||||
StencilFaceState, StencilState, VertexState,
|
|
||||||
},
|
|
||||||
renderer::{RenderDevice, RenderQueue},
|
renderer::{RenderDevice, RenderQueue},
|
||||||
view::{ExtractedView, Msaa, ViewUniform, ViewUniformOffset, ViewUniforms, VisibleEntities},
|
view::{ExtractedView, Msaa, ViewUniform, ViewUniformOffset, ViewUniforms, VisibleEntities},
|
||||||
Extract, ExtractSchedule, Render, RenderApp, RenderSet,
|
Extract, ExtractSchedule, Render, RenderApp, RenderSet,
|
||||||
@ -50,12 +29,7 @@ use bevy_render::{
|
|||||||
use bevy_transform::prelude::GlobalTransform;
|
use bevy_transform::prelude::GlobalTransform;
|
||||||
use bevy_utils::tracing::error;
|
use bevy_utils::tracing::error;
|
||||||
|
|
||||||
use crate::{
|
use crate::*;
|
||||||
prepare_materials, setup_morph_and_skinning_defs, AlphaMode, DrawMesh, Material,
|
|
||||||
MaterialPipeline, MaterialPipelineKey, MeshLayouts, MeshPipeline, MeshPipelineKey,
|
|
||||||
OpaqueRendererMethod, RenderMaterialInstances, RenderMaterials, RenderMeshInstances,
|
|
||||||
SetMaterialBindGroup, SetMeshBindGroup,
|
|
||||||
};
|
|
||||||
|
|
||||||
use std::{hash::Hash, marker::PhantomData};
|
use std::{hash::Hash, marker::PhantomData};
|
||||||
|
|
||||||
|
@ -1,11 +1,3 @@
|
|||||||
use crate::{
|
|
||||||
directional_light_order, point_light_order, AlphaMode, AmbientLight, Cascade,
|
|
||||||
CascadeShadowConfig, Cascades, CascadesVisibleEntities, Clusters, CubemapVisibleEntities,
|
|
||||||
DirectionalLight, DirectionalLightShadowMap, DrawPrepass, EnvironmentMapLight,
|
|
||||||
GlobalVisiblePointLights, Material, MaterialPipelineKey, MeshPipeline, MeshPipelineKey,
|
|
||||||
PointLight, PointLightShadowMap, PrepassPipeline, RenderMaterialInstances, RenderMaterials,
|
|
||||||
RenderMeshInstances, SpotLight, VisiblePointLights,
|
|
||||||
};
|
|
||||||
use bevy_core_pipeline::core_3d::{Transparent3d, CORE_3D_DEPTH_FORMAT};
|
use bevy_core_pipeline::core_3d::{Transparent3d, CORE_3D_DEPTH_FORMAT};
|
||||||
use bevy_ecs::prelude::*;
|
use bevy_ecs::prelude::*;
|
||||||
use bevy_math::{Mat4, UVec3, UVec4, Vec2, Vec3, Vec3Swizzles, Vec4, Vec4Swizzles};
|
use bevy_math::{Mat4, UVec3, UVec4, Vec2, Vec3, Vec3Swizzles, Vec4, Vec4Swizzles};
|
||||||
@ -15,9 +7,7 @@ use bevy_render::{
|
|||||||
mesh::Mesh,
|
mesh::Mesh,
|
||||||
render_asset::RenderAssets,
|
render_asset::RenderAssets,
|
||||||
render_graph::{Node, NodeRunError, RenderGraphContext},
|
render_graph::{Node, NodeRunError, RenderGraphContext},
|
||||||
render_phase::{
|
render_phase::*,
|
||||||
CachedRenderPipelinePhaseItem, DrawFunctionId, DrawFunctions, PhaseItem, RenderPhase,
|
|
||||||
},
|
|
||||||
render_resource::*,
|
render_resource::*,
|
||||||
renderer::{RenderContext, RenderDevice, RenderQueue},
|
renderer::{RenderContext, RenderDevice, RenderQueue},
|
||||||
texture::*,
|
texture::*,
|
||||||
@ -32,6 +22,8 @@ use bevy_utils::{
|
|||||||
};
|
};
|
||||||
use std::{hash::Hash, num::NonZeroU64, ops::Range};
|
use std::{hash::Hash, num::NonZeroU64, ops::Range};
|
||||||
|
|
||||||
|
use crate::*;
|
||||||
|
|
||||||
#[derive(Component)]
|
#[derive(Component)]
|
||||||
pub struct ExtractedPointLight {
|
pub struct ExtractedPointLight {
|
||||||
color: Color,
|
color: Color,
|
||||||
|
@ -1,10 +1,3 @@
|
|||||||
use crate::{
|
|
||||||
generate_view_layouts, prepare_mesh_view_bind_groups, MaterialBindGroupId,
|
|
||||||
MeshPipelineViewLayout, MeshPipelineViewLayoutKey, MeshViewBindGroup, NotShadowCaster,
|
|
||||||
NotShadowReceiver, PreviousGlobalTransform, Shadow, ViewFogUniformOffset,
|
|
||||||
ViewLightsUniformOffset, CLUSTERED_FORWARD_STORAGE_BUFFER_COUNT, MAX_CASCADES_PER_LIGHT,
|
|
||||||
MAX_DIRECTIONAL_LIGHTS,
|
|
||||||
};
|
|
||||||
use bevy_app::{Plugin, PostUpdate};
|
use bevy_app::{Plugin, PostUpdate};
|
||||||
use bevy_asset::{load_internal_asset, AssetId, Handle};
|
use bevy_asset::{load_internal_asset, AssetId, Handle};
|
||||||
use bevy_core_pipeline::{
|
use bevy_core_pipeline::{
|
||||||
@ -23,17 +16,12 @@ use bevy_render::{
|
|||||||
batch_and_prepare_render_phase, write_batched_instance_buffer, GetBatchData,
|
batch_and_prepare_render_phase, write_batched_instance_buffer, GetBatchData,
|
||||||
NoAutomaticBatching,
|
NoAutomaticBatching,
|
||||||
},
|
},
|
||||||
mesh::{
|
mesh::*,
|
||||||
GpuBufferInfo, InnerMeshVertexBufferLayout, Mesh, MeshVertexBufferLayout,
|
|
||||||
VertexAttributeDescriptor,
|
|
||||||
},
|
|
||||||
render_asset::RenderAssets,
|
render_asset::RenderAssets,
|
||||||
render_phase::{PhaseItem, RenderCommand, RenderCommandResult, TrackedRenderPass},
|
render_phase::{PhaseItem, RenderCommand, RenderCommandResult, TrackedRenderPass},
|
||||||
render_resource::*,
|
render_resource::*,
|
||||||
renderer::{RenderDevice, RenderQueue},
|
renderer::{RenderDevice, RenderQueue},
|
||||||
texture::{
|
texture::*,
|
||||||
BevyDefault, DefaultImageSampler, GpuImage, Image, ImageSampler, TextureFormatPixelInfo,
|
|
||||||
},
|
|
||||||
view::{ViewTarget, ViewUniformOffset, ViewVisibility},
|
view::{ViewTarget, ViewUniformOffset, ViewVisibility},
|
||||||
Extract, ExtractSchedule, Render, RenderApp, RenderSet,
|
Extract, ExtractSchedule, Render, RenderApp, RenderSet,
|
||||||
};
|
};
|
||||||
@ -58,6 +46,7 @@ use crate::render::{
|
|||||||
skin::{extract_skins, no_automatic_skin_batching, prepare_skins, SkinUniform},
|
skin::{extract_skins, no_automatic_skin_batching, prepare_skins, SkinUniform},
|
||||||
MeshLayouts,
|
MeshLayouts,
|
||||||
};
|
};
|
||||||
|
use crate::*;
|
||||||
|
|
||||||
use super::skin::SkinIndices;
|
use super::skin::SkinIndices;
|
||||||
|
|
||||||
|
@ -1,13 +1,7 @@
|
|||||||
//! Bind group layout related definitions for the mesh pipeline.
|
//! Bind group layout related definitions for the mesh pipeline.
|
||||||
|
|
||||||
use bevy_math::Mat4;
|
use bevy_math::Mat4;
|
||||||
use bevy_render::{
|
use bevy_render::{mesh::morph::MAX_MORPH_WEIGHTS, render_resource::*, renderer::RenderDevice};
|
||||||
mesh::morph::MAX_MORPH_WEIGHTS,
|
|
||||||
render_resource::{
|
|
||||||
BindGroup, BindGroupLayout, BindGroupLayoutDescriptor, BindingResource, Buffer, TextureView,
|
|
||||||
},
|
|
||||||
renderer::RenderDevice,
|
|
||||||
};
|
|
||||||
|
|
||||||
use crate::render::skin::MAX_JOINTS;
|
use crate::render::skin::MAX_JOINTS;
|
||||||
|
|
||||||
@ -67,7 +61,7 @@ mod layout_entry {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// Individual [`BindGroupEntry`](bevy_render::render_resource::BindGroupEntry)
|
/// Individual [`BindGroupEntry`]
|
||||||
/// for bind groups.
|
/// for bind groups.
|
||||||
mod entry {
|
mod entry {
|
||||||
use super::{JOINT_BUFFER_SIZE, MORPH_BUFFER_SIZE};
|
use super::{JOINT_BUFFER_SIZE, MORPH_BUFFER_SIZE};
|
||||||
|
@ -20,15 +20,7 @@ use bevy_render::{
|
|||||||
globals::{GlobalsBuffer, GlobalsUniform},
|
globals::{GlobalsBuffer, GlobalsUniform},
|
||||||
prelude::Camera,
|
prelude::Camera,
|
||||||
render_graph::{NodeRunError, RenderGraphApp, RenderGraphContext, ViewNode, ViewNodeRunner},
|
render_graph::{NodeRunError, RenderGraphApp, RenderGraphContext, ViewNode, ViewNodeRunner},
|
||||||
render_resource::{
|
render_resource::*,
|
||||||
AddressMode, BindGroup, BindGroupEntries, BindGroupLayout, BindGroupLayoutDescriptor,
|
|
||||||
BindGroupLayoutEntry, BindingType, BufferBindingType, CachedComputePipelineId,
|
|
||||||
ComputePassDescriptor, ComputePipelineDescriptor, Extent3d, FilterMode, PipelineCache,
|
|
||||||
Sampler, SamplerBindingType, SamplerDescriptor, Shader, ShaderDefVal, ShaderStages,
|
|
||||||
ShaderType, SpecializedComputePipeline, SpecializedComputePipelines, StorageTextureAccess,
|
|
||||||
TextureDescriptor, TextureDimension, TextureFormat, TextureSampleType, TextureUsages,
|
|
||||||
TextureView, TextureViewDescriptor, TextureViewDimension,
|
|
||||||
},
|
|
||||||
renderer::{RenderAdapter, RenderContext, RenderDevice, RenderQueue},
|
renderer::{RenderAdapter, RenderContext, RenderDevice, RenderQueue},
|
||||||
texture::{CachedTexture, TextureCache},
|
texture::{CachedTexture, TextureCache},
|
||||||
view::{Msaa, ViewUniform, ViewUniformOffset, ViewUniforms},
|
view::{Msaa, ViewUniform, ViewUniformOffset, ViewUniforms},
|
||||||
|
@ -7,10 +7,8 @@ use bevy_render::{
|
|||||||
color::Color,
|
color::Color,
|
||||||
extract_resource::ExtractResource,
|
extract_resource::ExtractResource,
|
||||||
mesh::{Mesh, MeshVertexBufferLayout},
|
mesh::{Mesh, MeshVertexBufferLayout},
|
||||||
prelude::Shader,
|
prelude::*,
|
||||||
render_resource::{
|
render_resource::*,
|
||||||
AsBindGroup, PolygonMode, RenderPipelineDescriptor, ShaderRef, SpecializedMeshPipelineError,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const WIREFRAME_SHADER_HANDLE: Handle<Shader> = Handle::weak_from_u128(192598014480025766);
|
pub const WIREFRAME_SHADER_HANDLE: Handle<Shader> = Handle::weak_from_u128(192598014480025766);
|
||||||
|
Loading…
Reference in New Issue
Block a user