Проекты
GameDev.ru / Проекты / Форум / OpenLara - движок классического Tomb Raider (alpha 1) (4 стр)

OpenLara - движок классического Tomb Raider (alpha 1) (4 стр)

Поделиться
Страницы: 13 4 5 623 Следующая »
E-ConeУчастникwww20 дек. 201623:35#45
может это дело лучше запечь?
vakulaПостоялецwww20 дек. 201623:50#46
E-Cone
В игру, которая на первом пне еще бегала, наверное, можно добавить пару-тройку реалтайм технологий.
XProgerПостоялецwww21 дек. 20160:43#47
E-Cone
Конечно, как раз кешированием занят. Клетки уровня будут запекаться при необходимости по несколько штук за кадр, чтобы сильно по фпс не бить.
XProgerПостоялецwww21 дек. 20162:44#48
Вот ещё парочка скринов с более заметным color reflection
Изображение
Изображение
AMM1AKПостоялецwww21 дек. 20168:30#49
А я правильно понял, что полученный кубик из 6 пикселей используется только для ambient освещения главного игрока?
Андрей5000Постоялецwww21 дек. 201611:02#50
AMM1AK
если весь уровень закэшировать то можно и его осветить, хотя сомневась что это можно на вебгл сделать
AMM1AKПостоялецwww21 дек. 201612:27#51
Андрей5000
Что значит закешировать? Нарендерить в контрольных точках маленьких кубомап и для каждого объекта выбирать ближайшую?
XProgerПостоялецwww21 дек. 201612:36#52
AMM1AK
Интерполировать по барицентрическим координатам в треугольнике построенном на ближайших контрольных точках.
AMM1AKПостоялецwww21 дек. 201613:43#53
XProger
А, то есть, для каждой вершины выбирается ближайшая кубомапа, а внутри треугольника уже интерполяция?
Если так, то где происходит выбор наиболее подходящей кубомапы для конкретной вершины? На cpu и индекс кубомапы записывается в атрибут вершины, а в шейдере происходит выборка из массива кубомап по этомуиндексу? Или сразу в вершинном шейдере как-то определяется ближайшая кубомапа?
XProgerПостоялецwww21 дек. 201613:51#54
AMM1AK
Нет, ambient cube считается для каждой актуальной клетки уровня, по позиции игрока находятся 3 ближайших и интерполируются, как я уже выше описал. Получившиеся 6 цветов идут в фрагментный шейдер и они общие для DIP'a.

Правка: 21 дек. 2016 13:55

E-ConeУчастникwww21 дек. 201614:11#55
собсна в юнити так работают лайтпробы) только их надо вручную расставлять
AMM1AKПостоялецwww21 дек. 201614:47#56
E-Cone
Жень, а можешь ответить на вторую часть вопроса? На какой стадии и где определяется, какой лайтпроб нужен для конкретной вершины? И ещё, лайтпробы только для фейкового gi используются или ещё для чего?
E-ConeУчастникwww21 дек. 201614:57#57
AMM1AK, в юньке вроде как для целого объекта вычисляется центр баундинг бокса и для него идет проверка, какие ближайшие лайтпробы на него влияют. В новой версии появились световые объемы - что-то более сложное для обработки длинных объектов
AMM1AKПостоялецwww21 дек. 201617:08#58
E-Cone
Аа, ну понятно:) спасибо)
XProgerПостоялецwww22 дек. 201614:02#59
В оригинальной PSX версии были синие кристаллы сохранения и была у них одна любопытная особенность - фейковое отражение, которое достигалось путём чтения прямо из front buffer'а (пока заполняется back), благо сонька архитектурно позволяла делать это со скоростью света.
Ночью реализовал расчёт отражения для кристаллов и у себя. Т.к. фетчить буфер кадра на современном железе неоправданно дорого, решил сделать более честное отражение при помощи карт окружения. Для каждого такого кристалла при старте игры запекается CubeMap 128х128. В будущем, планирую закрепить за ним небольшой источник голубого света.
Как они теперь выглядят показано на видео и скриншоте:
Изображение

Правка: 22 дек. 2016 14:34

Страницы: 13 4 5 623 Следующая »

/ Форум / Проекты / Оцените

2001—2017 © GameDev.ru — Разработка игр