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

Abstract interface for a render target. More...

Inheritance diagram for mi::neuraylib::IRender_target:
Inheritance graph
[legend]

Public Member Functions

virtual const ICanvas get_canvas (Uint32 index) const =0
  Returns a canvas by index. More...
 
virtual ICanvas get_canvas (Uint32 index)=0
  Returns a canvas by index. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0xd4dff23d, 0x9b42, 0x48d4, 0x80, 0x01, 0x8c, 0x9a, 0x13, 0x51, 0x83, 0x69, neuraylib::IRender_target_base >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
neuraylib::IRender_target_base
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< 0xd4dff23d, 0x9b42, 0x48d4, 0x80, 0x01, 0x8c, 0x9a, 0x13, 0x51, 0x83, 0x69, neuraylib::IRender_target_base >
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

Abstract interface for a render target.

The IRender_target, ICanvas, and ITile classes are abstract interfaces which have to be implemented by the application which uses the Iray API to render. This gives the application the ability to tailor the rendering process very specific to its needs.

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.

Using these abstract interfaces allows to render to different kinds of render targets, including frame buffers, textures, or simply in memory buffers.

A render mode can inquire the number of canvases passed in and the names of those. The names are used to find out the meaning of the canvas, e.g., "result" indicates the final image. The known canvas names and their corresponding pixel types are documented in Section Result canvas names of the Programmer's Manual.

An instance of the IRender_target interface is passed to the mi::neuraylib::IRender_context::render() or mi::neuraylib::IRender_context::render_async() call.

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

Member Function Documentation

virtual const ICanvas* mi::neuraylib::IRender_target::get_canvas ( Uint32  index) const
pure virtual

Returns a canvas by index.

Parameters
index The index of the requested canvas. Use mi::neuraylib::IRender_target_base::get_canvas_count() to inquire the number of canvases.
Returns
The requested canvas.
virtual ICanvas* mi::neuraylib::IRender_target::get_canvas ( Uint32  index)
pure virtual

Returns a canvas by index.

Parameters
index The index of the requested canvas. Use mi::neuraylib::IRender_target_base::get_canvas_count() to inquire the number of canvases.
Returns
The requested canvas.