@@ -51,6 +51,8 @@ pub struct RustFileInfo {
51
51
shader_texture : Vec < ( String , usize ) > ,
52
52
#[ serde( default = "default_obj_files" ) ]
53
53
obj_files : Vec < PathBuf > ,
54
+ #[ serde( default = "default_object_shader" ) ]
55
+ object_shader : Vec < ( String , String ) > ,
54
56
}
55
57
56
58
fn default_textures ( ) -> Vec < PathBuf > {
@@ -65,6 +67,10 @@ fn default_obj_files() -> Vec<PathBuf> {
65
67
vec ! [ ]
66
68
}
67
69
70
+ fn default_object_shader ( ) -> Vec < ( String , String ) > {
71
+ vec ! [ ]
72
+ }
73
+
68
74
impl Default for RustFileInfo {
69
75
fn default ( ) -> Self {
70
76
Self {
@@ -83,6 +89,7 @@ impl Default for RustFileInfo {
83
89
textures : vec ! [ PathBuf :: from( "example_texture.png" ) ] ,
84
90
shader_texture : vec ! [ ( "shader_1" . to_string( ) , 0 ) ] ,
85
91
obj_files : vec ! [ PathBuf :: from( "example_obj_file.obj" ) ] ,
92
+ object_shader : vec ! [ ( "object_1" . to_string( ) , "shader_1" . to_string( ) ) ] ,
86
93
}
87
94
}
88
95
}
@@ -300,6 +307,14 @@ fn main() {
300
307
command. arg ( obj_file_path) ;
301
308
} ) ;
302
309
}
310
+ if !file. object_shader . is_empty ( ) {
311
+ file. object_shader
312
+ . iter ( )
313
+ . for_each ( |( object_name, shader_name) | {
314
+ command. arg ( "--object-shader" ) ;
315
+ command. arg ( format ! ( "{},{}" , object_name, shader_name) ) ;
316
+ } ) ;
317
+ }
303
318
command
304
319
. arg ( "--rt-file" )
305
320
. arg ( file. rt_path . as_path ( ) )
0 commit comments