|
|
virtual bool | get_orthographic () const =0 |
| Returns the projection mode of the camera. More...
|
|
virtual void | set_orthographic (bool orthographic)=0 |
| Sets the projection mode of the camera. More...
|
|
virtual Float64 | get_focal () const =0 |
| Returns the focal length. More...
|
|
virtual void | set_focal (Float64 focal)=0 |
| Sets the focal length. More...
|
|
virtual Float64 | get_aperture () const =0 |
| Returns the aperture width. More...
|
|
virtual void | set_aperture (Float64 aperture)=0 |
| Sets the aperture width. More...
|
|
virtual Float64 | get_clip_min () const =0 |
| Returns the hither clipping distance. More...
|
|
virtual void | set_clip_min (Float64 clip_min)=0 |
| Sets the hither clipping distance. More...
|
|
virtual Float64 | get_clip_max () const =0 |
| Returns the yon clipping distance. More...
|
|
virtual void | set_clip_max (Float64 clip_max)=0 |
| Sets the yon clipping distance. More...
|
|
virtual Float64 | get_offset_x () const =0 |
| Returns the horizontal image plane shift. More...
|
|
virtual void | set_offset_x (Float64 offset_x)=0 |
| Sets the horizontal image plane shift. More...
|
|
virtual Float64 | get_offset_y () const =0 |
| Returns the vertical image plane shift. More...
|
|
virtual void | set_offset_y (Float64 offset_y)=0 |
| Sets the vertical image plane shift. More...
|
|
virtual Uint32 | get_resolution_x () const =0 |
| Returns the raster space X resolution. More...
|
|
virtual void | set_resolution_x (Uint32 resolution_x)=0 |
| Sets the raster space X resolution. More...
|
|
virtual Uint32 | get_resolution_y () const =0 |
| Returns the raster space Y resolution. More...
|
|
virtual void | set_resolution_y (Uint32 resolution_y)=0 |
| Sets the raster space Y resolution. More...
|
|
virtual Float64 | get_frame_time () const =0 |
| Returns the frame time in seconds. More...
|
|
virtual void | set_frame_time (Float64 frame_time)=0 |
| Sets the frame time in seconds. More...
|
|
virtual Float64 | get_aspect () const =0 |
| Returns the aspect ratio. More...
|
|
virtual void | set_aspect (Float64 aspect)=0 |
| Sets the aspect ratio. More...
|
|
|
The subwindow is given by [xl,xh] x [yl,yh] , i.e., the upper right corner is part of the window. For rendering, these values are clipped against the window [0,0] x [res_x-1,res_y-1] defined by the resolution.
The subwindow allows to limit the rendered image to a rectangular subset of the full resolution. Pixels outside of the subwindow will not be modified by rendering. Render target canvases must either be large enough to fit the shifted subwindow, i.e. their resolution must be at least xh+1 x yh+1 , or canvas resolutions must match the subwindow resolution exactly.
|
virtual Uint32 | get_window_xl () const =0 |
| Returns the x-coordinate of the lower left corner of the subwindow in raster space. More...
|
|
virtual void | set_window_xl (Uint32 window_xl)=0 |
| Sets the x-coordinate of the lower left corner of the subwindow in raster space. More...
|
|
virtual Uint32 | get_window_yl () const =0 |
| Returns the y-coordinate of the lower left corner of the subwindow in raster space. More...
|
|
virtual void | set_window_yl (Uint32 window_yl)=0 |
| Sets the y-coordinate of the lower left corner of the subwindow in raster space. More...
|
|
virtual Uint32 | get_window_xh () const =0 |
| Returns the x-coordinate of the upper right corner of the subwindow in raster space. More...
|
|
virtual void | set_window_xh (Uint32 window_xh)=0 |
| Sets the x-coordinate of the upper right corner of the subwindow in raster space. More...
|
|
virtual Uint32 | get_window_yh () const =0 |
| Returns the y-coordinate of the upper right corner of the subwindow in raster space. More...
|
|
virtual void | set_window_yh (Uint32 window_yh)=0 |
| Sets the y-coordinate of the upper right corner of the subwindow in raster space. More...
|
|
|
virtual Sint32 | set_backplate_function (const char *name)=0 |
| Sets the backplate function. More...
|
|
virtual const char * | get_backplate_function () const =0 |
| Returns the backplate function. More...
|
|
virtual void | set_backplate_background_color (const Color_struct &color)=0 |
| Sets the background color of the backplate. More...
|
|
virtual Color_struct | get_backplate_background_color () const =0 |
| Returns the background color of the backplate. More...
|
|
virtual void | set_backplate_tonemapping_enabled (bool flag)=0 |
| Enables or disables tonemapping of the backplate. More...
|
|
virtual bool | get_backplate_tonemapping_enabled () const =0 |
| Indicates whether tonemapping of the backplate is enabled. More...
|
|
virtual void | set_backplate_lens_effects_enabled (bool flag)=0 |
| Enables or disables lens effects on the backplate. More...
|
|
virtual bool | get_backplate_lens_effects_enabled () const =0 |
| Indicates whether lens effects on the backplate are enabled. More...
|
|
virtual Sint32 | set_aperture_function (const char *name)=0 |
| Sets the aperture function. More...
|
|
virtual const char * | get_aperture_function () const =0 |
| Returns the aperture function. More...
|
|
|
virtual Sint32 | set_irradiance_probes (const char *probes)=0 |
| Sets the scene element containing the irradiance probes. More...
|
|
virtual const char * | get_irradiance_probes () const =0 |
| Returns the scene element containing the irradiance probes. More...
|
|
virtual Element_type | get_element_type () const =0 |
| Indicates the actual scene element represented by interfaces derived from this interface. More...
|
|
virtual IData * | create_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 IData * | access_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 IData * | edit_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...
|
|
virtual Uint32 | retain () const =0 |
| Increments the reference count. More...
|
|
virtual Uint32 | release () const =0 |
| Decrements the reference count. More...
|
|
virtual const IInterface * | get_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 IInterface * | get_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...
|
|
|
typedef Interface_declare< id1, ... > | Self |
| Own type. More...
|
|
typedef Uuid_t< id1, ... > | IID |
| Declares the interface ID (IID) of this interface. More...
|
|
typedef Interface_declare< id1, ... > | Self |
| Own type. More...
|
|
typedef Uuid_t< id1, ... > | IID |
| Declares the interface ID (IID) of this interface. More...
|
|
typedef Interface_declare< id1, ... > | Self |
| Own type. More...
|
|
typedef Uuid_t< id1, ... > | IID |
| Declares the interface ID (IID) of this interface. More...
|
|
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 bool | compare_iid (const Uuid &iid) |
| Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
|
|
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 bool | compare_iid (const Uuid &iid) |
| Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
|
|
static bool | compare_iid (const Uuid &iid) |
| Compares the interface ID iid against the interface ID of this interface. More...
|
|
The camera defines the viewpoint from which the scene is rendered.
Multiple cameras can be defined but only one can be used for rendering at a time, which is the camera referenced by mi::neuraylib::IScene::get_camera_instance().
The camera defines various characteristics such as focal length, aperture, and aspect ratio, as well as the sizes of rendered frame buffers.
The camera is fixed at the origin, looking down the negative Z-axis, with up being the positive Y-axis. The camera can be placed anywhere in world space using a transformation in an mi::neuraylib::IInstance class, in the same way that objects are placed anywhere in world space.
Environment
To specify the environment via MDL use the attribute environment_function
on mi::neuraylib::IOptions. See Section "Environment dome" of the Iray Programmer's Manual.
Stereo Camera
While this camera interface has no built-in support for stereo cameras, it is flexible enough to support such a setup. Suppose the camera for both views is separated by the horizontal distance eye_distance
and the distance to the screen is given by screen_distance
. The difference between the offset_x
values of both views is then given by
delta = eye_separation * focal_length * resolution_x / (screen_distance * aperture)
So when rendering the view for the left eye you should increase offset_x
by delta/2
, and decrease it by delta/2
for the right eye. If no explicit distance to the screen is known, the focal length might be used instead.