TGViewer
0x405 0x405 @a0x405 · 217 subscribers
Post #139 274

Forwarded from ἀποκάλυψις

В данный момент я занимаюсь проверкой моей теории о возможности эффективного обратного (дифференцируемого) рендеринга SDF-сеток с помощью построения SDF-дерева (или SDF-пирамиды, если быть точнее).

Суть моей теории заключается в том, что рендеринг и оптимизацию SDF можно осуществлять оперируя только неполным множеством значений SDF-сетки, а именно набором множеств нулевого уровня исходной сетки и её аппроксимаций. Это должно уменьшить требование к памяти и скорость алгоритмов обратного рендеринга SDF.

Для проверки этой теории я решил написать простую программу-рендерер на языке C. Основной вопрос, который я хочу решить этим экспериментом состоит в следующем: достаточно ли упомянутого набора данных для корректной трассировки лучей.

У эксперимента уже есть одно прямое решение: осуществлять трассировку можно методом обхода воксельной сетки до множества нулевого уровня, переключаясь в последствии на трассировку SDF, однако я этим решением не удовлетворён, кроме того, я не уверен в том, что его возможно дифференцировать. Потому я пытаюсь сделать кое-что более интересное!

***

Некоторые упоминаемые определения:

Обратный рендеринг — метод получения параметров сцены (формы геометрии, положения объектов, свойств источников освещения, камеры и т.д.) по изображению. В прямом рендеринге из сцены мы получаем картинку, здесь наоборот. Как это делать — вопрос не простой.

SDF, Signed distance function, функция расстояния со знаком — это функция, значение которой есть минимальное расстояние до некоторой геометрической формы (границы некоторого множества). Такой функцией можно представлять трёхмерную (двумерную или скольки-угодно мерную) геометрию, чем активно пользуются любители пописать шейдеры. SDF-сетка представлять собой дискретизацию этой функции.

Множество нулевого уровня, Zero-level set — множество точек, в которых значение функции равно нулю. Частный случай множества уровня. В случае применения к SDF-сетке — это множество ячеек сетки наиболее близких к нулевому значению SDF, множество ячеек, описывающих контур геометрии объекта.
  • 🕊 1
More from @a0x405
  1. Sep 23, 2026На странице сервера, а так же на самом сервере произошла русификация. Теперь всё, включая…
  2. Sep 4, 2026Теперь страница сервера выглядит как настоящий командный пункт! Добавил интеграцию чата се…
  3. Aug 31, 2026Открыл ванильный Minecraft сервер последней версии (26.2). Присоединиться может каждый, оф…
  4. Jul 27, 2026Вместе с Андреем и Иваном мы сделали игру для GMTK Game Jam 2026. Игра называется Field, о…
  5. Jun 19, 2026Написал две системы поиска путей для hill. На видео можно увидеть их в действии. A* исполь…
  6. Jun 13, 2026https://a0405u.itch.io/hill Поучаствовали в джеме с ребятами, сделали прикольную штуку, ко…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →