Pull to refresh

Comments 7

«если просто случайно (равномерно) выбрать широту и долготу, то у полюса у нас получится замечательный сгусток»
Полярные координаты же. Радиус постоянный, остается случайным образом выбрать два угла.
Это и есть случайный выбор широты и долготы. И это не даст равномерного распределения точек на сфере.
Длина параллели пропорциональная косинусу широты. Поэтому для высоких широт надо брать меньше точек.
В статье можно указать, что рассмотренный метод скринспейсового ао называется HBAO — вдруг кто-то захочет загуглить)
Ну, собственно, вы и указали, спасибо за уточнение. Хотя для меня весь этот зоопарк ssao на одно лицо :)
Ну это не совсем HBAO. Это очень сильно упрощенное приближение к нему.

По поводу «самого простого способа» — ну, это, скажем так — далеко не самый простой. На самом деле намного легче пройтись по всем вершинам модели и от каждой пускать те же 1000 лучей по полусфере, ориентированной по нормали. Потом мы смотрим — уперся ли луч в какой-нибудь треугольник или нет, и как далеко этот треугольник находится от нашей проверяемой вершины — таким образом получить затенение. Но это, все-таки, ближе к трассировке лучей, чем к рендерингу.
Самый простой при наличествующей базе кода. Мне не надо писать пересечения луча с треугольниками, достаточно вызвать уже написанный код. А с настоящими библиотеками ещё и ускоренный с железом.
Sign up to leave a comment.

Articles