# NVIDIA Iray

NVIDIA Iray es un software de renderizado acelerado en la GPU que ofrece realismo fotográfico y precisión física. Cuando se combina con la potencia de procesamiento paralelo de las tarjetas gráficas nVidia alcanza niveles de velocidad que reducen el tiempo de iteración de las escenas durante el proceso creativo. A diferencia de la mayoría de los motores de renderizado, Iray proporciona resultados que reflejan el comportamiento de los seres y objetos en el mundo real, con lo que los diseñadores no necesitan ser expertos en técnicas de gráficos por ordenador para conseguir resultados realistas.

## Arquitectura

Utiliza la tecnología NVIDIA Distributed Computing Environment (DICE) para permitir un renderizado de alto rendimiento, la eficiente distribución de datos almacénados en una gran cantidad de equipos, la operaciones multi-usuario, la redundancia de datos y la configuración dinámica en clúster. Estas son las partes de la arquitectura del proceso de renderizado:
* Entrada La escena, que contiene la descripción del mundo, la posición y dirección desde la que se ve. tratando de que sea la más completa y detallada posible, y con la interacción más realista de luz con las superficies y volúmenes que se puedan modelar.
* Proceso El procesador, que trabaja sobre la descripción de la escena. Los algoritmos de las implementaciones de renderizado determinan su capacidad para grabar y recrear el comportamiento de la luz y su interacción con los objetos. esta etapa puede ser realizada en varios equipos con distintos procesadores y GPUs.
* Salida La salida del proceso de render, que es una imagen. es decir un registro de lo que la cámara "ve". La calidad de la imagen está determinada por la complejidad del formato de almacenamiento y de las capacidades del dispositivo de salida que se utilizan para visualizar la imagen.
Iray tiene una buena facilidad de uso durante la configuración de las escenas con resultados del mayor realismo fotográfico y una alta interactividad. Además, el software va refinando la imagen gradualmente incrementando los ciclos de procesamiento denominados iteraciones, hasta que se consigue el máximo nivel de detalle, con lo que combina previsualización interactiva y renderizado de fotogramas finales en un mismo proceso.
Iray aprovecha por completo las ventajas del modelo de programación CUDA, de manera que es posible disfrutar de las vistas previas interactivas en sistemas con una o múltiples GPU.
Viene integrado en 3ds Max como motor de render junto con Mental Ray a partir de la versión 2011. en Daz Studio se vino incorporando en la versión 4.8.0.4 conocida como Daz Iradium Archivado el 11 de mayo de 2016 en Wayback Machine..

## Iray Integration Framework

Los programadores de software pueden integrar funciones de renderizado de Iray en sus propios programas facilitando la integración de Iray en una amplia variedad de aplicaciones que pueden aprovechar la capacidad de renderizado interactivo y la precisión de las simulaciones físicas de este software en áreas como el diseño arquitectónico, la visualización de productos, el marketing de productos o el diseño de automóviles.

## Modos

Iray ofrece tres modos de renderizado, que soportan una amplia gama de necesidades de diseño, flujos de trabajo y la complejidad de contenido:
* Iray Fotoreal renderizado de producción final con soporte para iluminación global completa
* Iray interactivo Trazado de rayos interactivo y editable
* Realtime Iray capacidad de visualización grande y en Edición tiempo real (opcional)
Debido a que los modos de renderizado comparten la misma descripción de la escena en alto nivel y los mismos materiales, Iray es capaz de soportar la mezcla perfecta de imagen al cambiar entre los modos. El resultado es una experiencia de usuario uniforme.

## NVIDIA Material Definition Language(MDL)

Es la definición de la sintaxis y la semántica del lenguaje. Los usuarios de Iray pueden utilizar esta especificación para entender cómo escribir nuevo materiales y utilizar materiales MDL. Además de otras tecnologías de renderizado podrían adoptar MDL para las descripciones de materiales.
MDL consta de dos partes principales:
* Una definición de material declarativa basada en un modelo poderoso de definición de materiales,
* Un lenguaje de programación para definir las funciones que pueden calcular los valores de los parámetros del modelo de material
La definición de material define lo que calcular, no la forma de calcularlo, mientras que el lenguaje de programación de procedimiento preserva la flexibilidad infinita para los autores de materiales creativos para definir las propiedades del material con sus propios programas.