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

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

Страницы: 13 4 5 631 Следующая »
#45
23:35, 20 дек. 2016

может это дело лучше запечь?


#46
23:50, 20 дек. 2016

E-Cone
В игру, которая на первом пне еще бегала, наверное, можно добавить пару-тройку реалтайм технологий.

#47
0:43, 21 дек. 2016

E-Cone
Конечно, как раз кешированием занят. Клетки уровня будут запекаться при необходимости по несколько штук за кадр, чтобы сильно по фпс не бить.

#48
2:44, 21 дек. 2016

Вот ещё парочка скринов с более заметным color reflection
Изображение
Изображение

#49
8:30, 21 дек. 2016

А я правильно понял, что полученный кубик из 6 пикселей используется только для ambient освещения главного игрока?

#50
11:02, 21 дек. 2016

AMM1AK
если весь уровень закэшировать то можно и его осветить, хотя сомневась что это можно на вебгл сделать

#51
12:27, 21 дек. 2016

Андрей5000
Что значит закешировать? Нарендерить в контрольных точках маленьких кубомап и для каждого объекта выбирать ближайшую?

#52
12:36, 21 дек. 2016

AMM1AK
Интерполировать по барицентрическим координатам в треугольнике построенном на ближайших контрольных точках.

#53
13:43, 21 дек. 2016

XProger
А, то есть, для каждой вершины выбирается ближайшая кубомапа, а внутри треугольника уже интерполяция?
Если так, то где происходит выбор наиболее подходящей кубомапы для конкретной вершины? На cpu и индекс кубомапы записывается в атрибут вершины, а в шейдере происходит выборка из массива кубомап по этомуиндексу? Или сразу в вершинном шейдере как-то определяется ближайшая кубомапа?

#54
(Правка: 13:55) 13:51, 21 дек. 2016

AMM1AK
Нет, ambient cube считается для каждой актуальной клетки уровня, по позиции игрока находятся 3 ближайших и интерполируются, как я уже выше описал. Получившиеся 6 цветов идут в фрагментный шейдер и они общие для DIP'a.

#55
14:11, 21 дек. 2016

собсна в юнити так работают лайтпробы) только их надо вручную расставлять

#56
14:47, 21 дек. 2016

E-Cone
Жень, а можешь ответить на вторую часть вопроса? На какой стадии и где определяется, какой лайтпроб нужен для конкретной вершины? И ещё, лайтпробы только для фейкового gi используются или ещё для чего?

#57
14:57, 21 дек. 2016

AMM1AK, в юньке вроде как для целого объекта вычисляется центр баундинг бокса и для него идет проверка, какие ближайшие лайтпробы на него влияют. В новой версии появились световые объемы - что-то более сложное для обработки длинных объектов

#58
17:08, 21 дек. 2016

E-Cone
Аа, ну понятно:) спасибо)

#59
(Правка: 14:34) 14:02, 22 дек. 2016

В оригинальной PSX версии были синие кристаллы сохранения и была у них одна любопытная особенность - фейковое отражение, которое достигалось путём чтения прямо из front buffer'а (пока заполняется back), благо сонька архитектурно позволяла делать это со скоростью света.
Ночью реализовал расчёт отражения для кристаллов и у себя. Т.к. фетчить буфер кадра на современном железе неоправданно дорого, решил сделать более честное отражение при помощи карт окружения. Для каждого такого кристалла при старте игры запекается CubeMap 128х128. В будущем, планирую закрепить за ним небольшой источник голубого света.
Как они теперь выглядят показано на видео и скриншоте:
Изображение

Страницы: 13 4 5 631 Следующая »
ПроектыФорумОцените