Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • MRF MRF
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 86
    • Issues 86
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 4
    • Merge requests 4
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PACANOWSKI Romain
  • MRFMRF
  • Issues
  • #178
Closed
Open
Issue created Nov 27, 2020 by MURRAY David@dmurrayMaintainer

Refactor NEE& MIS

Reminder:

  • NEE = Next Event Estimation;
  • MIS = Multiple Importance Sampling.

Currently, our pipeline with NEE works like:

At each bounce:
sampleBSDFdirection
evaluateDirectLighting(light_dir)
if(MIS) evaluateDirectLighting(bsdf_dir)
propagateRay(bsdf_direction)

With:

evaluateDirectLighting(out_dir):
  if(light_pdf(out_dir) <= 0) return // -> light_pdf = 0 if no intersection between the light and the direction.

shadowRay(out_dir)
if(not_in_shadow) return BSDF_value*mis_weight

When NEE is active, light source emission is disabled so than light are not counted on impact as there are theoretically already accounted for. However, our current implementation sample uniformly one light source per bounce but deactivate ALL sources, even if current point is in shadow, which is a problem. Also, light sampling is currently uniform. It would probably be more efficient to use a light power-based distribution for the sampling.

Finally, I am not sure that the direct evalutation for the BSDF direction is useful as we propagate the ray with this direction in any case. Thus, we may have an extra shadow ray that seems useless.

Edited Dec 01, 2020 by MURRAY David
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking