LINUX.ORG.RU

ANARI — Кроссплатформенный API движка 3D-рендеринга

 , , , ,

ANARI — Кроссплатформенный API движка 3D-рендеринга

0

1

2 августа 2023 года Khronos Group объявила о завершении разработки открытого стандарта ANARI 1.0, кроссплатформенного API для движков 3D-рендеринга. Несколько реализаций поставляются AMD, Intel и NVIDIA вместе с комплектом разработки программного обеспечения с открытым исходным кодом (SDK) от Khronos.

ANARI (Интерфейс аналитического рендеринга) - это Си-API (C99) с типобезопасными C++-обвязками. API может использоваться для построения иерархического дерева объектов в памяти, отображающего полную сцену для одного кадра, включая геометрию трехмерной поверхности и объемные данные.

Цель ANARI - упрощение разработки приложений в таких областях, как научная визуализация, путём предоставления высокоуровневой функциональности для построения сцены без использования низкоуровневого графического кода и позволяя использовать любой движок 3D-рендеринга, поддерживающий ANARI API. Как ожидается, ANARI будет использоваться различными приложениями, нуждающимися в кросс-платформенном доступе к нескольким механизмам рендеринга, обеспечивающим сложные 3D-функции, такие как трассировка лучей и глобальное освещение.

Доступные реализации ANARI:

>>> Подробности

★★☆

Проверено: hobbit ()
Последнее исправление: CYB3R (всего исправлений: 3)

Ответ на: комментарий от sparks

Вулкан уже всё?

API может использоваться для построения иерархического дерева объектов в памяти, отображающего полную сцену для одного кадра, включая геометрию трехмерной поверхности и объемные данные.

По-моему, я думаю, это немножко совсем другое, чем вулкан. Вулкан — максимально низкоуровневый «Чужой против Хищника» для выжимания максимума производительности, а тут что-то высокоуровневое…

Впрочем, вполне могу ошибаться.

hobbit ★★★★★
()
Ответ на: комментарий от sparks

Ты хоть прочитал текст? Данное API ортогонально вулкану.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от hobbit

Да, как раз прочитал спецификацию, это доп уровень абстракции, вулкан отнесен к Acceleration API а ANARI это интерфейс к Rendering Engine

  1. App
  2. ANARI API
  3. Rendering Engine - Intel OSPRay, Radeon ProRender,…
  4. Acceleration API - Vulkan, OpenGL, DX12, Metal Embree, OptiX, CUDA….
  5. Hardware
sparks ★★★
()

мы не знаем что это такое
если бы мы знали что это такое
мы не знаем что это такое

Bad_ptr ★★★★★
()

Не совсем понятно, как оно работает, но раз нужно - годно

sehellion ★★★★★
()
Ответ на: комментарий от mittorn

Этот апи, со своими реализациями к мезе никак не относится. Это скорее что-то вроде OpenSceneGraph / VulkanSceneGraph или Ogre.

Сам по себе этот документ, это просто диздок проектирования такого движка, в котором включено всё, и рэйтрэйсинг и PBR.

Этот диздок напоминвает мне историю с XHTML, когда XHTML никто толком не мог написать, и браузеры постоянно падали из-за него в ошибку (из-за неправильного символа юникода например) ... То после этого, XHTML закопали и вместо него стандартизировали обработку ошибок для всех броузеров в HTML5

Set440
()

завершении разработки открытого стандарта ANARI 1.0
Доступные реализации ANARI

Только разработали стандарт, а уже и реализации есть. Молодцы, всем бы такую скорость

Logopeft ★★
()
Ответ на: комментарий от hobbit

Тут три сущности (приложение, железо и прокладка) и два протокола между ними. Проще — только врукопашную железо дёргать через Vulkan/DirectX/OpenGL, но это слишком хардкорно, если ты не игровой движок пишешь или что-то такое

MrClon ★★★★★
()

Стандарты это конечно хорошо, но пока лишь одна нвидия рулит глобальным освещением (АМД в *опе в рисёче, а как следствие, в реализации в железе), все всё-равно будут юзать куду и оптикс.

нуждающимися в портативном доступе

кросс-платформенном

corona
()

А как оно памятью управляет? Оно совместимо с GObject и его рефкаунтингом?

Shushundr ★★★
()

TLDR: Это универсальная максимально высокоуровневая апишка с сишным интерфейсом (стиль похож на OpenGL) к графическому движку, когда программист сможет добавить на сцену камеру, источники света, добавить объекты, натянуть на них материалы, а графический движок, реализующий этот API, сам отрендерит эту сцену с тенями, эффектами, шейдерами и т.п. Имплементация может рендерить в принципе как пожелает: хоть софтрендером, хоть графонием 20-летней давности, хоть рейтресингом.

Область применения этого API: научная и промышленная графика — всякие CAD, визуализации и подобное. Там, где нужно сделать картинку в 3D, но не заморачиваться. Одной апишкой вывести на экран, чтобы покрутить визуализацию в реалтайме, а затем той же апишкой отрендерить фотореалистично.

static_lab ★★★★★
()
Ответ на: комментарий от corona

пока лишь одна нвидия рулит глобальным освещением (АМД в *опе в рисёче, а как следствие, в реализации в железе), все всё-равно будут юзать куду и оптикс

Так в том и смысл, что и через 10-20 лет, когда рулить графикой будет другая контора, научное ПО смогло продолжать работать без портирования на «НовыйОптикс»

static_lab ★★★★★
()
Ответ на: комментарий от static_lab

через 10-20 лет, когда рулить графикой будет другая контора, научное ПО смогло продолжать работать без портирования

Да я понимаю. Я «за» так-то.

Просто когда смотришь на нвидиевскую куду и сравниваешь с амд-шными ридмишками по rocm на гитхабе… На научные статьи и на афилиацию авторов… На де-факто референсную систему/учебник глобального освещения pbrt… Или сравниваешь compute shader последнего opengl (~2015?) с кудой существенно более ранних лет… То понимаешь почему все для расчётов юзают только нвидию. И сам её выбираешь.

Ничего про сабж не знаю. Может хорош, и взлетит. А может как OpenCL станет, и бросят его потом. А ты его изучал, боролся с ним, пока другие просто и удобно делали свои дела на нвидии.

Я скорее за то чтобы АМД как-то пришла в себя, что-ли. Пока в некоторой области (глобальное освещение) один законодатель, как-то немного кисло выглядят такие стандарты.

corona
()
Ответ на: комментарий от corona

Пока в некоторой области (глобальное освещение) один законодатель, как-то немного кисло выглядят такие стандарты.

Так этот стандарт и не про глобальное освещение. Это про 3D-движок в принципе. Я же говорю, его можно заимплементить даже на доисторической видеокарте. Сами авторы пишут: «No rendering details prescribed». Никто не требует от имплементации тонн графония и рейтрейсинга в реальном времени.

static_lab ★★★★★
()
Ответ на: комментарий от static_lab

Так этот стандарт и не про глобальное освещение

Вообще-то GI - это по сути единственное (соответственно огромное) направление во всём ихнем рисёче. Нет GI - нет будущего.

Мне не нужно сейчас принимать решений о выборе такого/аналогичного апи. А без необходимости/требований/конкретики такой разговор бессмысленен. Даже если ты (static_lab) прекрасно шаришь в сабже. Я так, просто пессимистично набросил (из своего опыта предыдущих решений о выборе).

corona
()

Больше абстракций богу абстракций.

PS какой школьник им логотип рисовал? За такие кривые руки отрывать надо.

mogwai ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.