summaryrefslogtreecommitdiff
path: root/navit/transform.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-08-26 07:20:00 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-08-26 07:20:00 +0000
commit669a7320e4164f86821e574f7e92bf15350aff84 (patch)
tree0482e28e03d56aa93ce15b58542976efa6287232 /navit/transform.c
parentc21293f6a0b575cab2d0c37ff89efd151eabab97 (diff)
downloadnavit-669a7320e4164f86821e574f7e92bf15350aff84.tar.gz
Fix:Core:Fix znear-clipping in 3d mode
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5601 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/transform.c')
-rw-r--r--navit/transform.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/navit/transform.c b/navit/transform.c
index 1a89ce1be..07eb6404a 100644
--- a/navit/transform.c
+++ b/navit/transform.c
@@ -459,7 +459,7 @@ static struct coord_3d
transform_z_clip(struct coord_3d c, struct coord_3d c_old, int zlimit)
{
struct coord_3d result;
- float clip_factor = (zlimit-c.z)/(c_old.z-c.z);
+ float clip_factor = ((float)zlimit-c.z)/(c_old.z-c.z);
dbg(3,"in (%d,%d,%d) - (%d,%d,%d)\n", c.x,c.y,c.z, c_old.x,c_old.y,c_old.z);
result.x=c.x+(c_old.x-c.x)*clip_factor;
result.y=c.y+(c_old.y-c.y)*clip_factor;
@@ -533,10 +533,12 @@ transform(struct transformation *t, enum projection required_projection, struct
dbg(3,"count=%d\n", count);
for (i=0; i < count; i++) {
dbg(3, "input coord %d: (%d, %d)\n", i, input[i].x, input[i].y);
+#if 0 /* doesn't work as wanted */
if (i && input[i].x == input[0].x && input[i].y == input[0].y && result_idx && !width_result) {
result[result_idx++]=result[0];
continue;
}
+#endif
projected_coord = transform_correct_projection(t, required_projection, input[i]);
shifted_coord = transform_shift_by_center_and_scale(t, projected_coord);
rotated_coord = transform_rotate(t, shifted_coord);