11pub mod visibility;
22pub mod window;
33
4+ use bevy_asset:: { load_internal_asset, HandleUntyped } ;
45pub use visibility:: * ;
56pub use window:: * ;
67
78use crate :: {
89 camera:: ExtractedCamera ,
910 extract_resource:: { ExtractResource , ExtractResourcePlugin } ,
10- prelude:: Image ,
11+ prelude:: { Image , Shader } ,
1112 render_asset:: RenderAssets ,
1213 render_phase:: ViewRangefinder3d ,
1314 render_resource:: { DynamicUniformBuffer , ShaderType , Texture , TextureView } ,
@@ -18,7 +19,7 @@ use crate::{
1819use bevy_app:: { App , Plugin } ;
1920use bevy_ecs:: prelude:: * ;
2021use bevy_math:: { Mat4 , UVec4 , Vec3 , Vec4 } ;
21- use bevy_reflect:: Reflect ;
22+ use bevy_reflect:: { Reflect , TypeUuid } ;
2223use bevy_transform:: components:: GlobalTransform ;
2324use bevy_utils:: HashMap ;
2425use std:: sync:: atomic:: { AtomicUsize , Ordering } ;
@@ -27,10 +28,15 @@ use wgpu::{
2728 TextureFormat , TextureUsages ,
2829} ;
2930
31+ pub const VIEW_TYPE_HANDLE : HandleUntyped =
32+ HandleUntyped :: weak_from_u64 ( Shader :: TYPE_UUID , 15421373904451797197 ) ;
33+
3034pub struct ViewPlugin ;
3135
3236impl Plugin for ViewPlugin {
3337 fn build ( & self , app : & mut App ) {
38+ load_internal_asset ! ( app, VIEW_TYPE_HANDLE , "view.wgsl" , Shader :: from_wgsl) ;
39+
3440 app. register_type :: < ComputedVisibility > ( )
3541 . register_type :: < ComputedVisibilityFlags > ( )
3642 . register_type :: < Msaa > ( )
0 commit comments