| # | Line 555 | Line 555 | doambient( /* compute ambient component */ | |
|---|---|---|
| 555 | ra[0] = minarad; | |
| 556 | if (ra[1] < minarad) | |
| 557 | ra[1] = minarad; | |
| 558 | + | /* cap gradient if necessary */ |
| 559 | + | if (pg != NULL) { |
| 560 | + | d = (pg[0]*pg[0] + pg[1]*pg[1])*ra[0]*ra[0]; |
| 561 | + | if (d > 1.0) { |
| 562 | + | d = 1.0/sqrt(d); |
| 563 | + | pg[0] *= d; |
| 564 | + | pg[1] *= d; |
| 565 | + | } |
| 566 | + | } |
| 567 | } | |
| 568 | ra[0] *= d = 1.0/sqrt(sqrt(wt)); | |
| 569 | if ((ra[1] *= d) > 2.0*ra[0]) | |
| – | Removed lines |
| + | Added lines |
| < | Changed lines (old) |
| > | Changed lines (new) |