Skip to content
Petra Gospodnetic edited this page Jul 17, 2017 · 2 revisions
  • Fixed minor radiance bug found by dictoon over the weekend (#1515)
  • Locale hack PR (#1435)
  • Generated 1000x1000 light scene
  • Generated Appleseed logo image based 100x100 light scene
  • Compared CDF2LT on the Appleseed light scene
CDF to LightTree comparison
1spp
CDF LightTree
25spp
CDF LightTree
2min converging
CDF LightTree
Some artifacts are still apearing on the NPL test scene. It seems to me that they are following the tree structure. I still suspect the problem is when the sampling pixel is very close to a center of higher level bboxes (approx first three layers). When it is around center, that bbox gets extremely high probability thus giving the other bbox virtually no chance to get selected.
  • Added emitting light triangles (EMT) to the LightTree and handle for non low_var sampling
  • Created EMT python generator
  • Compared CDF to LT for pure EMT scene
CDF to LightTree comparison
Emitting triangle scene
CDF LightTree
1spp
10spp
1min converging
  • Nathan recreated the 100x100 point lights scene and discovered that the BVH tree structure causes the artifacts to appear in Psychopath as well
16 spp, inverse square distance from the center of nodes for importance estimate
16 spp, projected solid angle for importance estimate
16spp, projected solid angle for importance estimate, accounting for lambertian BSDF on the plane
16spp, projected solid angle, lambertian BSDF, 32arity tree
  • Tried to fix the problem with light sampling for points close to BVH centers

    • idea: If a probability of a node exceeds 0.95, assign a random probability to that node and calculate the probability of the other node based on it.
    • spoiler alert: it doesn't work, but the pattern looks funny :)
  • Handle emitting triangles for low_variance sampling

    • the triangles are stored within the tree but the EMT sampling needs to be adjusted
  • Emitting triangles can not be handled currently as the design assumes static triangle probability assignment during the triangle collection phase

  • Identified bug with SPPM

    • currently the LightSampler always builds the tree and extracts light-tree compatible lights into a separate vector
    • the SPPM calls the old LightSampler.sample() function which samples only the m_non_physical_lights vector
  • Decided to split the LightSampler into two different light samplers - ForwardLightSampler and BackwardLightSampler depending to forward and backward tracing approach