Я рассматриваю возможность использования когерентности лучей в своем программном попиксельном рейкастере в реальном времени.
AFAICT, используя однородную сетку, если я назначу когерентность лучей участкам, скажем, 4x4 пикселя (где в настоящее время у меня есть один raycast на пиксель), учитывая 16 параллельных лучей с разными начальными (и конечными) точками, как это работает для связная сцена? Что я предвижу:
- Существует расстояние, в пределах которого ход лучей будет точно таким же для соседних/подобных лучей. В пределах этого расстояния я экономлю на обработке. (Откуда я знаю, что это за расстояние?)
- В итоге я получу немного неправильное изображение из-за того, что некоторые лучи не расходятся в нужное время.
Учитывая, что мои лучи отбрасываются из одной точки, а не из плоскости, я думаю, мне понадобится какая-то функция разделения в соответствии с пройденным расстоянием, чтобы набор всех лучей образовывал дерево по мере его движения наружу. Меня беспокоит то, что более мелкие детали будут потеряны при приближении к зрителю.
Наверное, я просто не понимаю, как это должно использоваться.