Software:ANARI

From HandWiki
Revision as of 09:22, 15 April 2022 by imported>MainEditor
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
ANARI
Anari RGB Mar20.svg
Developer(s)Khronos Group
Preview release
1.0 / November 2, 2021; 3 years ago (2021-11-02)
Repositorygithub.com/KhronosGroup/ANARI-Registry
Operating systemCross-platform
PlatformCross-platform
TypeVisualization and 3D rendering API
LicenseApache License 2.0
Websitewww.khronos.org/anari/

ANARI (ANAlytic Rendering Interface) is an open, royalty-free standard for developing cross-platform 3D Data Visualization applications that take advantage of modern 3D rendering and ray tracing capabilities. It provides a high-level C99 API for rendering 3D surfaces and volumes, using a variety of back-end renderers and associated rendering algorithms. It is developed by a working group managed by the Khronos Group consortium, and is described in the IEEE journal Computing in Science and Engineering[1].

VMD visualization of Satellite Tobacco Mosaic Virus rendered using the ANARI API with a developmental OSPRay ray tracing back-end.

Implementations

ANARI example rendering of a 3-D parametric surface using a developmental VisRTX ray tracing back-end.

The following implementations of the provisional ANARI specification are available and are expected to pass the Khronos ANARI Conformance Process when it is available.

  • Intel OSPRay[2]
  • NVIDIA VisRTX[3]
  • NVIDIA USD[4]

History

Work to define the requirements for a high-level API that could simplify the development of cross-platform visualization applications started in November 2019 with the formation of the ANARI exploratory group.[5] On March 3, 2020 the ANARI Working Group was formed[6][7] to work on the detailed design of the ANARI API and SDK. On November 2, 2021 ANARI 1.0[8][9] was released as a provisional specification and open source SDK to enable industry feedback via the ANARI GitHub[10] before the specification is finalized (expected 2022). Organisations cited as being involved in the development of the specification include: AMD, Argonne National Laboratory, Autodesk, Boeing Company, delta-h, D/VisionLab, Intel, Kitware, NVIDIA, Oak Ridge National Laboratory, SURVICE Engineering, Tecplot and the Texas Advanced Computing Center[11]

Motivation

Graphics APIs such as DirectX, OpenGL, and Vulkan abstract the low-level details of rendering hardware, and they provide all of the mechanics for rendering, but do not provide a complete rendering engine. As rendering algorithms and hardware acceleration technologies have advanced, the complexity of building and maintaining rendering engines has steadily increased, reaching a peak with real-time ray tracing and global illumination. The evolution of existing APIs such as OpenGL and Vulkan has been directed toward light weight interfaces and efficiency, greatly reducing the complexity of drivers and conformance testing, but requiring application developers to take on greater responsibility for high-level engine development. The combination of these factors created the need for a comparatively high-level API that visualization applications developers could use to provide cross-platform access to state-of-the-art rendering engines. ANARI fits between these visualization applications and libraries that are layered above it, and lower level renderers, rendering software frameworks, and 3-D graphics APIs.

References

  1. "ANARI: A 3D Rendering API Standard". IEEE Computing in Science & Engineering. 30 March 2022. doi:10.1109/MCSE.2022.3163151. 
  2. "Intel OSPRay Implementation". https://github.com/ospray/anari-ospray. 
  3. "NVIDIA VisRTX Implementation". https://github.com/NVIDIA/VisRTX. 
  4. "NVIDIA USD Implementation". https://github.com/NVIDIA-Omniverse/AnariUsdDevice. 
  5. Peddie, Jon (15 November 2021). "Visualizing data—analytic rendering via Khronos". Graphic Speak (Jon Peddie Research). https://gfxspeak.com/2019/11/15/visualizing-analytic-rendering/. 
  6. "Exploratory Group becomes full Working Group to develop standard for data visualization". https://www.khronos.org/news/press/khronos-to-develop-anari-analytic-rendering-interface-api-standard. 
  7. "HPC Wire: Khronos to Develop ‘ANARI’ Analytic Rendering Interface API Standard". https://www.hpcwire.com/off-the-wire/khronos-to-develop-anari-analytic-rendering-interface-api-standard/. 
  8. "Khronos Releases ANARI 1.0 Provisional API for Scalable 3D Data Visualization". HPC Wire. November 2, 2021. https://www.hpcwire.com/off-the-wire/khronos-releases-anari-1-0-provisional-api-for-scalable-3d-data-visualization/. 
  9. "Intel developing ANARI implementation to provide access to Intel OSPRay.". Intel. November 2, 2021. https://www.intel.com/content/www/us/en/developer/articles/news/oneapi-news-updates.html#gs.v73tyt. 
  10. "ANARI GitHub repository". https://github.com/KhronosGroup/ANARI-Registry. 
  11. "Khronos tries to get everybody meet at their house.". https://gfxspeak.com/2021/09/03/anari-come-together/. 

External links