IT-словарь › Программирование › Сферическая трассировка (sphere tracing)

Сферическая трассировка (sphere tracing)

Программирование Svenska → Обновлено: 2026-10-26

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

Если поверхность задана полем расстояний (SDF) — функцией, возвращающей для любой точки расстояние до ближайшей поверхности, — луч можно трассировать, не решая никаких уравнений. На каждом шаге спрашиваешь у поля, как далеко поверхность, и прыгаешь ровно на это расстояние. Поскольку оно кратчайшее по всем направлениям, шаг никогда не проскочит сквозь поверхность. Луч приближается асимптотически, пока расстояние не станет пренебрежимо малым.

Метод сформулировал Джон К. Харт в 1996 году — именно для неявных поверхностей. На нём стоит современный рендеринг SDF: 64-килобайтные работы демосцены, Shadertoy, функции расстояний Иниго Килеса и Dreams от Media Molecule. По сравнению с наивным raymarching с фиксированным шагом он и быстрее, и точнее — но лишь настолько, насколько точно само поле расстояний.

← Назад к словарю