changeset 267:509d8c72d774

Add Z checks.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 10 Oct 2012 14:08:12 +0300
parents 4ad2b9739c4a
children f07ddc4982c6
files dmq3d.c
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/dmq3d.c	Wed Oct 10 13:30:07 2012 +0300
+++ b/dmq3d.c	Wed Oct 10 14:08:12 2012 +0300
@@ -117,6 +117,9 @@
         dm_vector_add(&pv[0], pos);
         dm_vector_add(&pv[1], pos);
         
+        if (pv[0].z <= 0 && pv[1].z <= 0)
+            continue;
+
         if (line->type > 1)
             dmDrawLineSpec(screen, dmPX(cx, pv[0]), dmPY(cy, pv[0]), dmPX(cx, pv[1]), dmPY(cy, pv[1]), lcol, fbmap);
         else
@@ -130,6 +133,8 @@
         DMVector pv;
         dm_vector_mul_by_mat(&pv, &model->vertices[sprite->v], mat);
         dm_vector_add(&pv, pos);
+        if (pv.z <= 0)
+            continue;
         dmUnscaledBlitSurface32to32Transparent(bmp->img, dmPX(cx, pv), dmPY(cy, pv), screen);
     }
 }