mi::neuraylib::ICamera Class Reference
[Leaf nodes]
Description
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.
General methods
- virtual Float64 get_aperture() const =0
- Returns the aperture width.
- virtual Float64 get_clip_max() const =0
- Returns the yon clipping distance.
- virtual Float64 get_clip_min() const =0
- Returns the hither clipping distance.
- virtual Float64 get_focal() const =0
- Returns the focal length.
- virtual Float64 get_offset_x() const =0
- Returns the horizontal image plane shift.
- virtual Float64 get_offset_y() const =0
- Returns the vertical image plane shift.
- virtual bool get_orthographic() const =0
- Returns the projection mode of the camera. More...
- virtual Uint32 get_resolution_x() const =0
- Returns the raster space X resolution.
- virtual Uint32 get_resolution_y() const =0
- Returns the raster space Y resolution.
- virtual void set_aperture( Float64 aperture) =0
- Sets the aperture width.
- virtual void set_clip_max( Float64 clip_max) =0
- Sets the yon clipping distance.
- virtual void set_clip_min( Float64 clip_min) =0
- Sets the hither clipping distance.
- virtual void set_focal( Float64 focal) =0
- Sets the focal length.
- virtual void set_offset_x( Float64 offset_x) =0
- Sets the horizontal image plane shift.
- virtual void set_offset_y( Float64 offset_y) =0
- Sets the vertical image plane shift.
- virtual void set_orthographic( bool orthographic) =0
- Sets the projection mode of the camera. More...
- virtual void set_resolution_x( Uint32 resolution_x) =0
- Sets the raster space X resolution.
- virtual void set_resolution_y( Uint32 resolution_y) =0
- Sets the raster space Y resolution.
Methods related to the subwindow
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_xh() const =0
- Returns the x-coordinate of the upper right corner of the subwindow in raster space.
- virtual Uint32 get_window_xl() const =0
- Returns the x-coordinate of the lower left corner of the subwindow in raster space.
- virtual Uint32 get_window_yh() const =0
- Returns the y-coordinate of the upper right corner of the subwindow in raster space.
- virtual Uint32 get_window_yl() const =0
- Returns the y-coordinate of the lower left corner of the subwindow in raster space.
- virtual void set_window_xh( Uint32 window_xh) =0
- Sets the x-coordinate of the upper right corner of the subwindow in raster space.
- virtual void set_window_xl( Uint32 window_xl) =0
- Sets the x-coordinate of the lower left corner of the subwindow in raster space.
- virtual void set_window_yh( Uint32 window_yh) =0
- Sets the y-coordinate of the upper right corner of the subwindow in raster space.
- virtual void set_window_yl( Uint32 window_yl) =0
- Sets the y-coordinate of the lower left corner of the subwindow in raster space.
General methods
- virtual Float64 get_aspect() const =0
- Returns the aspect ratio.
- virtual Float64 get_frame_time() const =0
- Returns the frame time in seconds.
- virtual void set_aspect( Float64 aspect) =0
- Sets the aspect ratio.
- virtual void set_frame_time( Float64 frame_time) =0
- Sets the frame time in seconds.
Methods related to MDL
- virtual const char* get_aperture_function() const =0
- Returns the aperture function. More...
- virtual Color_struct get_backplate_background_color() const =0
- Returns the background color of the backplate. More...
- virtual const char* get_backplate_function() const =0
- Returns the backplate function. More...
- virtual bool get_backplate_lens_effects_enabled() const =0
- Indicates whether lens effects on the backplate are enabled.
- virtual bool get_backplate_tonemapping_enabled() const =0
- Indicates whether tonemapping of the backplate is enabled.
- virtual Sint32 set_aperture_function( const char* name) =0
- Sets the aperture function. More...
- virtual void set_backplate_background_color( const Color_struct& color) =0
- Sets the background color of the backplate. More...
- virtual Sint32 set_backplate_function( const char* name) =0
- Sets the backplate function. More...
- virtual void set_backplate_lens_effects_enabled( bool flag) =0
- Enables or disables lens effects on the backplate. More...
- virtual void set_backplate_tonemapping_enabled( bool flag) =0
- Enables or disables tonemapping of the backplate. More...
Methods related to irradiance probes
- virtual const char* get_irradiance_probes() const =0
- Returns the scene element containing the irradiance probes. More...
- virtual Sint32 set_irradiance_probes( const char* probes) =0
- Sets the scene element containing the irradiance probes. More...
Member Functions
- virtual Float64 mi::neuraylib::ICamera::get_aperture() const [pure virtual]
-
Returns the aperture width.
- virtual const char* mi::neuraylib::ICamera::get_aperture_function() const [pure virtual]
-
Returns the aperture function. The aperture function is of type mi::neuraylib::IFunction_call.
See also:
Section [:ipmlink camera Lens] of the Iray Programmer's Manual for details.
Returns
The name of the aperture function, or NULL if no aperture function is attached.
- virtual Float64 mi::neuraylib::ICamera::get_aspect() const [pure virtual]
-
Returns the aspect ratio.
- virtual Color_struct mi::neuraylib::ICamera::get_backplate_background_color() const [pure virtual]
-
Returns the background color of the backplate.
See also:
Section [:ipmlink camera Virtual backplate] of the Iray Programmer's Manual for details.
- virtual const char* mi::neuraylib::ICamera::get_backplate_function() const [pure virtual]
-
Returns the backplate function. The backplate function is of type mi::neuraylib::IFunction_call.
See also:
Section [:ipmlink camera Virtual backplate] of the Iray Programmer's Manual for details.
Returns
The name of the backplate function, or NULL if no backplate function is attached.
- virtual bool mi::neuraylib::ICamera::get_backplate_lens_effects_enabled() const [pure virtual]
-
Indicates whether lens effects on the backplate are enabled.
- virtual bool mi::neuraylib::ICamera::get_backplate_tonemapping_enabled() const [pure virtual]
-
Indicates whether tonemapping of the backplate is enabled.
- virtual Float64 mi::neuraylib::ICamera::get_clip_max() const [pure virtual]
-
Returns the yon clipping distance.
- virtual Float64 mi::neuraylib::ICamera::get_clip_min() const [pure virtual]
-
Returns the hither clipping distance.
- virtual Float64 mi::neuraylib::ICamera::get_focal() const [pure virtual]
-
Returns the focal length.
- virtual Float64 mi::neuraylib::ICamera::get_frame_time() const [pure virtual]
-
Returns the frame time in seconds.
- virtual const char* mi::neuraylib::ICamera::get_irradiance_probes() const [pure virtual]
-
Returns the scene element containing the irradiance probes. The irradiance probes are of type mi::neuraylib::IIrradiance_probes.
Returns
The name of the irradiance probes, or NULL if no irradiance probes are attached to the camera.
- virtual Float64 mi::neuraylib::ICamera::get_offset_x() const [pure virtual]
-
Returns the horizontal image plane shift.
- virtual Float64 mi::neuraylib::ICamera::get_offset_y() const [pure virtual]
-
Returns the vertical image plane shift.
- virtual bool mi::neuraylib::ICamera::get_orthographic() const [pure virtual]
-
Returns the projection mode of the camera.
Returns
true for orthographic cameras, false for perspective cameras (default).
- virtual Uint32 mi::neuraylib::ICamera::get_resolution_x() const [pure virtual]
-
Returns the raster space X resolution.
- virtual Uint32 mi::neuraylib::ICamera::get_resolution_y() const [pure virtual]
-
Returns the raster space Y resolution.
- virtual Uint32 mi::neuraylib::ICamera::get_window_xh() const [pure virtual]
-
Returns the x-coordinate of the upper right corner of the subwindow in raster space.
- virtual Uint32 mi::neuraylib::ICamera::get_window_xl() const [pure virtual]
-
Returns the x-coordinate of the lower left corner of the subwindow in raster space.
- virtual Uint32 mi::neuraylib::ICamera::get_window_yh() const [pure virtual]
-
Returns the y-coordinate of the upper right corner of the subwindow in raster space.
- virtual Uint32 mi::neuraylib::ICamera::get_window_yl() const [pure virtual]
-
Returns the y-coordinate of the lower left corner of the subwindow in raster space.
- virtual void mi::neuraylib::ICamera::set_aperture( Float64 aperture) [pure virtual]
-
Sets the aperture width.
- virtual Sint32 mi::neuraylib::ICamera::set_aperture_function( const char* name) [pure virtual]
-
Sets the aperture function.
See also:
Section [:ipmlink camera Lens] of the Iray Programmer's Manual for details.
Parameters
- name
- The name of the aperture function, or NULL to remove the current aperture function.
Returns
- 0: Success.
- -2: There is no element with that name.
- -3: The element can not be attached to the camera because it is in a more private scope than the camera.
- -4: The element does not have the correct type mi::neuraylib::IFunction_call.
- virtual void mi::neuraylib::ICamera::set_aspect( Float64 aspect) [pure virtual]
-
Sets the aspect ratio.
- virtual void mi::neuraylib::ICamera::set_backplate_background_color( const Color_struct& color) [pure virtual]
-
Sets the background color of the backplate.
See also:
Section [:ipmlink camera Virtual backplate] of the Iray Programmer's Manual for details.
- virtual Sint32 mi::neuraylib::ICamera::set_backplate_function( const char* name) [pure virtual]
-
Sets the backplate function.
See also:
Section [:ipmlink camera Virtual backplate] of the Iray Programmer's Manual for details.
Parameters
- name
- The name of the backplate function, or NULL to remove the current backplate function.
Returns
- 0: Success.
- -2: There is no element with that name.
- -3: The element can not be attached to the camera because it is in a more private scope than the camera.
- -4: The element does not have the correct type mi::neuraylib::IFunction_call.
- virtual void mi::neuraylib::ICamera::set_backplate_lens_effects_enabled( bool flag) [pure virtual]
-
Enables or disables lens effects on the backplate. By default, lens effects on the backplate is disabled.
- virtual void mi::neuraylib::ICamera::set_backplate_tonemapping_enabled( bool flag) [pure virtual]
-
Enables or disables tonemapping of the backplate. By default, tonemapping of the backplate is disabled.
- virtual void mi::neuraylib::ICamera::set_clip_max( Float64 clip_max) [pure virtual]
-
Sets the yon clipping distance.
- virtual void mi::neuraylib::ICamera::set_clip_min( Float64 clip_min) [pure virtual]
-
Sets the hither clipping distance.
- virtual void mi::neuraylib::ICamera::set_focal( Float64 focal) [pure virtual]
-
Sets the focal length.
- virtual void mi::neuraylib::ICamera::set_frame_time( Float64 frame_time) [pure virtual]
-
Sets the frame time in seconds.
- virtual Sint32 mi::neuraylib::ICamera::set_irradiance_probes( const char* probes) [pure virtual]
-
Sets the scene element containing the irradiance probes.
See also:
mi::neuraylib::IIrradiance_probes
Parameters
- probes
- The name of the irradiance probes, or NULL to remove the current irradiance probes from the camera.
Returns
- 0: Success.
- -2: There is no element with that name.
- -3: The element can not be attached to the camera because it is in a more private scope than the camera.
- -4: The element does not have the correct type mi::neuraylib::IIrradiance_probes.
- virtual void mi::neuraylib::ICamera::set_offset_x( Float64 offset_x) [pure virtual]
-
Sets the horizontal image plane shift.
- virtual void mi::neuraylib::ICamera::set_offset_y( Float64 offset_y) [pure virtual]
-
Sets the vertical image plane shift.
- virtual void mi::neuraylib::ICamera::set_orthographic( bool orthographic) [pure virtual]
-
Sets the projection mode of the camera.
Parameters
- orthographic
- true for orthographic cameras, false for perspective cameras (default)
- virtual void mi::neuraylib::ICamera::set_resolution_x( Uint32 resolution_x) [pure virtual]
-
Sets the raster space X resolution.
- virtual void mi::neuraylib::ICamera::set_resolution_y( Uint32 resolution_y) [pure virtual]
-
Sets the raster space Y resolution.
- virtual void mi::neuraylib::ICamera::set_window_xh( Uint32 window_xh) [pure virtual]
-
Sets the x-coordinate of the upper right corner of the subwindow in raster space.
- virtual void mi::neuraylib::ICamera::set_window_xl( Uint32 window_xl) [pure virtual]
-
Sets the x-coordinate of the lower left corner of the subwindow in raster space.
- virtual void mi::neuraylib::ICamera::set_window_yh( Uint32 window_yh) [pure virtual]
-
Sets the y-coordinate of the upper right corner of the subwindow in raster space.
- virtual void mi::neuraylib::ICamera::set_window_yl( Uint32 window_yl) [pure virtual]
-
Sets the y-coordinate of the lower left corner of the subwindow in raster space.