426 |
|
doneSamples |= sampMap; // samples now done or at least queued |
427 |
|
sp2 -= layer++ & 1; // next denser sampling |
428 |
|
} |
429 |
< |
if (FlushQueue() < 0) // make sure we got everyone |
429 |
> |
if (FlushQueue() < 0) // compute stragglers |
430 |
|
return false; |
431 |
– |
x = y = 0; |
432 |
– |
if (doneMap.Find(&x, &y, false)) { |
433 |
– |
sprintf(errmsg, "missed %.4f%% of pixels in rectangle\n", |
434 |
– |
100. - 100.*doneMap.SumTotal() / |
435 |
– |
doneMap.Width() / doneMap.Height()); |
436 |
– |
error(WARNING, errmsg); |
437 |
– |
} |
431 |
|
if ((prCB != NULL) & (barPix == NULL)) |
432 |
|
(*prCB)(100.); |
433 |
|
return true; |
589 |
|
error(WARNING, "spectral range incompatible with color output"); |
590 |
|
COLORV ** parr = NULL; // set up tiny source drawing |
591 |
|
float ** zarr = NULL; |
592 |
< |
if (!ptvw.type && directvis && dblur <= FTINY) { |
592 |
> |
if (!ptvw.type && directvis && (dblur <= FTINY) & (mblur <= FTINY)) { |
593 |
|
parr = new COLORV * [THeight()]; |
594 |
|
zarr = new float * [THeight()]; |
595 |
|
for (int n = THeight(); n-- > 0; ) { |
605 |
|
(*prCB)(100.*(GetHeight()-ytop)/GetHeight()); |
606 |
|
if (!RenderRect(0, THeight()-ytop)) // render this bar |
607 |
|
return false; |
608 |
< |
int nlines = lastOut - ytop + THeight(); |
608 |
> |
int nlines = lastOut - ytop + vstep; |
609 |
|
if (nlines > ytop) |
610 |
|
nlines = ytop; |
611 |
|
else if (parr) // drawing sources? |