Sensors

NLOS Capture Meter (nlos_capture_meter)

This sensor replicates a non-line-of-sight (NLOS) transient capture device. In order to work, it needs to be attached to a geometry (sensor should be child of the geometry). Doing so, the NLOS capture meter measures uniformly-spaced points on such geometry based on UV coordiantes. It is recommended to use a rectangle shape for the geometry because the UV coordinates work better.

The nlos_capture_meter should also have a film children, which acts as the storage for the transient image. It is recommended to use transient_hdr_film (click here for more info).

Here’s an example code for how to setup a relay wall with a capture device:

<shape type="rectangle" id="relay_wall">
    <bsdf type="diffuse">
        <reflectance type="rgb" value="1.0,1.0,1.0"/>
    </bsdf>
    <sensor type="nlos_capture_meter">
        <film type="transient_hdr_film">
            ...
        </film>
    </sensor>
</shape>

See also the parameters for transient_hdr_film (click here for more info).

Parameter

Type

Description

Flags

sensor_origin

point

position of the sensor (NLOS setup) in the world coordinate system

original_film_{width|height}

integer

special for confocal captures, you can ignore if you use one illumination point or an exhaustive pattern. If you want to simulate a confocal NLOS setup with NxM, you should use a 1x1 film instead of NxM, and point the laser to the point that you want to capture. Then you should repeat the capture NxM times. We strongly recommend using TAL (see https://github.com/diegoroyo/tal), and set scan_type: confocal in the tal render YAML configuration file, which will handle all this automatically.