Iray SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::IOptions Class Referenceabstract

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

#include <ioptions.h>

Inheritance diagram for mi::neuraylib::IOptions:

Public Member Functions

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...
 
- Public Member Functions inherited from mi::neuraylib::IScene_element
virtual Element_type get_element_type () const =0
 Indicates the actual scene element represented by interfaces derived from this interface. More...
 
- Public Member Functions inherited from mi::neuraylib::IAttribute_set
virtual IDatacreate_attribute (const char *name, const char *type)=0
 Creates a new attribute name of the type type. More...
 
template<class T>
T * create_attribute (const char *name, const char *type)
 Creates a new attribute name of the type type. More...
 
template<class T>
T * create_attribute (const char *name)
 Creates a new attribute name of the type T. More...
 
virtual bool destroy_attribute (const char *name)=0
 Destroys the attribute name. More...
 
virtual const IDataaccess_attribute (const char *name) const =0
 Returns a const pointer to the attribute name. More...
 
template<class T>
const T * access_attribute (const char *name) const
 Returns a const pointer to the attribute name. More...
 
virtual IDataedit_attribute (const char *name)=0
 Returns a mutable pointer to the attribute name. More...
 
template<class T>
T * edit_attribute (const char *name)
 Returns a mutable pointer to the attribute name. More...
 
virtual bool is_attribute (const char *name) const =0
 Indicates existence of an attribute. More...
 
virtual const char * get_attribute_type_name (const char *name) const =0
 Returns the type of an attribute. More...
 
virtual Sint32 set_attribute_propagation (const char *name, Propagation_type value)=0
 Sets the propagation type of the attribute name. More...
 
virtual Propagation_type get_attribute_propagation (const char *name) const =0
 Returns the propagation type of the attribute name. More...
 
virtual const char * enumerate_attributes (Sint32 index) const =0
 Returns the name of the attribute indicated by index. More...
 
- Public Member Functions inherited from mi::base::IInterface
virtual Uint32 retain () const =0
 Increments the reference count. More...
 
virtual Uint32 release () const =0
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const =0
 Acquires a const interface from another. More...
 
template<class T>
const T * get_interface () const
 Acquires a const interface from another. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)=0
 Acquires a mutable interface from another. More...
 
template<class T>
T * get_interface ()
 Acquires a mutable interface from another. More...
 
virtual Uuid get_iid () const =0
 Returns the interface ID of the most derived interface. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x4cac71c4, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x8a2a4da9, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x1bcb8d48, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::IInterface
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x4cac71c4, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x8a2a4da9, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x1bcb8d48, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::IInterface
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface. 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 Iray Programmer's Manual; see sections "Iray Photoreal" and "Iray Interactive". 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::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 "Environment dome" 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.
  • bool ignore_max_displace
    When true, displacement is not clipped against the maximum displacement value that is set for the displaced object. The default is false.

Member Function Documentation

 get_shutter_close()

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.

 get_shutter_open()

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 (see mi::neuraylib::ATTR_MOTION). 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.

See also
mi::neuraylib::IInstance for time-dependent transformations

 set_shutter_close()

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.

 set_shutter_open()

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.