Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ 3D-Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ OSPRay Studio 1.0 ΠΈ Π΄Π²ΠΈΠΆΠΎΠΊ 3D-Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° OSPRay 3.1

Компания Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° OSPRay Studio 1.0, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ 3D-Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π²ΠΈΠΆΠΊΠ° распрСдСлённой трассировки Π»ΡƒΡ‡Π΅ΠΉ OSPRay. Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для высокоточного Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° слоТных сцСн ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сцСн, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… распрСдСлённого выполнСния вычислСний Π² кластСрС ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Код прилоТСния написан Π½Π° языкС Π‘++ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. Для отрисовки Π½Π° экран ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ OpenGL ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° GLFW.

ΠŸΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰Π°Ρ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Ρƒ сцСна ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° Π² распространённых Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… ΠΈΠ»ΠΈ создана ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΠ·Π»ΠΎΠ² Π³Ρ€Π°Ρ„Π° сцСны (scene graph). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ MTL с ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ для фоторСалистичного Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, 3D-Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ glTF, тСкстур Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ UDIM, ΠΎΠ±ΡŠΡ‘ΠΌΠ½Ρ‹Ρ… разряТённых частиц (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Π»Π°ΠΊΠ°) Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ VDB, ΠΎΠ±Π»Π°ΠΊΠΎΠ² Ρ‚ΠΎΡ‡Π΅ΠΊ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PCD (Point Cloud Data), ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ освСщСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ EULUMDAT (.ldt). БостояниС Π³Ρ€Π°Ρ„Π° сцСны ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сохранСно ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON.

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². НапримСр, доступны ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ мСдицинских Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ DICOM, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚ΠΎΠ² ΠΏΠΎ ΠΊΠ°Ρ€Ρ‚Π΅ высот, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Ρ‚Ρ€Π°Π²Π°, Π΄Π΅Ρ€Π΅Π²ΡŒΡ), симуляции астрономичСских событий, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ VTK ΠΈ Ρ‚.ΠΏ..

Для симуляции повСдСния свСта поддСрТиваСтся использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° трассировки ΠΏΡƒΡ‚ΠΈ. Визуализация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ±ΡŠΡ‘ΠΌΠ΅ ΠΈΠ»ΠΈ Π½Π° плоскости. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ фоторСалистичноС глобальноС освСщСниС с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ физичСских свойств ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ эффСкты затСнСния (Ρ‚Π΅Π½ΠΈ, ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Π·Π°Ρ‚Π΅Π½Π΅Π½ΠΈΠ΅ «Ambient occlusion»). Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ созданиС сцСнариСв для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° систСмС Π±Π΅Π· ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°, Π²Ρ‹Π±ΠΎΡ€Π° областСй для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, настройки ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΈ сцСны.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии OSPRay Studio:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π²ΠΈΠΆΠΊΠ° OSPRay, появившСйся Π² выпускС 3.1.
  • Π’ интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ встроСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² Π΄Π²ΠΈΠΆΠΊΠ΅ OSPRay.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° API OpenEXR v2.x ΠΈ v3.x.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅ для автоматичСского обновлСния тСкстур.
  • Π’ API для ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ классам MainWindow ΠΈ ArcballCamera.
  • Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдоставлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° распрСдСлённого Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° с использованиСм MPI.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ нСсколько Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ Π½ΠΎΠ²ΠΎΠΉ вСрсии Π΄Π²ΠΈΠΆΠΊΠ° 3D-Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° OSPRay 3.1, задСйствованного Π² OSPRay Studio 1.0. Π”Π²ΠΈΠΆΠΎΠΊ развиваСтся ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Intel Rendering Framework, Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ срСдств ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… расчётов SDVis (Software Defined Visualization), Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ трассировки Π»ΡƒΡ‡Π΅ΠΉ Embree, систСму фоторСалистичной отрисовки GLuRay, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для устранСния ΡˆΡƒΠΌΠΎΠ² Π½Π° изобраТСниях oidn (Open Image Denoise) ΠΈ систСму ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ растСризации OpenSWR. Код написан Π½Π° языкС Π‘++ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

OSPRay Π½Π°Ρ†Π΅Π»Π΅Π½ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π° использованиС Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… прилоТСниях для отрисовки сцСны Π½Π° Π»Π΅Ρ‚Ρƒ. Π”Π²ΠΈΠΆΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· привязки ΠΊ GPU, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ спСктрС устройств, ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций Π΄ΠΎ ΡƒΠ·Π»ΠΎΠ² Π² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… кластСрах. Для обСспСчСния Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ вСкторизация Π½Π° Π±Π°Π·Π΅ SIMD-инструкций, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Intel SSE4, AVX, AVX2, ΠΈ AVX-512. Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ распрСдСлён Π½Π° нСсколько ΡƒΠ·Π»ΠΎΠ² кластСра (поддСрТиваСтся MPI), Ρ‡Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ OSPRay для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ отрисовки ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΎΡ‡Π΅Π½ΡŒ высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° видСостСнах, Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… формируСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… LCD-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ.

Π‘Ρ€Π΅Π΄ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π² OSPRay 3.1:

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° использования ΠΈΠ·Π»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… тСкстур со свСтящимися ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ.
  • Π’ число ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… сфСричСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ «Π΄ΠΈΡΠΊ» (OSP_DISC) ΠΈ «ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ диск» (OSP_ORIENTED_DIS).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Π·Π΅Ρ€ΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ повторСния ΠΈ налоТСния тСкстуры Π½Π° Π³Ρ€Π°Π½ΡŒ (edge texture wrap).
  • Для всСх тСкстур Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΆΠΈΠΌΠ° OSPTextureWrapMode.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° обёртывания тСкстур Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ glTF.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° устранСния ΡˆΡƒΠΌΠΎΠ² ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚ΠΎΠ½Π° для Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±ΡƒΡ„Π΅Ρ€Π΅.
  • ΠŸΡ€ΠΈ использовании GPU Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° смазывания двиТущихся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (motion blur).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru