Как стать автором
Обновить
31
0
Фролов Алексей Владимирович @AlexWIN32

Программист

Планетарный ландшафт

Время на прочтение 51 мин
Количество просмотров 20K
C++ *Разработка игр *API *
Туториал
Трудно поспорить, что ландшафт — неотъемлемая часть большинства компьютерных игр на открытых пространствах. Традиционный метод реализации изменения рельефа окружающей игрока поверхности следующий — берем сетку (Mesh), представляющую из себя плоскость и для каждого примитива в этой сетке производим смещение по нормали к этой плоскости на значение, конкретное для данного примитива. Говоря простыми словами, у нас есть одноканальная текстура размером 256 на 256 пикселей и сетка плоскости. Для каждого примитива по его координатам на плоскости берем значение из текстуры. Теперь просто смещаем по нормали к плоскости координаты примитива на полученное значение(рис.1)


Рис.1 карта высот + плоскость = ландшафт

Почему это работает? Если представить, что игрок находится на поверхности сферы, и радиус этой сферы чрезвычайно велик по отношению к размеру игрока, то искривлением поверхности можно пренебречь и использовать плоскость. Но что если не пренебрегать тем фактом, что мы находимся на сфере? Своим опытом построения такого рода ландшафтов я хочу поделиться с читателем в данной статье.
Читать дальше →
Всего голосов 82: ↑82 и ↓0 +82
Комментарии 16

Screen Space Ambient Occlusion

Время на прочтение 19 мин
Количество просмотров 8.9K
C++ *Разработка игр *API *
Из песочницы
Далее будет рассказано о том, как реализовать метод расчета рассеянного освещения Screen Space Ambient Occlusion на языке программирования С++ с использованем API DirectX11.
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 14

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность