2
$\begingroup$

I am implementing light tracing from this website.

The right wall on the below image is perfect mirror(specular reflection). Its BRDF returns zero that's why it's been rendered black. But how is it to correctly simulate this type of light path in light tracing?

enter image description here

$\endgroup$
6
  • $\begingroup$ I hadn't heard the term light tracing before. For other folks who haven't either, it seems to just be path tracing from the light towards the screen, vs the normal screen towards light. Similar to photon mapping, but without the photon? $\endgroup$
    – Alan Wolfe
    Commented Sep 9, 2017 at 0:24
  • $\begingroup$ Yes it is forward ray tracing as opposed to backward ray tracing. It traces importance, rather than radiance, from the light source, bouncing it around the scene and connecting each vertex to camera. $\endgroup$
    – ali
    Commented Sep 9, 2017 at 0:28
  • 2
    $\begingroup$ Have you considered using fresnel to figure out how much light is reflected vs transmitted, then using that value as a percent chance to do diffuse or specular lighting? If specular, since you are asking about mirror like specular only, you just reflect the vector against the surface normal. If that is making sense, if wanting to go beyond mirror like specular reflection, you could use eg a microfacet specular BRDF instead later. $\endgroup$
    – Alan Wolfe
    Commented Sep 9, 2017 at 0:36
  • 2
    $\begingroup$ Darn, hrm. Maybe the problem is you can't have pure mirror specular reflection, but need a specular lobe that isn't a delta function spike. $\endgroup$
    – Alan Wolfe
    Commented Sep 9, 2017 at 3:42
  • 2
    $\begingroup$ This will only work if your camera is not a pinhole but simulates a non-zero sized aperture and a film. Then you can continue the reflect light path through the aperture and record it once it hits the film plane. $\endgroup$ Commented Sep 11, 2017 at 6:30

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.