NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::IIrradiance_probes Class Referenceabstract

Irradiance probes are used to render the irradiance at certain locations in the scene. More...

Inheritance diagram for mi::IIrradiance_probes:
Inheritance graph
[legend]

Public Member Functions

virtual void  set_length (Size size)=0
  Sets the number of probes,. More...
 
virtual Size  get_length () const =0
  Returns 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...
 
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...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x566166f0, 0x6df2, 0x4131, 0xa1, 0xfe, 0xe6, 0x45, 0x74, 0x5f, 0xb4, 0xc1, IScene_element >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IScene_element
Self
  Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
  Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x566166f0, 0x6df2, 0x4131, 0xa1, 0xfe, 0xe6, 0x45, 0x74, 0x5f, 0xb4, 0xc1, IScene_element >
static bool  compare_iid (const Uuid &iid)
  Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed 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::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.

Member Function Documentation

virtual Size mi::IIrradiance_probes::get_length ( ) const
pure virtual

Returns the number of probes.

virtual Sint32 mi::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.
[out] position The position of the probe.
[out] normal The normal of the probe.
Returns
  • 0: Success.
  • -1: index is out of bounds.
virtual void mi::IIrradiance_probes::set_length ( Size  size)
pure virtual

Sets the number of probes,.

Newly created elements are default-initialized.

virtual Sint32 mi::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.

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.