X-Git-Url: https://harrygodden.com/git/?p=csRadar.git;a=blobdiff_plain;f=csrDraw.h;fp=csrDraw.h;h=fff159094fd7b12bec3dac8e97ca4964eac95583;hp=b744c044e9058ed379c23004bac8d05286bf41c4;hb=0ee9d77f45e007b119de2d44feef81516aaddaaf;hpb=dee56773cecd3a165331732008b7c0acf6f13393 diff --git a/csrDraw.h b/csrDraw.h index b744c04..fff1590 100644 --- a/csrDraw.h +++ b/csrDraw.h @@ -317,11 +317,12 @@ void simple_raster( csr_target *rt, vmf_vert tri[3] ) bcc = (v0[0]*vp[1] - vp[0]*v0[1]) * d; bca = 1.f - bcb - bcc; - float hit = (tri[0].co[2] * bca + tri[1].co[2] * bcb + tri[2].co[2] * bcc) +16385.f; + float hit = tri[0].co[2] * bca + tri[1].co[2] * bcb + tri[2].co[2] * bcc; + float hit_depth = hit + 16385.f; - if( hit > depth[i] ) + if( hit_depth > depth[i] && hit >= rt->bounds[0][2] && hit <= rt->bounds[1][2] ) { - depth[i] = hit; + depth[i] = hit_depth; rt->shader->frag( frag+i*rt->shader->stride, tri, bca, bcb, bcc ); } }