@@ -76,14 +76,14 @@ impl Renderer for TileBasedRenderer {
7676 out_buffer : & mut [ u32 ] ,
7777 width : usize ,
7878 height : usize ,
79- ) -> bool {
79+ ) -> crate :: error :: Result < ( ) > {
8080 // 1. Clone shader + prepare caches
8181 let mut shader = shader. clone ( ) ;
8282 shader. prepare_caches ( ) ;
8383
8484 let t = Instant :: now ( ) ;
8585 // 2. Vertex transform to SoA
86- let soa = tile_common:: vertex_transform_soa ( model, & mut shader, width, height) ;
86+ let soa = tile_common:: vertex_transform_soa ( model, & shader, width, height) ;
8787 let vertex_ms = t. elapsed ( ) . as_secs_f64 ( ) * 1000.0 ;
8888
8989 let t = Instant :: now ( ) ;
@@ -195,7 +195,7 @@ impl Renderer for TileBasedRenderer {
195195 debug ! ( "=========================================" ) ;
196196 }
197197
198- true
198+ Ok ( ( ) )
199199 }
200200}
201201
@@ -395,6 +395,12 @@ fn rasterize_tile(
395395 uv,
396396 color,
397397 depth : zvals[ j] ,
398+ world_position : {
399+ let wp0 = grid. soa . world_pos [ i0] ;
400+ let wp1 = grid. soa . world_pos [ i1] ;
401+ let wp2 = grid. soa . world_pos [ i2] ;
402+ wp0 * b0c + wp1 * b1c + wp2 * b2c
403+ } ,
398404 } ;
399405
400406 if use_early_z {
@@ -498,7 +504,7 @@ mod tests {
498504
499505 let mut buffer = vec ! [ 0u32 ; width * height] ;
500506 let result = renderer. render ( & model, & shader, & mut buffer, width, height) ;
501- assert ! ( result) ;
507+ assert ! ( result. is_ok ( ) ) ;
502508
503509 let nonzero_count = buffer. iter ( ) . filter ( |& & p| p != 0 ) . count ( ) ;
504510 assert ! (
@@ -524,7 +530,7 @@ mod tests {
524530 ) ;
525531
526532 let mut buffer = vec ! [ 0u32 ; width * height] ;
527- renderer. render ( & model, & shader, & mut buffer, width, height) ;
533+ let _ = renderer. render ( & model, & shader, & mut buffer, width, height) ;
528534
529535 let nonzero_count = buffer. iter ( ) . filter ( |& & p| p != 0 ) . count ( ) ;
530536 assert_eq ! (
@@ -551,7 +557,7 @@ mod tests {
551557
552558 let mut buffer = vec ! [ 0u32 ; width * height] ;
553559 let result = renderer. render ( & model, & shader, & mut buffer, width, height) ;
554- assert ! ( result) ;
560+ assert ! ( result. is_ok ( ) ) ;
555561
556562 let nonzero_count = buffer. iter ( ) . filter ( |& & p| p != 0 ) . count ( ) ;
557563 assert_eq ! (
@@ -578,7 +584,7 @@ mod tests {
578584
579585 let mut buffer = vec ! [ 0u32 ; width * height] ;
580586 let result = renderer. render ( & model, & shader, & mut buffer, width, height) ;
581- assert ! ( result) ;
587+ assert ! ( result. is_ok ( ) ) ;
582588
583589 let nonzero_count = buffer. iter ( ) . filter ( |& & p| p != 0 ) . count ( ) ;
584590 assert ! (
@@ -604,7 +610,7 @@ mod tests {
604610 ) ;
605611
606612 let mut buffer = vec ! [ 0u32 ; width * height] ;
607- renderer. render ( & model, & shader, & mut buffer, width, height) ;
613+ let _ = renderer. render ( & model, & shader, & mut buffer, width, height) ;
608614
609615 let nonzero_count = buffer. iter ( ) . filter ( |& & p| p != 0 ) . count ( ) ;
610616 assert_eq ! (
@@ -631,7 +637,7 @@ mod tests {
631637
632638 let mut buffer = vec ! [ 0u32 ; width * height] ;
633639 let result = renderer. render ( & model, & shader, & mut buffer, width, height) ;
634- assert ! ( result) ;
640+ assert ! ( result. is_ok ( ) ) ;
635641
636642 let nonzero_count = buffer. iter ( ) . filter ( |& & p| p != 0 ) . count ( ) ;
637643 assert ! (
0 commit comments