NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Importer and Exporter

Methods to import and to export scene data and shaders. More...

Classes

class   mi::neuraylib::IExport_api
  This interface is used to export files. More...
 
class   mi::IExport_result
  This interface represents the result of an export operation. More...
 
class   mi::IExport_result_ext
  This interface represents the result of an export operation. More...
 
class   mi::neuraylib::IExporter
  Abstract interface for exporters. More...
 
class   mi::IImpexp_base
  Abstract base interface common for importers and exporters. More...
 
class   mi::IImpexp_state
  This interface represents states that are passed to recursive calls of importers and exporters. More...
 
class   mi::neuraylib::IImport_api
  This interface is used to import files. More...
 
class   mi::IImport_result
  This interface represents the result of an import operation. More...
 
class   mi::IImport_result_ext
  This interface represents the result of an import operation. More...
 
class   mi::neuraylib::IImporter
  Abstract interface for importers. More...
 
class   mi::IReader
  A reader supports binary block reads and string-oriented line reads that zero-terminate the result. More...
 
class   mi::IReader_writer_base
  Base interface for readers and writers. More...
 
class   mi::IStream_position
  Represents the position in a data stream. More...
 
class   mi::IWriter
  A writer supports binary block writes and string-oriented line writes that accept a zero-terminated string as argument. More...
 

Enumerations

enum   mi::Impexp_priority {
  mi::IMPEXP_PRIORITY_OVERRIDE = 4,
  mi::IMPEXP_PRIORITY_WELL_DEFINED = 3,
  mi::IMPEXP_PRIORITY_AMBIGUOUS = 2,
  mi::IMPEXP_PRIORITY_GUESS = 1
}
  Confidence in capabilities of an importer or exporter. More...
 

Detailed Description

Methods to import and to export scene data and shaders.

All import and export methods use a common naming convention to identify files based on URIs as defined in [RFC3986]. Currently only the URI scheme file is supported. An empty URI scheme defaults to the file scheme. URI authorities are not supported, except for the empty URI authority, which is needed in some cases to resolve ambiguities (see below).

Within the file scheme relative and absolute URI paths are supported (see Section 4 in [RFC3986]). URI paths are mapped to filenames as follows.

URI path Filename Comment
/C:/dir1/dir2/file C:\dir1\dir2\file -
/C/dir1/dir2/file C:\dir1\dir2\file This mapping is supported in addition to the first one since a colon is a reserved character in URIs.
/dir1/dir2/file \dir1\dir2\file This mapping is only supported for top-level directory names not consisting of a single letter.
//share/dir1/dir2/file \\share\dir1\dir2\file This mapping requires an (otherwise optional) empty URI authority (//) since otherwise the share name is interpreted as URI authority.

In addition, the following variable can be used in URI paths, which are expanded by Iray.

Note
A current limitation allows MetaSL shader to be imported from the shaders directory only, that means that the URI path needs to start with "${shader}".
See Also
The API components mi::neuraylib::IImport_api and mi::neuraylib::IExport_api offer methods to convert between filenames and URIs.

Enumeration Type Documentation

Confidence in capabilities of an importer or exporter.

If there is more than one importer or exporter that accepts a certain file format, the importer or exporter with the highest confidence is taken.

See Also
mi::IImpexp_base::get_priority()
Enumerator
IMPEXP_PRIORITY_OVERRIDE 

The highest confidence, reserved for importer and exporter from user plugins.

An importer or exporter of this priority will always take precedence over all internal importers and exporters.

IMPEXP_PRIORITY_WELL_DEFINED 

The highest possible priority for internal importer or exporter.

Use only for importer or exporter whose test function cannot fail and whose support for the format is complete.

IMPEXP_PRIORITY_AMBIGUOUS 

The test function might fail, or the format might not be fully supported.

IMPEXP_PRIORITY_GUESS 

The importer or exporter does not have a good way of detecting the format or the support is very preliminary or incomplete.