Bug fix #1880
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:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user