Intel uvedl engine pro distribuované sledování paprsků OSPRay 3.0

Společnost Intel zveřejnila škálovatelný 3D renderingový engine OSPRay 3.0, který je určen pro realistickou vysokokvalitní vizualizaci pomocí sledování paprsků. Engine se vyvíjí jako součást rozsáhlejšího projektu Intel Rendering Framework, který se zaměřuje na vývoj softwarových nástrojů pro vizualizaci vědeckých výpočtů SDVis (Software Defined Visualization), zahrnujících knihovnu sledování paprsků Embree, systém fotorealistického vykreslování GLuRay, knihovnu pro odstraňování šumu z obrázků oidn (Open Image Denoise) a systém softwarové rastrování OpenSWR. Kód je napsán v jazyce C++ a zveřejněn pod licencí Apache 2.0.

OSPRay se primárně zaměřuje na použití v interaktivních aplikacích pro vykreslování scény za běhu. Pro simulaci chování světla se používá metoda sledování cesty. Podporuje se vizualizace v objemu a na ploše, fotorealistické globální osvětlení s ohledem na fyzikální vlastnosti materiálů, rozšířené efekty stínování (stíny, průhlednost a stínování 'Ambient occlusion').

OSPRay může pracovat nezávisle na GPU, což umožňuje použití knihovny na široké škále zařízení, od pracovních stanic po uzly v výpočetních clusterech. Pro zajištění potřebného výkonu se aktivně využívá vícethreadování a vektorizace na základě SIMD instrukcí, jako jsou Intel SSE4, AVX, AVX2 a AVX-512 (pro provoz OSPRay je vyžadována alespoň podpora SSE4.1).

Rendering může být distribuován na více uzlech clusteru (podporuje se MPI), což například umožňuje využít OSPRay k organizaci vykreslování obrázků s velmi vysokým rozlišením na videostěnách, kde je jedno obrazové zobrazení vytvářeno sestavou jednotlivých LCD panelů. Například práce OSPRay byla demonstrována na složeném displeji Stallion, který se skládá z 80 30palcových monitorů (celkové rozlišení 40960×8000 nebo 328 megapixelů) a je obsluhován clusterem se 40 servery šestijádrovými CPU založenými na mikroarchitektuře Intel Sandy Bridge.

Mezi přidané změny patří:

  • Byla implementována experimentální funkce použití GPU Intel Xe (řady Intel Arc Flex a Max) pro hardwarovou akceleraci dráhového sledování (v minulých verzích OSPRay se dráhové sledování provádělo pouze na CPU). Podpora GPU byla implementována prostřednictvím vrstvy SYCL, která umožňuje vytvářet heterogenní aplikace v jazyce C++ (DPC++ — Data Parallel C++). Ne všechny možnosti renderování jsou zatím k dispozici při použití nového zařízení „gpu“, například zatím není podporováno ořezávání, rozmazání a kusové vytváření hladkých povrchů (Subdivision).
  • Byla přidána implicitní indexace geometrie polygonální sítě.
  • Byla přidána podpora předávání vlastnictví dočasnými buffery.
  • Byla optimalizována část MPI, implementovaná díky novému integrovanému nástroji pro sledování výkonu.
  • Byla optimalizována gradientní výplň v renderu SciVis.
  • Byly provedeny změny v API, které narušují kompatibilitu. Podpora zastaralých parametrů a hovorů byla ukončena.
  • Zvýšeny požadavky na minimální verze závislostí: Embree 4.3.0, Open VKL 2.0.0, Open Image Denoise 2.1.0, ISPC 1.21.1 a rkcommon v1.12.0.

Intel uvedl engine pro distribuované sledování paprsků OSPRay 3.0
Intel uvedl engine pro distribuované sledování paprsků OSPRay 3.0


Zdroj: opennet.ru
Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster