Abstract interface for a render target. More...
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... |
|
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.
Returns a canvas by index.
index | The index of the requested canvas. Use mi::neuraylib::IRender_target_base::get_canvas_count() to inquire the number of canvases. |
Returns a canvas by index.
index | The index of the requested canvas. Use mi::neuraylib::IRender_target_base::get_canvas_count() to inquire the number of canvases. |