RoboGame blog [RIP]Статьи

Архив блога: Октябрь 2008

Автор:

Рендер: освещение
А вот не всё так радостно оказалось, как планировалось :)
Т.к. нам при наложении теней (и освещения собсна тоже) от нескольких источников надо различать какая тень от какого источника рендится. Ибо сложение освещения идёт по формуле:

Light1*Shadow1+Light2*Shadow2+...+LightN*ShadowN

А по технике складывания в один буфер получается что

Light1*(Shadow1*Shadow2*...*ShadowN) + Light2*(Shadow1*Shadow2*...*ShadowN) +... + LightN*(Shadow1*Shadow2*...*ShadowN)

Короче нифига неправильно затенялось :(  (http://www.gamedev.ru/code/forum/?id=85226)

Вообщем переколдовал я рендер и решил проблему через MRT. При освещении в RT1 рендится бамп и освещение, в RT2 – только тени с освещением. Потом RT2 фильтруется и накладывается на RT1. Таким образом получаем чёткий бамп с наложенным на него освещением и подразмытыми тенями. Проверка на растекание тени через края объектов также присутствует. Реализованы все виды освещения Directional, Omni, Spot.

Теперь займусь наверно общей архитектурой игры – иерархия объектов, отсечения и всё такое.

Изображение

Модели: ветхий забор, платформы, опора

дряхлый поломаный заборчик для уровня "свалка":

Изображение

платформы для уровня "завод":

Изображение

опора металлических ферм для уровня "завод":

Изображение


Набросок кусочка уровня

Вот решил набросать в Максе кусочек уровня, чтобы посмотреть как ранее созданные модели вместе будут смотрется. Вцелом я доволен результатом, более менее в одном стиле, но всё же кое-что придётся наверно перекрашивать или играться с гаммой\яркостью\контрастом. Ну это уже ближе к созданию уровней будет.

Изображение

Движок: загрузка объектов
Работаю над загрузчиком объектов. Переписал кое-какие части и сделал многое по нормальному. Дополнил формат объектов (использую для всех данных XML формат).
Вот плоды моих экспериментов (всё-таки мои тени смотрятся очень даже ничего):

Изображение

---

+ Показать

16 декабря 2008 (Обновление: 7 фев 2012)