Skip to content

Perspective and Orthographic projectors

jiatiansun edited this page Jul 22, 2019 · 1 revision

Perspective Projector

Parameter Type Description
toWorld transform or animation Specifies an optional camera-to-world transformation.
(Default: none(i.e. camera space = world space))
focalLength string Denotes the camera’s focal length specified using 35mm film equivalent units. See the description below for further details. (Default:50mm)
fov float An alternative to focalLength: denotes the camera’s field of view in degrees—must be between 0 and 180,
excluding the extremes.
fovAxis string When the parameter fov is given (and only then), this parameter further specifies the image axis, to which it applies.
(i) x: fov maps to the x-axis in screen space.
(ii) y: fov maps to the y-axis in screen space.
(iii) diagonal: fov maps to the screen diagonal.
(iv) smaller: fov maps to the smaller dimension (e.g. x when width<height)
(v) larger: fov maps to the larger dimension (e.g. y when width<height)
The default is x.
nearClip,
farClip
float Distance to the near/far clip planes.
(Default: nearClip=1e-2 (i.e. 0.01) and farClip=1e4 (i.e. 10000)
filename string Path to the radiance-valued input image to be projected
scale float A scale factor that is applied to the radiance values stored
in theinputimage. (Default:1)

This plugin impelements a perspective projector model, assuming the same idealized pinhole perspective camera model as Mitsuba's perspective sensor plugin. Thus, as described in the documentation of Mitsuba, By default, the projector’s field of view is specied using a 35mm film equivalent focal length, which is first converted into a diagonal feld of view and subsequently applied to the projector. is assumes that the projecting image’s aspect ratio matches that of 35mm film (1.5:1), though the parameter still behaves intuitively when this is not the case. Alternatively, it is also possible to specify a field of view in degrees along a given axis (see the fov and fovAxis parameters).

Also, it has extra parameters filename and scale to specify correspondingly the image to be projected onto the scene and how much should the brightness of the projected image be scaled.

Below is sample configuration needed for instantiating a perspective projector in a scene file.

    <emitter type="perspectiveprojector">
        <!-- .... other perspective projector parameters (that has counterpart in persepective camera) .... -->
        <string name="filename" value="PathToProjectionImage"/>
        <float name="scale" value="1000"/>
    </emitter>

For example application of this plugin, you can look into the file examples/cornellbox/cbox_perspective_proj.xml.

Orthographic Projector

Parameter Type Description
toWorld transform or animation Specifies an optional camera-to-world transformation.
(Default: none(i.e. camera space = world space))
nearClip,
farClip
float Distance to the near/far clip planes.
(Default: nearClip=1e-2 (i.e. 0.01) and farClip=1e4 (i.e. 10000)
filename string Path to the radiance-valued input image to be projected
scale float A scale factor that is applied to the radiance values stored
in theinputimage. (Default:1)

This plugin implements a orthographic projector. It can be thought of as a planar emitter that sends out light only in its normal direction. Similar to the perspective projector plugin, orthographic projector retains most of parameters of Mitsbua's orthographic camera plugin. Extra parameters "filename"(string) and "scale"(float) correspondingly specify projection image and a scale factor that is applied to the radiance values stored in the input image.

Below is sample configuration needed for instantiating a orthographic projector in a scene file.

    <emitter type="orthographicprojector">
        <!-- .... other orthographic projector parameters (that has counterpart in orthographic camera) .... -->
        <string name="filename" value="PathToProjectionImage"/>
        <float name="scale" value="1000"/>
    </emitter>

For example application of this plugin, you can look into the file examples/cornellbox/cbox_orthographic_proj.xml.

Clone this wiki locally