Intel has published the scalable 3D rendering engine OSPRay 3.0, designed for realistic high-quality visualization using ray tracing. The engine is developed as part of the larger Intel Rendering Framework project, aimed at creating software visualization tools for scientific computations (SDVis — Software Defined Visualization), including the Embree ray tracing library, the GLuRay photorealistic rendering system, the Open Image Denoise (oidn) library for image noise reduction, and the OpenSWR software rasterization system. The code is written in C++ and released under the Apache 2.0 license.
OSPRay is primarily aimed at use in interactive applications for real-time scene rendering. It employs a path tracing method to simulate light behavior. It supports volume and surface visualization, photorealistic global illumination considering material physical properties, and advanced shading effects (shadows, transparency, and Ambient Occlusion).
OSPRay can operate without being tied to a GPU, allowing the library to be used on a wide range of devices, from workstations to nodes in computing clusters. To ensure adequate performance, it actively utilizes multithreading and vectorization based on SIMD instructions, such as Intel SSE4, AVX, AVX2, and AVX-512 (OSPRay requires at least SSE4.1 support).
Rendering can be distributed across multiple cluster nodes (MPI support), which allows OSPRay to be used for rendering extremely high-resolution images on video walls, where a single image is formed from a set of individual LCD panels. For example, OSPRay has been demonstrated on the Stallion composite screen, composed of 80 30-inch monitors (with a total resolution of 40960×8000 or 328 megapixels) and serviced by a cluster of 40 servers with 6-core CPUs based on the Intel Sandy Bridge microarchitecture.
Among the added changes:
- An experimental feature has been implemented to utilize Intel Xe GPUs (Intel Arc Flex and Max series) for hardware-accelerated ray tracing (in previous versions of OSPRay, ray tracing was performed only on the CPU). GPU support is enabled through the SYCL layer, allowing the creation of heterogeneous applications in C++ (DPC++ — Data Parallel C++). Not all rendering capabilities are currently available when using the new 'gpu' device; for example, clipping, blurring, and the tessellation of smooth surfaces (Subdivision) are not yet supported.
- Implicit indexing of polygonal mesh geometry has been added.
- Support for transferring ownership of temporary buffers has been added.
- Optimization of the MPI module has been conducted, enabled by the new integrated toolset for performance tracking.
- Gradient fill in the SciVis renderer has been optimized.
- Changes that break compatibility have been made to the API. Support for deprecated parameters and calls has been discontinued.
- Minimum dependency version requirements have been raised: Embree 4.3.0, Open VKL 2.0.0, Open Image Denoise 2.1.0, ISPC 1.21.1, and rkcommon v1.12.0.


Source: opennet.ru
