Добавил специальный шейдер для отрисовки воды
Шейдер использует 4 текстуры:
1) карта нормалей
2) карта аттенуации
3) зеркало
4) экран
На основе этого рассчитываются отражение и преломление. Коэффициент Френеля считается по упрощенной формуле clamp( abs(dot(view, normal)), 0.1, 0.9 ).
Цвет воды и силу преломления можно регулировать в шейдерном скрипте.
Карта аттенуации - это специальная текстура, рассчитываемая компилятором vmap, которая позволяет сделать плавный переход от воды к суше.
Шейдер будет работать на PS2.0 видеокартах и выше (начиная с GeForce FX/Radeon 9500).
XaeroX
Выглядит отлично, не хватает разве что каустиков и тумана под водой (когда наблюдаем сверху, как в хл2) .
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Систематизировал воду, ввёл новую переменную для настройки её качества, которая может принимать три значения. См. картинку.
Также изменения коснулись шейдерных скриптов (появились новые команды), формата карт (лайтмапы теперь 32-битные, а не 24-битные), компилятора и кое-чего по мелочи. Так что водичку вживую вы увидите не раньше большого кумулятивного апдейта.