Вокселизация фрактальных расстояний - PullRequest
0 голосов
/ 15 октября 2018

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


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

Подобное искажение происходит, когда я рендерим инцидент с подмножеством с ограничением-box напрямую (сферические лучи на поверхности бокса с помощью Julia DE вместо сохраненных расстояний вокселей), так что ограничение происхождения лучей, кажется, само по себе имеет эффект (даже если я масштабирую DE, чтобы он легко помещался внутри бокса).Отключение кода рендеринга вокселов и марширования обычно дает хорошие результаты, поэтому мой оценщик расстояния (не) также не влияет на результаты.

...