1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use bevy::prelude::{Assets, MaterialPlugin, Plugin, Shader};

use crate::{prelude::PointsMaterial, SHADER_HANDLE};

pub struct PointsPlugin;

impl Plugin for PointsPlugin {
    fn build(&self, app: &mut bevy::prelude::App) {
        let mut shaders = app.world.get_resource_mut::<Assets<Shader>>().unwrap();
        shaders.set_untracked(
            SHADER_HANDLE,
            Shader::from_wgsl(include_str!("./shaders/points.wgsl")),
        );
        app.add_plugin(MaterialPlugin::<PointsMaterial>::default());
    }
}