The API can be used to programmatically receive and synchronize content from an application, add the necessary objects, or directly load a number of existing scene file formats into the scene database. All aspects of a scene can be changed interactively at runtime to provide on-the-fly editing of materials, geometry and so on.
The application supplies the scene data to the Iray database and creates a render context. Iray can deliver an image, a section of an image, or a sequence of images. The API provides access to configurable render modes with parameters that give complete control over performance and quality. Modification of lights and materials is part of the core functionality.
A critical module of NVIDIA Iray is the rendering distribution layer. This module enables additional render nodes to be added dynamically to a rendering cluster when an appropriate NVIDIA CUDA-enabled GPU is detected. Additional render nodes will contribute to faster calculation of imagery. A Multi-GPU configuration on a single workstation is recognized automatically by Iray and used immediately. The usage of multiple render nodes, by clustering machines together directly, is supported as well as the usage of the Iray Bridge to link to our Iray VCAs or Iray Server in order to speed up local rendering with cloud based workflows.
The API provides the ability to write plugins for Iray itself for a comfortable extension of the Iray functionality. Various example plugins are shipped with Iray as instructional aids.
The Iray SDK provides a comprehensive C++ API for integration and customization tasks. Designed for efficiency and ease of use, the API provides a single access point to the C++ software libraries, which can be dynamically loaded and linked to visualization applications at runtime in order to integrate our Iray rendering technology.