| 123 |
|
|
| 124 |
|
rayorigin(sr, r, SHADOW, 1.0); /* ignore limits */ |
| 125 |
|
|
| 126 |
< |
while ((d = nextssamp(sr->rorg, sr->rdir, si)) != 0.0) { |
| 126 |
> |
while ((d = nextssamp(sr, si)) != 0.0) { |
| 127 |
|
sr->rsrc = si->sn; /* remember source */ |
| 128 |
|
srcp = source + si->sn; |
| 129 |
|
if (srcp->sflags & SDISTANT) { |
| 232 |
|
error(SYSTEM, "out of memory in direct"); |
| 233 |
|
} |
| 234 |
|
cntord[sn].sndx = sn; |
| 235 |
< |
cntord[sn].brt = 0.0; |
| 235 |
> |
srccnt[sn].sno = sr.rsrc; |
| 236 |
|
/* compute coefficient */ |
| 237 |
< |
(*f)(srccnt[sn].coef, p, srccnt[sn].dir, si.dom); |
| 237 |
> |
(*f)(srccnt[sn].coef, p, sr.rdir, si.dom); |
| 238 |
|
cntord[sn].brt = bright(srccnt[sn].coef); |
| 239 |
|
if (cntord[sn].brt <= 0.0) |
| 240 |
|
continue; |