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

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

Страницы: 13 4 5 634 Следующая »
#45
0:43, 21 дек. 2016

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#58
16:11, 22 дек. 2016

XProger
Круто! А как копаешься в psx версии? Через ida? Там насколько я помню mips архитектура. Ресурсы там хранятся также как и в pc версии?

#59
16:17, 22 дек. 2016

Андрей5000
Формат карт и ресурсов частично отличается, в одном из предыдущих сообщений описывал разницу (палитры, звук и пр.), HEX редактор помог.
А как оно работает в оригинале не трудно догадаться:
Изображение

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