neuray API Programmer's Manual

mi::neuraylib::IOptions Class Reference

[Leaf nodes]

Description

A scene element that stores scene-specific settings. There are three different types of options:

This class deals with the first of the three types.

These scene-specific settings are typically exposed as attributes; only a few of them are exposed via explicit methods of this interface. Note that the list of attributes below contains only general options that are supposed to be supported by all render modes. Render modes might support additional options which are not documented here, but in the Iray Programmer's Manual; see sections [:ipmlink iray_photoreal_render_mode Iray Photoreal], [:ipmlink iray_interactive_renderer_mode Iray Interactive], and [:ipmlink iray_realtime_renderer_mode Iray Realtime]. Likewise, render-mode specific limitations in the support of the general options below are documented there.

Attributes

  • mi::Sint32 depth_reflect

    Maximum number of nested reflection rays.

  • mi::Sint32 depth_refract

    Maximum number of nested refraction rays. This is only used by raytracers.

  • mi::Sint32 depth

    Maximum total number of nested rays.

  • mi::Sint32 progressive_rendering_samples

    The number of samples to compute in every progressive rendering step. The default is 1.

  • mi::Sint32 progressive_rendering_min_samples

    The minimum number of samples per pixel to compute before considering criteria to stop progressive rendering. The default is 4.

  • mi::Sint32 progressive_rendering_max_samples

    If this number of samples per pixel has been rendered then stop progressive rendering automatically regardless of any other stop criterion. The default is 100.

  • mi::Sint32 progressive_rendering_max_time

    Time in seconds after which progressive rendering should terminate automatically. The default is 3600.

  • mi::Float32 progressive_rendering_error_threshold

    If this relative error threshold has been reached progressive rendering is stopped automatically. A value of 0.0 targets perfect quality and won't stop rendering. A value of 0.5 will stop rendering already at a very low quality. The default is 0.05.

  • mi::Float64 animation_time

    Defines the current time for all animations in this scene.

  • mi::Float32_3 section_plane_normal

    Defines the normal of the section plane that can be used to cull parts of the scene. If this normal is set to (0, 0, 0), section plane culling is disabled completely. This is also the default value. This attribute is deprecated, use section_planes instead (which has precedence over this attribute here).

  • mi::Float32_3 section_plane_origin

    Defines a point in space the section plane used for culling goes through. It defaults to (0, 0, 0). Also see section_plane_normal. This attribute is deprecated, use section_planes instead (which has precedence over this attribute here).

  • struct Section_plane[N] section_planes or struct Section_plane[] section_planes

    A static or dynamic array of structures of type "Section_plane" which describe sections planes that can be used to cull parts of the scene. A structure of type "Section_plane" has the the following members:
    • mi::Float32_3 origin

      A point in space the section plane goes through. The default is (0, 0, 0).

    • mi::Float32_3 normal

      The normal of the section plane. If this normal is set to (0, 0, 0), the section plane is disabled. This is also the default value.

    • bool clip_light

      Indicates whether the section plane also affects lights (or only geometry). When the parameter is set to true, also the geometry behind the section plane occludes incoming light. The default is false.

    • bool disabled

      Indicates whether the section plane is disabled or not. The default is false.

    This attribute has precedence over the attributes section_plane_normal and section_plane_origin which are deprecated. Render modes might have an internal limit on the number of supported section planes.
  • mi::Sint32 filter

    The mode used for sample filtering. See Filter_type for possible values.

  • mi::Float32 radius

    The radius of the filter kernel. If set to 0, filtering is turned off.

  • mi::IRef environment_function

    The MDL environment of the scene. See the section [:ipmlink environment_dome_and_implicit_groundplane Environment dome and implicit groundplane] in the Iray Programmer's Manual for details.

  • mi::Float32 mdl_meters_per_scene_unit

    The conversion ratio between meters and scene units for MDL functions and materials. The default is 1.0.

Public Member Functions

virtual Float32 get_shutter_close() const =0
Returns the time at which the camera shutter closes. More...
virtual Float32 get_shutter_open() const =0
Returns the time at which the camera shutter opens. More...
virtual void set_shutter_close( Float32 shutter_close) =0
Sets the time at which the camera shutter closes. More...
virtual void set_shutter_open( Float32 shutter_open) =0
Sets the time at which the camera shutter opens. More...

Member Functions

virtual Float32 mi::​neuraylib::​IOptions::get_shutter_close() const [pure virtual]

Returns the time at which the camera shutter closes. See mi::neuraylib::IOptions::get_shutter_open() for details on how this value is used.

virtual Float32 mi::​neuraylib::​IOptions::get_shutter_open() const [pure virtual]

Returns the time at which the camera shutter opens. The camera shutter opens at the time returned from this method and closes at the time returned by the method mi::neuraylib::IOptions::get_shutter_close(). If both times are equal, motion blur rendering is disabled; if the time returned by the method mi::neuraylib::IOptions::get_shutter_close() is greater than that return from this method, motion blur rendering is enabled.

The normal range is (0, 1), which uses the full length of the motion vectors or motion vector paths. It can be useful to set both times to 0.5, which disables motion blur rendering but computes scene data at an offset of one half of the frame. (The defaults are both 0.0, disabling any motion blur.)

virtual void mi::​neuraylib::​IOptions::set_shutter_close( Float32 shutter_close) [pure virtual]

Sets the time at which the camera shutter closes. See mi::neuraylib::IOptions::get_shutter_open() for details on how this value is used.

virtual void mi::​neuraylib::​IOptions::set_shutter_open( Float32 shutter_open) [pure virtual]

Sets the time at which the camera shutter opens. See mi::neuraylib::IOptions::get_shutter_open() for details on how this value is used.