use bevy::{asset::load_internal_asset, prelude::*};
use bevy::asset::VisitAssetDependencies;
use bevy::reflect::TypePath;
use bevy::render::render_resource::*;
use bevy::render::render_asset::RenderAssets;
use bevy::pbr::StandardMaterialFlags;
use bevy::pbr::StandardMaterialUniform;
use bevy::pbr::MaterialExtension;
use bevy::pbr::ExtendedMaterial;
pub const FOLIAGE_SHADER_HANDLE: Handle<Shader> = Handle::weak_from_u128(1653284996028047579);
pub type FoliageMaterialExtension = ExtendedMaterial<StandardMaterial, FoliageMaterial>;
pub fn foliage_material_plugin(app: &mut App) {
load_internal_asset!(
app,
FOLIAGE_SHADER_HANDLE,
"shaders/foliage2.wgsl",
Shader::from_wgsl
);
app.add_plugins(MaterialPlugin::<FoliageMaterialExtension>::default());
}
#[derive(Asset, AsBindGroup, TypePath, Clone, Debug, Default)]
pub struct FoliageMaterial {
}
impl MaterialExtension for FoliageMaterial {
}