Intel dio a conocer hace poco el lanzamiento de su motor de renderizado 3D, OSPRay 3.0, el cual es un motor de renderizado 3D escalable diseñado para un renderizado realista y de alta calidad con trazado de rayos.
Se menciona que este motor de renderizado está destinado principalmente a su uso en aplicaciones interactivas para representar escenas sobre la marcha. Para simular el comportamiento de la luz se utiliza un método de trazado de trayectoria.
Admite visualización en volumen y en un plano, iluminación global fotorrealista teniendo en cuenta las propiedades físicas de los materiales, efectos de sombreado avanzados. OSPRay puede ejecutarse sin estar vinculado a una GPU, lo que permite utilizar la biblioteca en una amplia gama de dispositivos, desde estaciones de trabajo hasta nodos en clústeres informáticos.
Para garantizar un rendimiento adecuado, se utilizan activamente subprocesos múltiples y vectorización basados en instrucciones SIMD, como Intel SSE4, AVX, AVX2 y AVX-512 (OSPRay requiere soporte SSE4.1 como mínimo).
La renderización se puede distribuir en varios nodos del clúster (compatible con MPI), lo que, por ejemplo, permite utilizar OSPRay para organizar la renderización de imágenes de muy alta resolución en videowalls, una única imagen en la que se forma un conjunto de imágenes separadas.
¿Qué hay de nuevo en OSPRay 3.0?
En esta nueva versión que se presenta de OSPRay, se destaca que se ha implementado una opción experimental para utilizar GPU Intel Xe (GPU Intel Arc™, GPU Intel Data Center Flex y Max Series) para la aceleración por hardware del trazado de rayos. Se menciona que la compatibilidad con GPU se implementa utilizando la capa SYCL, que le permite crear aplicaciones en C++.
Cabe mencionar que las siguientes funciones aún no están implementadas o no funcionan correctamente: Múltiples volúmenes en la escena, Clipping, Motion blur, Subdivision surfaces, Informe de progreso mediante ospGetProgresso cancelación del marco medianteospCancel, Recogiendo a través deospPick, Acumulación adaptativa vía OSP_FB_VARIANCEy varianceThreshold y Canales de framebuffer OSP_FB_ID_*(búferes de identificación).
Otros de los cambios que se destacan es que se ha añadido a la indexación implícita de la geometria «meshla» de malla poligonal, asi como soporte para transferir la propiedad de buffers temporales y optimizaciones para el módulo MPI, respaldadas por un nuevo marco de seguimiento de rendimiento integrado
Por otra parte, se menciona que se ha corregido la conservación de energía del material «Pricipled» bajo ciertas combinaciones de parámetros, asi como corrección en denoiser para no borrar el canal alfa y soluciona a las fallas en la luz HDRI.
De los demás cambios que se destacan:
- Relleno de degradado optimizado en el renderizador SciVis.
- Se han realizado cambios en la API que rompen la compatibilidad. Se ha interrumpido la compatibilidad con parámetros y llamadas heredados.
- Arreglar el orden de los enlaces para la compilación de depuración en Windows
- Las nuevas versiones mínimas de dependencias: Embree v4.3.0, Open VKL v2.0.0, Open Image, Denoise v2.1.0, ISPC v1.21.1 y rkcommon v1.12.0
- Se eliminaron los parámetros obsoletos y llamadas API tales como las firmas de devolución de llamada de error sin puntero de usuario, las funciones de transferencia
vec2f valueRange
; usarbox1f value
- Se menciona que Multidevice no admite OSPImageOperationmensajes para eliminación de ruido o mapeo de tonos
- Para alguna combinación de compilador, controlador de GPU y escena, las imágenes renderizadas pueden mostrar artefactos (por ejemplo, líneas verticales o bloques pequeños)
Para los interesados en poder conocer más al respecto, deben saber que el motor se está desarrollando como parte de un proyecto más amplio Intel Rendering Framework, cuyo objetivo es desarrollar herramientas de visualización de software para cálculos científicos SDVis (Software Defined Visualization).
Entre los proyectos que se encuentran incluidos, se menciona a la biblioteca de trazado de rayos Embree, el sistema de renderizado fotorrealista GLuRay, la biblioteca para eliminar el ruido de las imágenes oidn. (Open Image Denoise) y sistema de rasterización de software OpenSWR. El código está escrito en C++ y publicado bajo la licencia Apache 2.0.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.