Створення активів для відображення підписаного дистанційного поля?


9

У традиційній комп’ютерній графіці більшість 3D-моделей рендеруються розсіюванням або відстеженням променів проти підрозділеної сітки примітивів, як правило, трикутників або квадратиків. З недавніх пір деякі методи реального часу прогнозувались при відстеженні променів на полях, що підписалися на відстані (SDF). Інтуїтивно ці поля відстані не можуть бути однаковими трикутниками та квадратиками традиційного відображення і повинні бути чимось на зразок 3D-геометричних примітивів (кубів, сфер тощо), щоб отримати належне затінення. Це правда? Якщо ні, то чи можуть бути представлені складні сцени "традиційних" 3D-моделей за допомогою SDF? Якщо це правда, то як художники створюють моделі з високою деталізацією, що використовуються в рендері SDF?

Відповіді:


7

Підписані відстані поля популярні в мінімальних графічних програмах, таких як демонстраційна сцена, де цікаві об'єкти можна синтезувати з кількох простих аналітичних примітивів, таких як сфери або куби. Однак підписані поля відстані не обмежуються цими простими об'єктами, і їх не обов'язково потрібно проектувати людиною. Наприклад, ви можете синтезувати аналітичне поле відстані трикутної сітки без будь-якої взаємодії виконавця - SDF - це лише підписана відстань до найближчого трикутника, який можна легко обчислити. Це дозволяє продовжувати використовувати традиційний сітчастий конвеєр, а також використовувати SDF у фоновому режимі.

У випадку Unreal Engine SDF попередньо обчислюється автоматично один раз для всіх статичних сіток і потім відбирається в 3D-текстуру з низькою роздільною здатністю. Потім це можна дешево оцінити скрізь, використовуючи простий пошук текстури, що дозволяє їм робити м'які тіні та подібне під час виконання. Ця нереальна презентація на GDC 2011 коротко згадує про 3D текстури (слайд 27).


1
Також легко створити SDF з моделі вокселів.
Натан Рід

Є стаття про GPU Gems 3 про побудову підписаних дистанційних полів для довільних мереж за допомогою GPU, яка доступна тут: http.developer.nvidia.com/GPUGems3/gpugems3_ch34.html
Matteo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.