Моделирование морской и речной воды на ps 2.0 "Ил2-ЗС” и "Вторая мировая". Юрий Крячко, 1C.
Download ReportTranscript Моделирование морской и речной воды на ps 2.0 "Ил2-ЗС” и "Вторая мировая". Юрий Крячко, 1C.
Моделирование морской и речной воды на ps 2.0
"Ил2-ЗС” и "Вторая мировая".
Юрий Крячко, 1C
Исходные посылки задания волн •
Вершинные и попиксельные данные.
•
Карта высот (отсортировано по уровню реалистичности) => + Набор анимированных 2D Текстур - 3D Текстуры (преимущество z- координаты)+DepthReplacement - Шейдерные текстуры (Displacement Maps/ Начиная ps3.0) - Геометрия
•
Карта дна, Карта река/море, карта освещенности
•
Вспомогательные текстуры: дно, каустик, пена
•
Константные данные - погода (скорость ветра),
•
Параметры упрощенной модели освещения
Базовая расчетная формула
R I N
I
2
a i
N
(
K d N i
N
,
K
(
E s
N
)
L
)
K Freshel
E s
{
lerp
((
N
(
N
E
),
R
) ,
dSdT
,
a
)}
Моделирование различных эффектов •
Отражение, преломление света, каустик, тени
•
Полоса прибоя, барашки,
•
Прибрежное волнение
•
Моделирование времени суток
•
Моделирование погоды (шторм, штиль).
Способы оптимизации •
Одинаковые входные параметры у шейдеров - разные формулы расчета
•
Рендер отражений в текстуру с пропуском кадров. Проблемы быстрого движения. Перерасчет кубмапа.
•
Проверка и отсечение отраженных объектов и ландшафта. soft/hw occluder. Отсечение обьектов на ланшафте
•
Использование компилятора cg.
Плюсы и минусы.
•
Примеры шейдеров
•
Оптимизация под различные ускорители, обсуждение проблем несовместимости.Филрейт. Рендер в текстуру. Помощь стенсила.
Вариант воды ps1.1-1.3 OLD!
Вариант воды с возмущением отраженных объектов с помощью dsdt карты и с по вершинным учетом закона Френеля и имитацией световой дорожки. ps1.1 в 2 прохода рендера
1.
Наложение карты отражения, возмущенной dsdt Используется специальная радиальная сетка для решения проблемы с делением на текстурную координату q: (s/q,t/q) Помимо деления, повершинно вычисляется коэфициент Френеля 2-4 тестуры 2. Наложение бликов от Солнца –Register combiner
Вариант воды ps1.4+ OLD!
•Улучшенный метод…с отражением заданным в кубмапе для дальних объектов и возмущенным по dsdt для ближних. в
1 проход рендера
Структура слоев рендера ps2.0
Прибрежное волнообразование
A
(
x
,
y
,
t
,
w
)
A k
Tresh k
(
A
0
k k
4 0
A k
,
w
weather
dA k
(
x
,
y
,
t
)),
Tresh k dA k
(
x
, (
x
)
y
,
t
) (
x
sin((
x x
0 ) * (
x
1
y
) *
k x
x
)
t
) На графике представлены более сложные зависимости
dA - зеленый цвет
I
- прозрачность волны - красный Функция порога имеет плавные спад и нарастание (линейно)
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
Вариант воды ps1.4+
P.S. Приезжайте к нам на Таите!
THE END