The importance sampling strategy proposed in
[WMLT07] gives quite acceptable results at incidence angles. However, at grazing angles some bad case scenarios may occur. For example, an incident light may reflect with high sampling weights and cause bright pixels in the output. Also, some samples are wasted due to sampling a micro normal which causes $ w_i \cdot m \lt 0 $ where $w_i$ is the incident direction and $m$ is sampled micro normal. It is clear that we should also consider the incident direction $w_i$ when we are sampling micro normals $m$ for a better sampling strategy. That is, we should only sample from normals that are visible in direction $w_i$.
Glue uses both Walter's trick proposed in
[WMLT07] and sampling of visible normals for both GGX and Beckmann distribution. It uses a boolean template parameter to decide which strategy to use in compile time.
Relevant implementations are:
The coparisons below can show the effect of sampling visible normals. If you carefully look at the glass in front of the Lucy and at neck and arms of the golden Lucy, you can see that the fireflies due to bad sampling are removed.
|
Previous, 512spp, 370.7sec |
|
[Hd14], 512spp, 383.3sec |
|
Previous, 32spp, 19.2sec |
|
[Hd14], 32spp, 20sec |
Comments
Post a Comment