Iray Programmer's Manual

Extending supported file formats with plugins

Implementation of an importer describes the implementation and usage of custom importers to be used in conjunction with the Iray API. In this example the new importer is defined in and used by the main application for simplicity.

Note: Like any other user-defined class, it is possible to provide custom importers by using plugins. For an example, see Extending neuray with plugins.

A simple importer called Vanilla importer is used in the example program example_importer.cpp to demonstrate the basic steps. This importer is an illustrative skeleton that implements all interfaces but does not actually parse the file content in a meaningful way.

Implementation of an exporter demonstrates the implementation and usage of custom exporters to be used in conjunction with the Iray API. In this example the new exporter is defined in and used by the main application for simplicity.

Note: Like any other user-defined class, it is possible to provide custom exporters by using plugins. For an example, see Extending neuray with plugins.

A simple exporter called Vanilla exporter is used in the example program example_exporter.cpp to demonstrate the basic steps. This exporter is an illustrative skeleton that implements all interfaces but does not actually write elements out; it just writes their types and names.

Implementation of an image exporter describes the export of rendered pixel data to disk. Although neuray supports a wide range of image formats you might want to add support for your own image format. The example program example_psd_exporter.cpp exports images in the Photoshop PSD file format PFFS10. The example program demonstrates how to export several canvases with different content (rendered image, normals, z-buffer, etc.) into the same file.