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

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

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

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

#46
12:27, 21 дек 2016

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

#47
12:36, 21 дек 2016

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

#48
13:43, 21 дек 2016

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

#49
13:51, 21 дек 2016

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

#50
14:11, 21 дек 2016

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

#51
14:47, 21 дек 2016

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

#52
14:57, 21 дек 2016

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

#53
17:08, 21 дек 2016

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

#54
14:02, 22 дек 2016

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

#55
16:11, 22 дек 2016

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

#56
16:17, 22 дек 2016

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

#57
19:11, 22 дек 2016

XProger
> Для каждого такого кристалла при старте игры запекается CubeMap 128х128.
А зачем на старте?
Кажется, в кубическую карту можно рисовать тогда, когда нужно рисовать сам кристалл. Тогда можно реализовать отражение динамического окружения в нём - Лары, монстров и т. д.

#58
19:13, 22 дек 2016

Panzerschrek[CN]
Можно всё, но не нужно :)

#59
11:58, 24 дек 2016

Будет ли версия Nude Rider?

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