Current-Day Problems with Analytic Rendering: Why an Open Standard is Needed and What an API Design Could Look Like

Recent advances in rendering technology have dramatically improved data visualization, delivering imagery that is highly physically accurate and visual cues that allow users to intuitively understand complex data sets. Particularly, the introduction of real-time ray tracing has gone a long way to advance the technology. However, while these graphical techniques are, indeed, impressive, their application developments are intensely complex and often too expensive.

While there are some graphics APIs, such as Vulkan, that do provide powerful rendering hardware abstractions, they are not an ideal fit for analytic rendering, as they are often too low-level and development-heavy for most visualization applications to use them effectively. To circumvent these difficulties, several hardware vendors have developed higher-level rendering APIs, like OSPRay from Intel or VisRTX from NVIDIA. However, while these APIs may satisfy some of the needs of visualization applications, they inhibit greater development within the industry as a whole, as they contribute to ecosystem fragmentation.

Finding a Solution with an Open Standard

Visualization applications must be ported to multiple rendering APIs, and as this number of APIs increases, so, too, does the work for developers who must port their applications to each different rendering API. However, if there were one standard API that could support multiple platforms, then fragmentation within the industry could be greatly reduced.

Such an open, higher-level analytic rendering API standard could not only significantly reduce software development costs, but also make advanced rendering techniques more accessible and widely used by visualization applications for which rendering is necessary.

Designing an Open Standard for Analytic Rendering

The ultimate goal of this open standard would be to simplify the development of visualization applications, while also leveraging the full potential of modern rendering capabilities. For visualization domain experts, it would free them from the arduous task of dealing with non-trivial rendering details and multiple incompatible backend rendering APIs; meanwhile, for graphic experts, it would free them from needing to implement domain-specific functionality and optimizations. Thus, by acting as a kind of contract between visualization domain experts and rendering technologists, the standard would be a “win-win” for the industry, enabling simplified implementation and development for both parties.

To fully achieve these goals, the industry will need an open standard that is platform independent, i.e., it can enable visualization applications to access many different rendering back-ends, as well as the full range of modern rendering capabilities, including–but not restricted to–the latest ray tracing techniques. Unlike more general scene graph APIs, an analytic rendering open standard should focus specifically on the needs of visualization domains: Rather than specifying the details of the rendering process, it should enable visualization applications to simply describe the relationship between objects in a scene to be rendered, leaving the technicalities of the rendering process to the back-end renderer.

Visualization applications simply describe objects in a scene to be rendered to gain portable access to a range of rendering back-end implementations. But with a successful analytic rendering open standard, technologists will be able to access a wider, more diverse range of rendering capabilities and engines.

About the Contributor

The Analytic Rendering Exploratory Group consists of independent visualization software vendors, visualization experts and hardware vendors with the common goal to define an API to simplify the development of visualization applications in a platform independent way. Current participating organizations include Oak Ridge National Laboratory, Texas Advanced Computing Center, Kitware, SURVICE Engineering and Delta-H Engineering, Intel and NVIDIA among others.

The Khronos Group is an industry consortium creating open standards to enable the authoring and acceleration of parallel computing, graphics, vision and neural networks on a wide variety of platforms and devices. Khronos standards include Vulkan®, OpenGL®, OpenGL® ES, OpenGL® SC, WebGL™, SPIR-V™, OpenCL™, SYCL™, OpenVX™, NNEF™, COLLADA™, OpenXR™ and glTF™.