1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// Depreacted, for now
todo!("remove");
use crate::renderer::Material;
use crate::system::System;
pub struct MaterialBuilder {
name: String,
// vertex_shader: String,
// fragment_shader: String,
}
impl MaterialBuilder {
pub fn new() -> Self {
Self {
name: String::new(),
// vertex_shader: String::new(),
// fragment_shader: String::new(),
}
}
pub fn with_name( mut self, name: &str ) -> Self {
self.name = name.to_string();
self
}
/*
pub fn with_vertex_shader( mut self, name: &str ) -> Self {
self.vertex_shader = name.to_string();
self
}
pub fn with_fragment_shader( mut self, name: &str ) -> Self {
self.fragment_shader = name.to_string();
self
}
*/
pub fn build_with_system( &self, system: &mut System ) -> Material {
let mut m = Material::new();
/*
let mut vsf = system.default_filesystem_mut().open( &self.vertex_shader );
let vs = vsf.read_as_string();
let mut fsf = system.default_filesystem_mut().open( &self.fragment_shader );
let fs = fsf.read_as_string();
m.add_vertex_shader( &vs );
m.add_fragment_shader( &fs );
m.link();
*/
m
}
}