Closed timsandstrom closed 4 years ago
Hi Tim, sorry for the late feedback (vacation time...). This is indeed a difficult problem, I don't have a complete solution at hand right now, but some recommendations:
pixelSamples
), as this leads to a more accurate variance estimate (e.g. 4, or 16), I assume that many frames are accumulated anyway, thus the total rendering time should still be in the same ballpark OSPRAY_TILE_SIZE
. The default 64 is rather large an can lead in rare cases (like you mentioned) to a too early stopping with adaptive accumulation. Setting OSPRAY_TILE_SIZE
to 16 makes this much less likelyvarianceThreshold
The implemented stopping algorithm works already hierarchically and also tries to ensure not too much difference in accumulated samples for neighboring tiles, but it is still only a heuristic and not yet perfect.
Best, Johannes
Please re-open if there are further questions.
It's subtle, and probably hard to fix, but sometimes tiles are entirely black in areas where say, the volume clips a corner of a tile. Perhaps there's a setting I'm missing...
renderer pathtracer pixelSamples 1 maxPathLength 20 roulettePathLength 1 minContribution 1e-06 varianceGoal 1
cur/goal = inf 1 cur/goal = 2.52081 1
cur/goal = 4.25112 1
cur variance = 4.21399 total draws = 400
Image showing places some tiles are black. Though subtle, these drop outs are more noticeable during animations... https://people.nas.nasa.gov/~sandstro/ospray/var.png