Two accumulating errors, causing 'scanline' errors too, but now based on
using different filtering values for transparent shadows.
Was another 2 cases of unused variable render as well. :)
This commit is contained in:
Ton Roosendaal
2004-11-24 18:53:45 +00:00
parent 06f47623b8
commit 970ac5aa99
2 changed files with 6 additions and 1 deletions

View File

@@ -585,7 +585,7 @@ void init_render_material(Material *ma)
if(needuv) ma->texco |= NEED_UV;
// since the raytracer doesnt recalc O structs for each ray, we have to preset them all
if(ma->mode & (MA_RAYMIRROR|MA_RAYTRANSP)) {
if(ma->mode & (MA_RAYMIRROR|MA_RAYTRANSP|MA_SHADOW_TRA)) {
ma->texco |= NEED_UV|TEXCO_ORCO|TEXCO_REFL|TEXCO_NORM;
if(R.osa) ma->texco |= TEXCO_OSA;
}

View File

@@ -1484,8 +1484,10 @@ static void traceray(short depth, float *start, float *vec, float *col, VlakRen
isec.vlrorig= vlr;
if( d3dda(&isec) ) {
shi.mask= mask;
shi.osatex= osatex;
shade_ray(&isec, &shi, &shr);
if(depth>0) {
@@ -1756,6 +1758,9 @@ static void ray_trace_shadow_tra(Isect *is, int depth)
float col[4];
/* we got a face */
shi.mask= 1;
shi.osatex= 0;
shade_ray(is, &shi, &shr);
/* add color */