Skip to content

Commit 6c3731d

Browse files
author
devsh
committed
Coverage was being adjusted to be equal to reference value, needs to be slightly above
1 parent 6c7bb37 commit 6c3731d

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

examples_tests

include/nbl/asset/filters/CBlitImageFilter.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -417,9 +417,9 @@ class CBlitImageFilter :
417417
histograms[bi] += histograms[hi * state->alphaBinCount + bi];
418418
}
419419

420-
std::inclusive_scan(mergedHistogram, mergedHistogram +state->alphaBinCount, mergedHistogram);
421-
const uint32_t binIndex = std::lower_bound(mergedHistogram, mergedHistogram +state->alphaBinCount, pixelsShouldFailCount) - mergedHistogram;
422-
const double newAlphaRefValue = core::min((binIndex - 0.5) / double(state->alphaBinCount - 1), 1.0);
420+
std::inclusive_scan(mergedHistogram, mergedHistogram+state->alphaBinCount, mergedHistogram);
421+
const uint32_t binIndex = std::upper_bound(mergedHistogram, mergedHistogram+state->alphaBinCount, pixelsShouldFailCount) - mergedHistogram;
422+
const double newAlphaRefValue = core::clamp((binIndex - 0.5) / double(state->alphaBinCount - 1), 0.0, 1.0);
423423
coverageScale = alphaRefValue / newAlphaRefValue;
424424
}
425425
auto scaleCoverage = [outData,outOffsetLayer,intermediateStrides,axis,intermediateStorage,alphaChannel,coverageScale,storeToTexel](uint32_t writeBlockArrayOffset, core::vectorSIMDu32 writeBlockPos) -> void
@@ -549,7 +549,7 @@ class CBlitImageFilter :
549549
}
550550
else if (coverageSemantic && globalTexelCoord[axis]>=inOffsetBaseLayer[axis] && globalTexelCoord[axis]<inLimit[axis])
551551
{
552-
if (sample[alphaChannel]<=alphaRefValue)
552+
if (sample[alphaChannel]>=alphaRefValue)
553553
cvg_num++;
554554
cvg_den++;
555555
}

0 commit comments

Comments
 (0)