Iray Programmer's Manual
Search
Iray Programmer's Manual
Preface
Getting started
Release overview
Example programs
How to compile a program
How to run a program
Starting and shutting down the Iray API
A first image
Library design
API modules
Shared library
Naming conventions
Include files
Include file compile-time configuration
Base API configuration options for assertions
Base API configuration options for STL use
Math API configuration options for assertions
Iray API configuration options for assertions
Main API access point
Version numbers and compatibility
Interfaces
Reference counting
Handle class
Resources
Strings
Error handling
Database, transactions and scopes
Transactions
Database scopes
Runtime configuration
Logging configuration
Threading configuration
Memory configuration
Rendering configuration
Networking configuration
Rendering
Rendering overview
Rendering and canvases
Render mode selection
Progressive rendering of a scene
Own canvas class
Asynchronous rendering
Multiple render contexts
Iray Photoreal
Introduction
System requirements
Limitations
Matte objects and matte lights
Refractive objects and IOR handling
Progressive rendering
Caustic sampler
Architectural sampler
Light portals
Rendering options
Mixed mode rendering and load balancing
Timeout prevention
Integrated noise reduction
Integrated bloom
Iray Interactive
Introduction
System requirements
Limitations
Progressive rendering
Lighting
Rendering options
Path space filtering
Output format
Global performance settings
Comparison with Iray Photoreal
Iray Realtime
Introduction
System requirements
Limitations
Rendering options
Iray Blend
Introduction
Rendering options
Scene database
Overview of the scene database elements
Creating a scene programmatically
Geometry
Creating triangle meshes
Creating polygon meshes
Creating on-demand meshes
Creating subdivision surfaces
Creating freeform surfaces
Materials
Material Definition Language
Measured materials
Editing and creating materials
Decals
Sources of light
Emission distribution functions
Light distribution from scene elements
Environment dome and implicit groundplane
Environment function
Environment dome
Implicit groundplane
Camera
Tonemapping
Photographic tonemapper
Custom tonemapper
Depth of field
Virtual backplate
Motion blur
Physically plausible scene setup
Recommendations for geometry preparation
Modeling glass
Modeling volumes
Mapping uv-coordinates
Tessellating curved surfaces
Recommendations for lights
Using photometric lights
Using environment and sunlight
Recommendations for materials
Recommendations for cameras
Networking
Networking overview
Networking modes
Iray Bridge
Client-server architecture
Components
Server configuration
Client configuration
Video streaming options
Synchronous and streaming video modes
Disk cache
Snapshots
Using Iray Bridge with Iray Viewer
Restrictions
Running an Iray Bridge server
Using an Iray Bridge server
Delivering an image from server-based rendering
Running an HTTP server
RTMP server
RTMP client
Running an RTMP and HTTP server with mouse interaction
Customization
Extending the database with user-defined classes
Extending neuray with plugins
Extending supported file formats with plugins
Implementation of an importer
Implementation of an exporter
Implementation of an image exporter
Appendix
Supported file formats and URI schemes
URI schemes
Scene file formats
Image file formats
Binary storage format
Result canvas names
Light path expression grammar
Bibliography
Geometry
The following topics describe geometric concepts and examples of their use.
Subsections
Creating triangle meshes
Creating polygon meshes
Creating on-demand meshes
Creating subdivision surfaces
Creating freeform surfaces