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

Abstract interface for a render target (base class). More...

#include <irender_target.h>

Inheritance diagram for mi::neuraylib::IRender_target_base:

Public Member Functions

virtual Uint32 get_canvas_count () const =0
 Returns the number of canvases to render to. More...
 
virtual Canvas_type get_canvas_type (Uint32 index) const =0
 Returns the type of the given canvas. More...
 
virtual const ICanvas_baseget_canvas (Uint32 index) const =0
 Returns a canvas by index. More...
 
virtual ICanvas_baseget_canvas (Uint32 index)=0
 Returns a canvas by index. More...
 
virtual const ICanvas_parametersget_canvas_parameters (Uint32 index) const =0
 Returns a set of parameters of the given canvas. 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< 0x8aafab6e, ... >
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< 0x8aafab6e, ... >
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

Abstract interface for a render target (base class).

This interface is the base class all render targets.

The render target holds an array of canvases. Each such canvas represents a layer in a framebuffer, e.g., one of them could be used to store the rendered color, another one for the z-buffer, and so on. Each of them can be tiled or not tiled.

A render mode can inquire the number of canvases passed in and their type. The types are used to determine the meaning of the canvas, e.g., TYPE_RESULT indicates the final image. See Section "Render target canvases" of the Iray Programmer's Manual for details.

Note that it is not guaranteed that all canvases have the same dimensions, though not all render modes have to support this.

See also
mi::neuraylib::IRender_target, mi::neuraylib::IRender_context::render(), mi::neuraylib::IRender_context::render_async()

Member Function Documentation

 get_canvas() [1/2]

virtual const ICanvas_base * mi::neuraylib::IRender_target_base::get_canvas ( Uint32  index) const
pure virtual

Returns a canvas by index.

Parameters
indexThe index of the requested canvas. Use mi::neuraylib::IRender_target_base::get_canvas_count() to inquire the number of canvases.
Returns
The requested canvas, or NULL if index is out of bounds.

Implemented in mi::neuraylib::IRender_target, mi::neuraylib::IRender_target_cuda, and mi::neuraylib::IRender_target_opengl.

 get_canvas() [2/2]

virtual ICanvas_base * mi::neuraylib::IRender_target_base::get_canvas ( Uint32  index)
pure virtual

Returns a canvas by index.

Parameters
indexThe index of the requested canvas. Use mi::neuraylib::IRender_target_base::get_canvas_count() to inquire the number of canvases.
Returns
The requested canvas, or NULL if index is out of bounds.

Implemented in mi::neuraylib::IRender_target, mi::neuraylib::IRender_target_cuda, and mi::neuraylib::IRender_target_opengl.

 get_canvas_count()

virtual Uint32 mi::neuraylib::IRender_target_base::get_canvas_count ( ) const
pure virtual

Returns the number of canvases to render to.

Returns
The number

 get_canvas_parameters()

virtual const ICanvas_parameters * mi::neuraylib::IRender_target_base::get_canvas_parameters ( Uint32  index) const
pure virtual

Returns a set of parameters of the given canvas.

This function is used to query additional parameters associated with render target canvases. If a canvas does not support additional parameters or the canvas index is out of bounds, this function returns nullptr.

Parameters
indexThe index of the requested canvas. Use get_canvas_count() to inquire the the number of canvases.
Returns
The parameter block as described above.

 get_canvas_type()

virtual Canvas_type mi::neuraylib::IRender_target_base::get_canvas_type ( Uint32  index) const
pure virtual

Returns the type of the given canvas.

Parameters
indexThe index of the requested canvas. Use get_canvas_count() to inquire the the number of canvases.
Returns
The type of the requested canvas or mi::neuraylib::TYPE_UNDEFINED if index is out of bounds.