fixed fog regression
[voxscape] / src / voxscape.c
index 0b538d9..7d39a8b 100644 (file)
@@ -287,7 +287,7 @@ void vox_render_slice(struct voxscape *vox, int n)
        uint32_t *fbptr;
 
        if(vox->zfog > 0 && n > vox->zfog) {
-               fog = ((n - vox->zfog) << 8) / (vox->zfar - vox->zfog);
+               fog = ((n - vox->zfog) << 16) / (vox->zfar - vox->zfog);
        } else {
                fog = 0;
        }
@@ -358,7 +358,7 @@ void vox_sky_grad(struct voxscape *vox, uint32_t chor, uint32_t ctop)
        b1 = chor & 0xff;
 
        for(i=0; i<d; i++) {
-               t = (i << 8) / d;
+               t = (i << 16) / d;
                grad[i] = lerp_rgb(r0, g0, b0, r1, g1, b1, t);
        }
        for(i=d; i<vox->fbheight; i++) {