Das Unternehmen Intel eine bedeutende Version einer skalierbaren 3D-Rendering-Engine , die für eine realistische, hochqualitative Visualisierung durch Ray Tracing geeignet ist und sich für den Einsatz in interaktiven Anwendungen anbietet. Die Engine wird als Teil eines größeren Projekts entwickelt , das darauf abzielt, Software-Visualisierungstools für wissenschaftliche Berechnungen zu entwickeln (Software Defined Visualization), die eine Ray-Tracing-Bibliothek umfasst , ein System für fotorealistische Rendering , eine Bibliothek zur Rauschunterdrückung in Bildern und ein Software-Rasterisierungssystem . Der Code ist in C++ geschrieben und unter der Apache 2.0-Lizenz.
OSPRay zielt hauptsächlich auf die Nutzung in interaktiven Anwendungen ab, um die Szene in Echtzeit zu rendern. Zur Simulation des Verhaltens von Licht wird das verwendet. Es unterstützt Volumen- und Flächenvisualisierungen, fotorealistisches unter Berücksichtigung der physikalischen Eigenschaften von Materialien, erweiterte Schattierungs- und Transparenzeffekte sowie die Schattierung „«).
OSPRay nutzt ausschließlich die CPU-Ressourcen und ist nicht an die GPU gebunden, was den Einsatz der Bibliothek auf einer breiten Palette von Geräten ermöglicht, von Workstations bis hin zu Knoten in Rechenzentrum-Clustern. Für eine angemessene Leistung wird aktiv Multithreading und Vektorisierung basierend auf SIMD-Befehlen wie Intel SSE4, AVX, AVX2 und AVX-512 eingesetzt (für den Betrieb von OSPRay ist mindestens die Unterstützung von SSE4.1 erforderlich).
Das Rendering kann auf mehrere Knoten des Clusters verteilt werden (MPI wird unterstützt), was es ermöglicht, OSPRay beispielsweise für die Erstellung von Bildern mit sehr hoher Auflösung auf , wo ein einzelnes Bild aus einer Reihe separater LCD-Panels zusammengesetzt wird. So wurde die Arbeit von OSPRay beispielsweise auf einem zusammengesetzten Bildschirm , der aus 80 30-Zoll-Monitoren besteht (eine Gesamtauflösung von 40960×8000 oder 328 Megapixel) und von einem Cluster aus 40 Servern mit 6-Kern-CPUs auf Basis der Microarchitektur Intel Sandy Bridge betrieben wird.
Die signifikante Versionsänderung ist auf eine umfassende Überarbeitung der API zurückzuführen, einschließlich inkompatibler Änderungen. Um den Übergang zur neuen API zu erleichtern, wurde eine Zwischenschichtbibliothek vorgeschlagen, die die Migration vereinfacht, sowie die Einführung neuer geometrischer Typen. Die Unterstützung für die Open VKL (Open Volume Kernel Library) zur volumetrischen Rendering wurde hinzugefügt. Es wurde die Möglichkeit zur Anbindung zur Rauschunterdrückung in Bildern umgesetzt. Die Bibliothek ospcommon und das Modul zur Unterstützung von MPI wurden in separate Repositories ausgegliedert.
Quelle: opennet.ru
