Företaget Intel har offentliggjort den skalbara 3D-renderingmotorn OSPRay 3.0, avsedd för realistisk högkvalitativ visualisering med hjÀlp av strÄlföljning. Motorn utvecklas som en del av det större projektet Intel Rendering Framework, som syftar till att utveckla programvara för visualisering av vetenskapliga berÀkningar SDVis (Software Defined Visualization), och inkluderar strÄlföljningsbiblioteket Embree, systemet för fotorealistisk rendering GLuRay, biblioteket för bildbrusreducering oidn (Open Image Denoise) och systemet för programmatisk rasterisering OpenSWR. Koden Àr skriven i C++ och publiceras under Apache 2.0-licensen.
OSPRay riktar sig frÀmst till anvÀndning i interaktiva applikationer för realtidsrendering av scener. För att simulera ljusets beteende anvÀnds metoden för strÄlföljning. Stöd ges för volumetrisk och planar visualisering, fotorealistisk global belysning med hÀnsyn till materialens fysikaliska egenskaper, och avancerade skuggeffekter (skuggor, transparens och 'Ambient occlusion' skuggning).
OSPRay kan fungera utan bindning till GPU, vilket gör att biblioteket kan anvÀndas pÄ en bred uppsÀttning enheter, frÄn arbetsstationer till noder i berÀkningskluster. För att sÀkerstÀlla tillfredsstÀllande prestanda utnyttjas aktivt multitrÄdning och vektorisering baserat pÄ SIMD-instruktioner, sÄsom Intel SSE4, AVX, AVX2 och AVX-512 (för att OSPRay ska fungera krÀvs Ätminstone stöd för SSE4.1).
Renderingen kan distribueras över flera noder i klustret (MPI stöds), vilket till exempel möjliggör anvĂ€ndning av OSPRay för att skapa renderingar av bilder med mycket hög upplösning pĂ„ videovĂ€ggar, dĂ€r en enhetlig bild som bildas av ett antal separata LCD-paneler. Till exempel har OSPRay demonstrerats pĂ„ den sammansatta skĂ€rmen Stallion, som bestĂ„r av 80 30-tums monitorer (total upplösning 40960Ă8000 eller 328 megapixlar) och stöds av ett kluster med 40 servrar med 6-kĂ€rniga CPU:er baserade pĂ„ mikroarkitekturen Intel Sandy Bridge.
Bland de tillagda Àndringarna:
- En experimentell funktion för anvÀndning av Intel Xe GPU (Intel Arc-serien Flex och Max) för hÄrdvaruacceleration av ray tracing har införts (i tidigare versioner av OSPRay utfördes ray tracing endast pÄ CPU). Stödet för GPU har implementerats genom en SYCL-lager, vilket möjliggör skapandet av heterogena applikationer i C++ (DPC++ - Data Parallel C++). Inte alla rendering-funktioner Àr Ànnu tillgÀngliga med den nya enheten "gpu", till exempel stöds inte klippning, oskÀrpa och sekventiell uppbyggnad av slÀta ytor (Subdivision) Àn.
- UnderförstÄdd indexering av polygonernas geometri har lagts till.
- Stöd för överföring av Àgande av temporÀra buffrar har lagts till.
- Optimering av MPI-modulen har genomförts tack vare det nya integrerade verktyg för prestandaövervakning.
- Gradientfyllning har optimerats i SciVis-renderaren.
- Ăndringar har gjorts i API:t som bryter bakĂ„tkompatibiliteten. Stödet för förĂ„ldrade parametrar och anrop har upphört.
- Krav pÄ minimala versioner av beroenden har höjts: Embree 4.3.0, Open VKL 2.0.0, Open Image Denoise 2.1.0, ISPC 1.21.1 och rkcommon v1.12.0.


KĂ€lla: opennet.ru
