Intel główne wydanie skalowalnego silnika renderującego 3D , zaprojektowany w celu zapewnienia realistycznego, wysokiej jakości renderowania z wykorzystaniem śledzenia promieni, odpowiedniego do stosowania w aplikacjach interaktywnych. Silnik jest rozwijany w ramach większego projektu. , którego celem jest opracowanie narzędzi wizualizacji oprogramowania do obliczeń naukowych (Software Defined Visualization), która obejmuje bibliotekę śledzenia promieni , system renderowania fotorealistycznego , biblioteka do usuwania szumów z obrazów i system rasteryzacji oprogramowania Kod jest napisany w języku C++ i na licencji Apache 2.0.
OSPRay jest przeznaczony głównie do użytku w aplikacjach interaktywnych do renderowania scen w locie. Używa metody . Obsługuje wizualizację w przestrzeni i na płaszczyźnie, fotorealistyczną biorąc pod uwagę właściwości fizyczne materiałów, zaawansowane efekty cieniowania (cienie, przezroczystość i cieniowanie)").
OSPRay wykorzystuje wyłącznie możliwości procesora CPU i nie jest w żaden sposób powiązany z procesorem GPU. Dzięki temu bibliotekę można stosować na szerokiej gamie urządzeń, od stacji roboczych po węzły w klastrach obliczeniowych. Aby zagwarantować odpowiednią wydajność, aktywnie wykorzystuje się wielowątkowość i wektoryzację opartą na instrukcjach SIMD, takich jak Intel SSE4, AVX, AVX2 i AVX-512 (OSPRay wymaga przynajmniej obsługi instrukcji SSE4.1).
Renderowanie może być rozłożone na kilka węzłów klastra (obsługiwany jest MPI), co pozwala na przykład na wykorzystanie OSPRay do organizacji renderowania obrazów o bardzo wysokiej rozdzielczości na , pojedynczy obraz, na którym powstaje zestaw oddzielnych paneli LCD. Na przykład praca OSPRay jest demonstrowana na ekranie kompozytowym , składający się z 80 30-calowych monitorów (całkowita rozdzielczość 40960×8000 lub 328 megapikseli) i obsługiwany przez klaster 40 serwerów z 6-rdzeniowymi procesorami opartymi na mikroarchitekturze Intel Sandy Bridge.
Istotna zmiana numeru wersji wynika z gruntownej przebudowy interfejsu API, w tym ze zmian, które zakłócają kompatybilność (aby uprościć przejście na nowy interfejs API, zaproponowano bibliotekę warstw, która ułatwia migrację) oraz z wprowadzenia nowych typów geometrycznych. Dodano obsługę Open VKL (Open Volume Kernel Library) do renderowania objętościowego. Możliwość łączenia została wdrożona aby stłumić szum w obrazie. Biblioteka ospcommon i moduł obsługi MPI zostały przeniesione do oddzielnych repozytoriów.
Źródło: opennet.ru
