mi::neuraylib::IIrradiance_probes Class Reference
[Miscellaneous]
Description
Irradiance probes are used to render the irradiance at certain locations in the scene. Rendering of irradiance probes is different from the usual rendering of buffers, like for example "result" or "normal". In particular, the orientation of the camera is irrelevant. Instead, locations of so-called irradiance probes are explicitly specified by this scene element which is attached to the camera (see mi::neuraylib::ICamera::set_irradiance_probes()).
To actually render the irradiance using these irradiance probes the render target needs to contain a canvas named "irradiance_probe" with pixel type "Rgb_fp". The product of the canvas resolution in x and y direction needs to match the number of irradiance probes. The irradiance probes are mapped to the canvas pixels in row-major order.
Public Member Functions
- virtual Size get_length() const =0
- Returns the number of probes.
- virtual Sint32 get_probe( Size index, Float32_3_struct& position, Float32_3_struct& normal) const =0
- Returns the probe data for the probe at index. More...
- virtual void set_length( Size size) =0
- Sets the number of probes,. More...
- virtual Sint32 set_probe( Size index, const Float32_3_struct& position, const Float32_3_struct& normal) =0
- Sets the probe data for the probe at index. More...
Member Functions
- virtual Size mi::neuraylib::IIrradiance_probes::get_length() const [pure virtual]
-
Returns the number of probes.
- virtual Sint32 mi::neuraylib::IIrradiance_probes::get_probe( Size index, Float32_3_struct& position, Float32_3_struct& normal) const [pure virtual]
-
Returns the probe data for the probe at index.
Parameters
- index
- The probe to be queried.
- position
- The position of the probe.
- normal
- The normal of the probe.
Returns
- 0: Success.
- -1: index is out of bounds.
- virtual void mi::neuraylib::IIrradiance_probes::set_length( Size size) [pure virtual]
-
Sets the number of probes,. Newly created elements are default-initialized.
- virtual Sint32 mi::neuraylib::IIrradiance_probes::set_probe( Size index, const Float32_3_struct& position, const Float32_3_struct& normal) [pure virtual]
-
Sets the probe data for the probe at index. The given normal need not be unit length. It will be normalized internally. If a zero vector is provided, irradiance will be estimated over all incoming directions around position, rather than for the projected hemisphere.
Parameters
- index
- The probe to be modified.
- position
- The new position of the probe.
- normal
- The new normal of the probe.
Returns
- 0: Success.
- -1: index is out of bounds.