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

A scene element that stores scene-specific settings. More...

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

Public Member Functions

virtual Color_struct  get_contrast () const =0
  Returns the contrast for adaptive oversampling. More...
 
virtual void  set_contrast (const Color_struct &color)=0
  Sets the contrast for adaptive oversampling. More...
 
virtual Float32  get_shutter_open () const =0
  Returns the time at which the camera shutter opens. More...
 
virtual void  set_shutter_open (Float32 shutter_open)=0
  Sets the time at which the camera shutter opens. More...
 
virtual Float32  get_shutter_close () const =0
  Returns the time at which the camera shutter closes. More...
 
virtual void  set_shutter_close (Float32 shutter_close)=0
  Sets the time at which the camera shutter closes. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x4cac71c4, 0xd437, 0x4b9f, 0x83, 0x6d, 0xed, 0xb1, 0xe1, 0x42, 0xf1, 0x16, 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< 0x4cac71c4, 0xd437, 0x4b9f, 0x83, 0x6d, 0xed, 0xb1, 0xe1, 0x42, 0xf1, 0x16, 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

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 corresponding section of [IPM]. Likewise, render-mode specific limitations in the support of the general options below is 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[N] section_planes or struct[] 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.
    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, see [IPM] for details.
  • 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 see the Programmer's Manual section Environment dome and implicit groundplane for details. For the MetaSL variant use the methods attach_shader() etc. on mi::ICamera. If both MDL and MetaSL environment functions are present then the MDL settings have precedence.

Member Function Documentation

virtual Color_struct mi::IOptions::get_contrast ( ) const
pure virtual

Returns the contrast for adaptive oversampling.

virtual Float32 mi::IOptions::get_shutter_close ( ) const
pure virtual

Returns the time at which the camera shutter closes.

See mi::IOptions::get_shutter_open() for details on how this value is used.

virtual Float32 mi::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::IOptions::get_shutter_close(). If both times are equal, motion blur rendering is disabled; if the time returned by the method mi::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, which allows bi-directional post-motion-blur in an output shader. (The defaults are both 0.0, disabling any motion blur.)

virtual void mi::IOptions::set_contrast ( const Color_struct color)
pure virtual

Sets the contrast for adaptive oversampling.

virtual void mi::IOptions::set_shutter_close ( Float32  shutter_close)
pure virtual

Sets the time at which the camera shutter closes.

See mi::IOptions::get_shutter_open() for details on how this value is used.

virtual void mi::IOptions::set_shutter_open ( Float32  shutter_open)
pure virtual

Sets the time at which the camera shutter opens.

See mi::IOptions::get_shutter_open() for details on how this value is used.