|
|
@@ -88,7 +88,7 @@ impl GlobeTileLayer {
|
|
88
|
88
|
(factor / viewport_size.0 as f32, factor / viewport_size.1 as f32)
|
|
89
|
89
|
};
|
|
90
|
90
|
|
|
91
|
|
- let screen_mat: Matrix3<f32> = Matrix3::from_cols(
|
|
|
91
|
+ let scale_mat: Matrix3<f32> = Matrix3::from_cols(
|
|
92
|
92
|
vec3(scale_x, 0.0, 0.0),
|
|
93
|
93
|
vec3(0.0, scale_y, 0.0),
|
|
94
|
94
|
vec3(0.0, 0.0, 1.0),
|
|
|
@@ -118,7 +118,8 @@ impl GlobeTileLayer {
|
|
118
|
118
|
)
|
|
119
|
119
|
};
|
|
120
|
120
|
|
|
121
|
|
- let rot_mat = Transform::<Point3<f32>>::concat(&rot_mat_y, &rot_mat_x);
|
|
|
121
|
+ let transform = Transform::<Point3<f32>>::concat(&rot_mat_y, &rot_mat_x);
|
|
|
122
|
+ let transform = Transform::<Point3<f32>>::concat(&scale_mat, &transform);
|
|
122
|
123
|
|
|
123
|
124
|
let (inset_x, inset_y) = tile_atlas.texture_margins();
|
|
124
|
125
|
|
|
|
@@ -155,10 +156,10 @@ impl GlobeTileLayer {
|
|
155
|
156
|
let p3 = ll_se.to_sphere_point3(1.0);
|
|
156
|
157
|
let p4 = ll_sw.to_sphere_point3(1.0);
|
|
157
|
158
|
|
|
158
|
|
- let p1 = screen_mat.transform_point(rot_mat.transform_point(p1));
|
|
159
|
|
- let p2 = screen_mat.transform_point(rot_mat.transform_point(p2));
|
|
160
|
|
- let p3 = screen_mat.transform_point(rot_mat.transform_point(p3));
|
|
161
|
|
- let p4 = screen_mat.transform_point(rot_mat.transform_point(p4));
|
|
|
159
|
+ let p1 = transform.transform_point(p1);
|
|
|
160
|
+ let p2 = transform.transform_point(p2);
|
|
|
161
|
+ let p3 = transform.transform_point(p3);
|
|
|
162
|
+ let p4 = transform.transform_point(p4);
|
|
162
|
163
|
|
|
163
|
164
|
if p1.z > 0.0 || p2.z > 0.0 || p3.z > 0.0 || p4.z > 0.0 {
|
|
164
|
165
|
continue;
|