@@ -73,13 +73,14 @@ impl Default for Box {
73
73
74
74
impl From < Box > for Mesh {
75
75
fn from ( sp : Box ) -> Self {
76
+ // suppose Y-up right hand, and camera look from +z to -z
76
77
let vertices = & [
77
- // Top
78
+ // Front
78
79
( [ sp. min_x , sp. min_y , sp. max_z ] , [ 0. , 0. , 1.0 ] , [ 0. , 0. ] ) ,
79
80
( [ sp. max_x , sp. min_y , sp. max_z ] , [ 0. , 0. , 1.0 ] , [ 1.0 , 0. ] ) ,
80
81
( [ sp. max_x , sp. max_y , sp. max_z ] , [ 0. , 0. , 1.0 ] , [ 1.0 , 1.0 ] ) ,
81
82
( [ sp. min_x , sp. max_y , sp. max_z ] , [ 0. , 0. , 1.0 ] , [ 0. , 1.0 ] ) ,
82
- // Bottom
83
+ // Back
83
84
( [ sp. min_x , sp. max_y , sp. min_z ] , [ 0. , 0. , -1.0 ] , [ 1.0 , 0. ] ) ,
84
85
( [ sp. max_x , sp. max_y , sp. min_z ] , [ 0. , 0. , -1.0 ] , [ 0. , 0. ] ) ,
85
86
( [ sp. max_x , sp. min_y , sp. min_z ] , [ 0. , 0. , -1.0 ] , [ 0. , 1.0 ] ) ,
@@ -94,12 +95,12 @@ impl From<Box> for Mesh {
94
95
( [ sp. min_x , sp. max_y , sp. max_z ] , [ -1.0 , 0. , 0. ] , [ 0. , 0. ] ) ,
95
96
( [ sp. min_x , sp. max_y , sp. min_z ] , [ -1.0 , 0. , 0. ] , [ 0. , 1.0 ] ) ,
96
97
( [ sp. min_x , sp. min_y , sp. min_z ] , [ -1.0 , 0. , 0. ] , [ 1.0 , 1.0 ] ) ,
97
- // Front
98
+ // Top
98
99
( [ sp. max_x , sp. max_y , sp. min_z ] , [ 0. , 1.0 , 0. ] , [ 1.0 , 0. ] ) ,
99
100
( [ sp. min_x , sp. max_y , sp. min_z ] , [ 0. , 1.0 , 0. ] , [ 0. , 0. ] ) ,
100
101
( [ sp. min_x , sp. max_y , sp. max_z ] , [ 0. , 1.0 , 0. ] , [ 0. , 1.0 ] ) ,
101
102
( [ sp. max_x , sp. max_y , sp. max_z ] , [ 0. , 1.0 , 0. ] , [ 1.0 , 1.0 ] ) ,
102
- // Back
103
+ // Bottom
103
104
( [ sp. max_x , sp. min_y , sp. max_z ] , [ 0. , -1.0 , 0. ] , [ 0. , 0. ] ) ,
104
105
( [ sp. min_x , sp. min_y , sp. max_z ] , [ 0. , -1.0 , 0. ] , [ 1.0 , 0. ] ) ,
105
106
( [ sp. min_x , sp. min_y , sp. min_z ] , [ 0. , -1.0 , 0. ] , [ 1.0 , 1.0 ] ) ,
@@ -111,12 +112,12 @@ impl From<Box> for Mesh {
111
112
let uvs: Vec < _ > = vertices. iter ( ) . map ( |( _, _, uv) | * uv) . collect ( ) ;
112
113
113
114
let indices = Indices :: U32 ( vec ! [
114
- 0 , 1 , 2 , 2 , 3 , 0 , // top
115
- 4 , 5 , 6 , 6 , 7 , 4 , // bottom
115
+ 0 , 1 , 2 , 2 , 3 , 0 , // front
116
+ 4 , 5 , 6 , 6 , 7 , 4 , // back
116
117
8 , 9 , 10 , 10 , 11 , 8 , // right
117
118
12 , 13 , 14 , 14 , 15 , 12 , // left
118
- 16 , 17 , 18 , 18 , 19 , 16 , // front
119
- 20 , 21 , 22 , 22 , 23 , 20 , // back
119
+ 16 , 17 , 18 , 18 , 19 , 16 , // top
120
+ 20 , 21 , 22 , 22 , 23 , 20 , // bottom
120
121
] ) ;
121
122
122
123
let mut mesh = Mesh :: new ( PrimitiveTopology :: TriangleList ) ;
0 commit comments