Показать сообщение отдельно
Старый 27.06.2011, 02:08   #14
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

;нужно сделать что бы в зоне видимости камеры была плоскость.
; А вне зоны ее не было. Отсечение ненужного легко решается задачей четырех плоскостей отгораживающих невидимое
; уравнение плоскости ax+by+cz=0 d не нужно так как плоскость проходит через начало координат
; Нужно в координатах камеры найти линии пересечения плоскости воды и клипплэйнов. Это первый этап. Видимость точки определяется легко потому как нормаль имеет длину 1 а уравнения плоскостей приведены к нормальному виду и расстояние от точки до поверхностей считается легко
;
;Этап второй нужным образом а именно линиями расположенными перпендикулярно нормальному вектору связывающему точку проецирующий на камеру в graphicswidth().2 и последовательно расположенную высоту имею рассчитываемые координаты точек, которые перевожу в координаты меша
; Чем дальше от камеры тем шире ряды.
;Рассчитываю полученные из ничто исходные координаты точек меша, считаю новые ставлю точки в полученные натягиваю сюрфэйс. Хитрым финтом для каждой точки из уравнения извлекаю нормаль
;ставлю нормаль. Придумываю как завязать текстурные координаты на глобальные, что бы текстура не дрожала. Профит.

Вот вроде просто )) Но программирования тут раз в 20 меньше математики

Мока, мне триалов для медитаций не хватает и на вид ксорс не лучше блитца. Да и жадный я)))
(Offline)
 
Ответить с цитированием