Skip to main content

ANARI Logo

Cross-Platform 3D Rendering Engine API

ANARI significantly simplifies the development of applications in domains such as scientific visualization by providing high-level functionality to build an in-memory scene representation to be rendered without need for low-level graphics code, and enabling the use of any 3D rendering engine that supports the ANARI API. ANARI has already been widely integrated into scientific visualization applications, and is expected to be used by diverse applications needing portable access to multiple rendering engines delivering sophisticated 3D functionality such as ray tracing and global illumination.

LATEST NEWS

Khronos Launches ANARI 1.0 as the Industry’s First Cross-Platform 3D Rendering Engine Open Standard API

Simplifies development of portable 3D visualization applications using state-of-the-art rendering; Multiple implementations and open-source SDK shipping

On August 2, 2023 the Khronos Group announced that the ANARI 1.0 open standard, cross-platform 3D rendering engine API has been finalized and that multiple implementations are shipping from AMD, Intel and NVIDIA, together with an open-source software development kit (SDK) from Khronos.


“Historically, visualization applications required custom-written renderers, but fast moving advances in rendering algorithms, hardware, and associated low-level GPU APIs have made it increasingly difficult for domain experts to keep pace with modern rendering methods. The result of a three year effort by industry-leading experts working together at Khronos, ANARI now simplifies the development of portable 3D visualization applications that use backend engines to access state-of-the-art rendering. We thank the scientific visualization community for their invaluable assistance in refining ANARI’s design, and now we are excited to see how other application domains take advantage of the industry’s first vendor- and ecosystem- independent rendering engine API.”

About ANARI

ANARI is a C99 API with C++ type-safe wrappers that is used to build an in-memory hierarchical object tree that expresses the complete scene for a single frame, including 3D surface geometry and volumetric data. ANARI provides rendering engines the semantics to expose innovation through extensions; access asynchronous scene updates and zero-copy data arrays for low frame latency; and ultimately create beautifully rendered state-of-the-art imagery without the need for proprietary APIs, all while enabling the interactivity necessary for exploratory visualization.

The ANARI 1.0 specification was developed with full public access to draft specifications and incorporates significant community feedback, including improvements to the object interface, better error handling through guaranteed API stream robustness, revamped runtime feature queries, directly mapped array parameters, improved volume shading, and compatibility with the Khronos glTF Physically-Based Rendering (PBR) materials.

ANARI Overview Presentation

Hover to pause the slideshow

ANARI Implementations Available Today

NVIDIA VisRTX rendering using ANARI. San Miguel scene
© Guillermo M. Leal Llaguno

The Rendering engines below now support the ANARI device API and are expected to be officially conformant when the ANARI 1.0 Adopters Program is released.

ANARI Applications and Add-ons

VMD Rendering using ANARI. Image courtesy of the University of Illinois.

The following applications and add-ons support the ANARI API.

  • VMD - Molecular Visualization Dynamics
  • ParaView - Multi-platform data analysis and visualization (based on VTK)
  • VTK - The Visualization Toolkit
  • VisIt - Interactive, scalable, visualization, animation and analysis tool
  • USD device for ANARI - ANARI USD output for NVIDIA Omniverse
  • Blender Add-on - makes ANARI backends available as renderers in blender.

The ANARI Open Source SDK

The ANARI SDK streamlines developer’s’ exploration and use of the API and contains example applications, including a simple interactive viewer demonstrating various ANARI concepts, together with development tools including a debug layer for API stream validation, and a layer for API call tracing and replay. For ANARI implementers, the SDK includes backend layers that implement common functionality such as handling parameters or object lifetime, a Python-based Conformance Test Suite, and the ‘Helide’ ANARI sample implementation that demonstrates API implementation choices and shows how ANARI implementations can integrate with the SDK.

  • Rendering Engine Backend Layers
    • Adopters can fully implement the API or use convenience layers that implement common functionality such as handling parameters or object lifetime.
  • Loadable Debug and Trace Layers
    • Debugging layer for application API stream validation. Trace layer for API call tracing + replay.
  • Conformance Test Suite
    • Based on Python and used in ANARI Adopters Program
  • ‘Helide’ Sample Implementation
    • Demonstrates possible API implementation choices and shows how adopters can integrate with the SDK
  • Example Applications
    • Demonstrate the core ANARI concepts and includes a simple interactive viewer

Strong ANARI Industry Support

All layers in the scientific visualization stack are represented in the ANARI eco-system including GPU vendors, rendering engines, visualization libraries, tools and applications.

Industry Support for ANARI

“The ANARI rendering API is a big step in standardizing the pipeline of scientific rendering, allowing developers and scientists to write code once and render in many places without needing to know the specifics of the device. We look forward to supporting multiple platforms for GPU and CPU rendering via our Radeon ProRender backend for ANARI at GPUOpen.com.”

“As a recognized contributor to open, standards-based platforms and ecosystems, Intel welcomes the release of the high-level rendering API specification ANARI, led by the Khronos Group. The ANARI working group found the delicate balance between providing ease-of-use for applications development and delivering capabilities for high-performance implementations by vendors. Intel supports the ANARI API with an open-source implementation based on Intel® OSPRay (part of the Intel® oneAPI Rendering Toolkit), contributing expertise and technologies to advance high-fidelity rendering for Digital Twins, scalable scientific visualization in HPC and more to all ANARI users”

“At Kitware, scientific and medical visualization are core to our business. Hence, it is essential that our software stack stays up to date with the latest rendering techniques and works across multiple platforms and library implementations. With ANARI, we can leverage various backends providing advanced ray tracing capabilities through a single API. For toolkits such as VTK and VTK-m and for end user applications such as ParaView, ANARI is a huge win, giving us access to many rendering engines without the prohibitive per-engine development costs.”

“NVIDIA is excited to bring RTX accelerated rendering technologies to the ANARI ecosystem. Beginning with our own VisRTX implementation, we want users to have easy access to hardware accelerated ray tracing to better accomplish their work visualizing 3D data. Furthermore, our ANARI-USD implementation marks a low-friction pathway for existing 3D applications to connect themselves to our ever-growing Omniverse platform – seamlessly using their existing ANARI code to translate their data to USD. Whether it’s accelerating existing 3D applications or creating new ones with Omniverse, ANARI makes it easier than ever to take advantage of NVIDIA’s contributions to the 3D visualization industry.”

Additional Resources

Join the ANARI Community

There are several ways to follow the latest ANARI developments, provide feedback on the specification, and get your questions answered.

Join Khronos. If you would like to participate directly in the ongoing development of the ANARI standard please join Khronos and become a member of the ANARI Working Group.

Join the Khronos Group

Khronos Standard Additional links and information