Intel выпустил движок распределённой трассировки лучей OSPRay 2.0

Компания Intel представила значительный выпуск масштабируемого движка 3D-рендеринга OSPRay 2.0, предназначенного для реалистичной высококачественной визуализации методом трассировки лучей, пригодной для применения интерактивных приложениях. Движок развивается как часть более крупного проекта Intel Rendering Framework, нацеленного на разработку средств программной визуализации научных расчётов SDVis (Software Defined Visualization), включающих библиотеку трассировки лучей Embree, систему фотореалистичной отрисовки GLuRay, библиотеку для устранения шумов на изображениях oidn (Open Image Denoise) и систему программной растеризации OpenSWR. Код написан на языке С++ и опубликован под лицензией Apache 2.0.

OSPRay нацелен главным образом на использование в интерактивных приложениях для отрисовки сцены на лету. Для симуляции поведения света применяется метод трассировки пути. Поддерживается визуализация в объёме и на плоскости, фотореалистичное глобальное освещение с учётом физических свойств материалов, расширенные эффекты затенения (тени, прозрачность и затенение «Ambient occlusion«).

OSPRay использует только возможности CPU, не привязываясь к GPU, что позволяет использовать библиотеку на широком спектре устройств, от рабочих станций до узлов в вычислительных кластерах. Для обеспечения должной производительности активно используется многопоточность и векторизация на базе SIMD-инструкций, таких как Intel SSE4, AVX, AVX2, и AVX-512 (для работы OSPRay как минимум требуется поддержка SSE4.1).

Рендернг может быть распределён на несколько узлов кластера (поддерживается MPI), что например, позволяет применять OSPRay для организации отрисовки картинки с очень высоким разрешением на видеостенах, единое изображение на которых формируется набором отдельных LCD-панелей. Например, работа OSPRay продемонстрирована на составном экране Stallion, скомпонованном из 80 30-дюймовых мониторов (общее разрешение 40960×8000 или 328 мегапикселей) и обслуживаемого кластером из 40 серверов с 6-ядерными CPU на базе микроархитектуры Intel Sandy Bridge.

Значительное изменение номера версии обусловлено большой переработкой API, в том числе с внесением изменений, нарушающих совместимость (для упрощения перехода на новый API предложена библиотека-прослойка, сглаживающая миграцию), и предоставлением новых геометрических типов. Добавлена поддержка Open VKL (Open Volume Kernel Library) для объёмного рендеринга. Реализована возможность подключения модуля для подавления шумов на изображении. В отдельные репозитории вынесены библиотека ospcommon и модуль для поддержи MPI.

Источник: http://www.opennet.ru/opennews/art.shtml?num=52234