Компания Intel публикува мащабируемия 3D рендеринг движок OSPRay 3.0, предназначен за реалистична висококачествена визуализация с метод на трасировка на лъчите. Движок се развива като част от по-голям проект Intel Rendering Framework, насочен към разработката на средства за софтуерна визуализация на научни изчисления SDVis (Software Defined Visualization), включващи библиотека за трасировка на лъчите Embree, система за фотореалистично рендериране GLuRay, библиотека за премахване на шум в изображения oidn (Open Image Denoise) и система за софтуерна растеризация OpenSWR. Кодът е написан на C++ и е публикуван под лицензия Apache 2.0.
OSPRay е насочен основно към използване в интерактивни приложения за рендериране на сцената в реално време. За симулиране на поведението на светлината се използва метод на трасировка на пътя. Поддържа се визуализация в обем и на плоскост, фотореалистично глобално осветление, което отчита физическите свойства на материалите, разширени ефекти на затеняване (с Shadows, Transparency и Ambient Occlusion).
OSPRay може да работи независимо от 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.
Сред добавените промени:
- Впровадена експериментальна можливість використання GPU Intel Xe (серія Intel Arc Flex та Max) для апаратного прискорення трасування променів (у попередніх версіях OSPRay трасування променів виконувалося тільки на CPU). Підтримка GPU реалізована через прослойку SYCL, що дозволяє створювати гетерогенні додатки на C++ (DPC++ — Data Parallel C++). Ще не всі можливості рендерингу доступні з новим пристроєм «gpu», наприклад, наразі не підтримуються обрізка, розмиття і побудова гладеньких поверхонь (Subdivision).
- Додана неявна індексація геометрії полігональної сітки.
- Додано підтримку передачі володіння тимчасовими буферами.
- Проведена оптимізація модуля MPI, реалізована завдяки новому інтегрованому інструментарію для відстеження продуктивності.
- Оптимізований градієнтний залив у рендері SciVis.
- В API внесено зміни, що порушують сумісність. Припинено підтримку застарілих параметрів і викликів.
- Підвищені вимоги до мінімальних версій залежностей: Embree 4.3.0, Open VKL 2.0.0, Open Image Denoise 2.1.0, ISPC 1.21.1 та rkcommon v1.12.0.


Източник: opennet.ru
