Представлен ANARI 1.0, открытый стандарт для движков 3D-рендеринга
Консорциум Khronos, занимающийся разработкой графических стандартов, опубликовал стандарт ANARI 1.0 (Analytic Rendering Interface), определяющий API для кросс-платформенных движков рендеринга и нацеленный на унификацию программных интерфейсов для визуализации данных. Реализации движков рендеринга с поддержкой стандарта ANARI уже подготовлены компаниями AMD (RadeonProRenderANARI), Intel (anari-ospray) и NVIDIA VisRTX). Также опубликованы: открытый SDK для разработки приложений, дополнение с поддержкой ANARI для пакета Blender и генератор сцен в формате USD. Поддержка ANARI интегрирована в открытые пакеты визуализации VMD, VTK/ParaView и VisIt.
Предполагается, что новая спецификация значительно упростит разработку приложений, выполняющих визуализацию научных данных. ANARI предоставляет готовую высокоуровневую функциональность для построения 3D-сцен в памяти, позволяющую обойтись без написания низкоуровневого кода для работы с графикой. Приложения, поддерживающие ANARI, могут работать с любыми движками рендеринга, предоставляющими данный API. Спецификация разработана в соответствии с принципами построения открытых стандартов и учитывает пожелания сообщества (например, в ответ на предложения из сообщества добавлена поддержка формата glTF для использования материалов на основе физически корректного рендеринга).
ANARI предоставляет Си-API (C99) с обвязками для безопасной работы с типами в коде на C++, позволяющими создавать в памяти иерархические деревья объектов для полного представления 3D-сцены, трёхмерной геометрии поверхности и объёмных данных. Предоставляются такие возможности, как поддержка дополнений для расширения функциональности движков рендеринга, получение информации об обновлении сцены в асинхронном режиме, эффективная работа с массами в режиме zero-copy (без выделения дополнительной памяти, используя только изначально предоставленный буфер), средства для визуализации в интерактивном режиме.
Источник: http://www.opennet.ru/opennews/art.shtml? num=59553
© OpenNet