Перейти к контенту

Редактирование движка X-Ray


Rolan

Рекомендуемые сообщения

Извиняюсь, но ближе к вопросу темы на форуме не нашел.

 

"Еще раз о намокании."

 

Вопрос к специалистам.

Можно ли создать мод с эффектом намокания дороги, но не через gloss factor, а немного другой.

 

О чем речь:

Вообще при попадании воды на рассеивающую свет поверхность (асфальт, бетон) она выглядит более темной, так как

за счет заполнения неровностей водой рассеяние уменьшается,а отражение увеличивается. В начале дождя на дороге темные пятна -

следы от капель.

 

Чтобы было нагляднее, я написал небольшую демонстрационную программу, ссылка:

 

http://files.mail.ru/8S2Q6B

 

Программа на основе примеров DirectX SDK, требует обновленного DirectX и Visual C++ 2010 redistributable package.

Управление : клавиши "1","2","3" задают интенсивность дождя. При этом происходит "намокание". Клавиша "0" прекращает дождь.

Начинается "высыхание".

 

Как это работает:

 

Используется мультитекстурирование через шейдеры. На текстуру дороги накладывается полупрозрачная текстура со следами

капель. Текстура небольшая, 32x32, накладывается с режимом адресации wrap. Прозрачность имеет некое заранее выбранное значение.

Следы получаются модификацией текстуры, потексельно, случайным образом.

 

T_y = rand() % 32; //координаты текселя, случайные числа

T_x = rand() % 32; //от 0 до 31

 

T_color = CONST + rand () % 48;

//цвет (яркость), случайное

//число в некотором диапазоне, позволяет получить анимацию

//поверхности.

 

Прозрачность текстуры передается в шейдер из программы. При "высыхании" прозрачность увеличивается. После полного

"высыхания" (полностью прозрачная), прозрачность устанавливается в начальное значение, а текстура очищается.

Система готова к следующему дождю :-)

 

Можно ли реализовать подобный алгоритм через скрипты? Или нужно ковырять движок? Куда копать?

 

Еще я хотел реализовать лужи, но потом подумал, что регулярно-периодические лужи на дороге будут выглядеть

неестесственно. Лужи должны быть объектами, привязаными к карте, и становиться видимыми при дожде.

 

 

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...