Привет, ребята :) это мой первый вопрос, и я надеюсь, что это не слишком конкретный / широкий вопрос, на который я не смогу ответить.
Я очень взволнован Рэй Маршингом (в частности, отслеживанием сферы) и способностьюрендеринг основан на «расстоянии» между точками и объектами, а не на пересечении линий и объектов. Алгоритм лучевого марша приближается к поверхности, но точка пересечения не может быть рассчитана. Форма неизвестна, но ее можно аппроксимировать, передав точки в соответствующую функцию.
куб, представленный неоднородным полем расстояния
float cube(vec3 p) {
p = abs(p);
return max(p.x, max(p.y, p.z));
}
Под неоднородностью я подразумеваю, чтоРезультатом функции является не расстояние до объекта, но в большинстве случаев меньшее или равное. Таким образом, вы можете моделировать причудливые структуры и анимации с помощью формул (например, объединять / смешивать объекты).
Теперь, чтобы придать этой технике больше значения, требуется физическое моделирование. В идеале между произвольными полями расстояний, но я думаю, что необходимо сделать ограничения, чтобы сделать его достаточно быстрым для приложений реального времени (например, сфера против поля произвольных расстояний)
Теперь мой вопрос: если кому-то нравится думать об этой проблеме,получил какой-либо существующий материал или знает, какие ограничения могут быть сделаны, чтобы упростить задачу.
Большое спасибо за чтение и ваши мысли:)