автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.18, диссертация на тему:Методы и алгоритмы компьютерной графики для моделирования водной поверхности в системах виртуальной реальности

кандидата технических наук
Беляев, Владимир Сергеевич
город
Санкт-Петербург
год
2005
специальность ВАК РФ
05.13.18
Диссертация по информатике, вычислительной технике и управлению на тему «Методы и алгоритмы компьютерной графики для моделирования водной поверхности в системах виртуальной реальности»

Автореферат диссертации по теме "Методы и алгоритмы компьютерной графики для моделирования водной поверхности в системах виртуальной реальности"

На правах рукописи

БЕЛЯЕВ Владимир Сергеевич

МЕТОДЫ И АЛГОРИТМЫ КОМПЬЮТЕРНОЙ ГРАФИКИ ДЛЯ МОДЕЛИРОВАНИЯ ВОДНОЙ ПОВЕРХНОСТИ В СИСТЕМАХ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ

Специальность 05.13.18 - Математическое моделирование, численные методы и комплексы программ

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Санкт-Петербург 2005

Работа выполнена на кафедре «Прикладная математика» ГОУ ВПО «Санкт-Петербургский государственный политехнический университет»

Научный руководитель:

Доктор технических наук, профессор Григорьев Б.С. Официальные оппоненты:

Доктор физико-математических наук, профессор Терехов А. Н.

Кандидат технических наук Абросимов С.Н.

Ведущая организация: Санкт-Петербургский филиал института

океанологии им. П.П.Ширшова РАН

Защита диссертации состоится « 200_Гг. в 16 ОР часов на заседании

Диссертационного совета Д 212.229.13 Санкт-Петербургского государственного политехнического университета по адресу: 195251, Санкт-Петербург, Политехническая ул., №29, корпус аудитория к I .

Автореферат разослан «.3$ » 200_Гг. .—.

Ученый секретарь диссертационного совета /у/

Д 212.229.13 доктор биологических наук, профессор /У/ Зинковский A.B.

АО

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Проблема моделирования водной поверхности является одной го наиболее сложных в компьютерной графике реального времени. Такая задача часто возникает при создании систем виртуальной реальности (СВР), к которым относятся виртуальные музеи, виртуальные путешествия, различные автомобильные, авиационные, морские и другие тренажеры, многие компьютерные игры.

Сложность создания таких систем определяется необходимостью формирования реалистично выглядящего изображения со скоростью, достаточной для поддержания высокой частоты обновления изображения на экране. Например, для создания иллюзии плавного движения в транспортных тренажерах эта частота не должна опускаться ниже 30 кадров в секунду. Вследствие поставленных ограничений для использования в СВР требуются специальные модели и методы, обладающие достаточным быстродействием и при этом позволяющие получить изображение, визуально похожее на реальное. Под последним понимается изображение, которое является вполне достоверным с точки зрения пользователей продуктов, использующих эти модели и методы.

Во многих СВР, например, морских и авиационных тренажерах, виртуальных путешествиях и компьютерных играх водная поверхность является центральным элементом сцены, и ее моделирование имеет большое значение. С этой целыо в СВР в основном применяются имитационные методы, представляющие собой совокупность эмпирически подобранных зависимостей для достижения визуальной похожести результата. Их использование требует трудоемкого подбора параметров и возможно лишь для ограниченного круга задач. С другой стороны, применение в СВР точных физических моделей, разработанных для неинтерактивных приложений, сдерживается их высокой вычислительной сложностью.

Кроме получения геометрии водной поверхности отдельную проблему представляет ее отображение на экране. Для этого можно использовать методы, визуализирующие ландшафт. Однако в отличие от неизменного ландшафта, геометрия водной поверхности постоянно меняется, что требует перестроения сеток и делает весь процесс чересчур трудоемким, не укладывающимся в рамки требований к СВР.

Чтобы получить реалистично выглядящее изображение водной поверхности, необходимо также моделирование оптических явлений, происходящих на границе и в толще воды. В известных работах, предлагающих пригодные для использования в СВР методы, не рассматривается рассеяние и поглощение света в толще воды, поэтому получаемое изображение во многих случаях выглядит нереалистично.

Таким образом для построения изображения водно» поверхности в СВР, требуются новые методы и алгоритмы, которые позволили бы получить визуально похожее изображение и удовлетворяли поставленным требованиям по быстродействию.

Цель работы. Построение набора моделей и алгоритмов, позволяющих в приложениях реального времени получать изображение водной поверхности, визуально похожее на реальное.

Научная новизна. В диссертационной работе получены следующие новые научные результаты.

• Предложено расщепление вектора потоков для уравнений мелкой воды, на основе которого построены противопоточная разностная схема, схема метода конечных объемов и схема разрывного метода Галеркина.

• Разработан метод генерации подвижной сетки с фиксированной триангуляцией для визуализации водной поверхности, представимой картой высот.

• Построена модель оптических явлений, пригодная для использования в СВР.

• Разработаны удовлетворяющие критерию визуальной похожести методы имитации ряби для визуализации в прибрежной зоне и вдали от берега.

Практическая значимость работы. Методы и алгоритмы, разработанные в диссертации, имеют достаточное быстродействие и позволяют получать реалистично выглядящие изображения, и, как следствие, могут использоваться в СВР (в частности для создания морских и авиационных тренажеров).

Апробация работы. Результаты работы были частично использованы при разработке нескольких СВР. Приведенный в работе алгоритм построения сетки был применен при разработке судового тренажера, который используется для обучения капитанов вхождению в Таллиннский порт. Для расчета геометрии водной поверхности в этом тренажере применялся стохастический метод, реализованный в данной работе. Разработанная модель оптических явлений была использована при создании компьютерной игры "Wakeboarding".

Результаты работы были доложены на международных научных конференциях "Nondestructive Testing and Computer Simulations in Science and Engineering (St-Petersburg)" в 2002 году; "Graphicon" (Москва) в 2003 и 2004 годах; научной конференции "Формирование технической политики инновационных наукоемких технологий" (Санкт-Петербург, СПбГПУ) в 2003 и 2004 годах.

Публикации. По результатам проведенных исследований опубликовано 7 статей. Структура и объем диссертации. Диссертационная работа состоит из введения, пяти разделов, разбитых на подразделы, заключения. Диссертация изложена на 151 странице и проиллюстрирована 67 рисунками. Список литературы содержит 94 наименования.

2

СОДЕРЖАНИЕРАБОТЫ

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

Первый раздел посвящен некоторым важным понятиям и вопросам, связанным с СВР. Дается определение понятия текстуры, которое широко используется в работе. Рассматриваются особенности архитектуры современной аппаратной базы СВР -персональных компьютеров, оснащенных графическим акселератором. Процессор этих плат имеет программируемый вершинный и пиксельный подпроцессоры, программы для которых называются шейдерами1. Производительность этих подпроцессоров крайне высока в сравнении с центральным процессором. Поэтому учет их архитектуры и возможностей можно использовать для достижения быстродействия, требуемого в СВР. Здесь же обсуждается классический для компьютерной графики подход по ускорению вычислений в СВР, который заключается в разделении расчетов на две стадии. Наиболее сложная часть вычислений производится на стадии предварительной обработки, результаты которой помещаются в таблицы. На вторую стадию выносятся достаточно простые расчеты, которые могут быть реализованы с помощью пиксельного шейдера, использующего помещенные в текстуры таблицы.

При создании СВР возникает вопрос о синхронизации процессов, происходящих в виртуальной реальности, с физическим временем. Фактически речь идет о синхронизации работы алгоритмов, реализующих численные методы, с появлением на экране очередного рассчитанного изображения. В работе рассматриваются различные методы синхронизации, выбирается подход, наиболее приемлемый в рамках поставленной задачи.

СВР должна обладать достаточным быстродействием, чтобы производить обновление изображения со скоростью не менее 30 кадров/сек, что составляет 33 мс/кадр. В работе показывается, что подсистема, отвечающая за моделирование водной поверхности, должна расходовать не более 8 мс/кадр.

Второй раздел посвящен расчету геометрии водной поверхности для прибрежной зоны и вдали от берега.

Приводится обзор математических моделей водной поверхности, используемых в компьютерной графике. Их можно условно разделить на 4 класса:

• модели, основанные на дифференциальных уравнениях, описывающих физические процессы (корректные физические модели);

1 от англ $Ьа(1ег - ретушер (прикладная программа для отображения текстуры поверхности в трехмерной графике)

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

• искусственно построенные модели, направленные на передачу основных особенностей моделируемых явлений (квазифизические модели);

• приемы и аппроксимации, не связанные с каким-либо физическим описанием моделируемого явления (имитационные модели).

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

Система уравнений мелкой воды записывается в виде

Здесь т] - высота свободной поверхности жидкости над нейтральным уровнем {г]=0), И -глубина, отсчитываемая от нейтрального уровня, Я = И + г) - полная глубина жидкости, -вектор скорости с компонентами » и V, ^ - ускорение силы тяжести.

В работе отмечается аналогия системы (1) с уравнениями газовой динамики для адиабатического течения совершенного газа с показателем адиабаты у=2. Это позволяет при решении уравнений мелкой воды опираться на хорошо изученные методы, разработанные для уравнений газовой динамики. Производится обзор существующих численных методов решения системы (1) и уравнений газовой динамики, позволяющих получить обобщенное решение. Среди различных методов отмечаются схемы, связанные с расщеплением векторов потоков (РВП), достаточно простые с алгоритмической точки зрения и в то же время правильно отражающие физические особенности описываемых процессов. Однако прямое построение таких схем для уравнений мелкой воды оказывается невозможным.

Рассмотрим построение схемы РВП на примере уравнений с одной просгранственной переменной. Запишем систему (1) в дивергентной форме

—+(у/ ■ У)Н + ШтV = О 81

— + (>у • V) + ggrad Н = ggrяdh

О)

дН дНи

= 0

— +

81 дх

Введем потоковые переменные Я и М=Ни - удельный поток массы, и запишем через них веетор неизвестных - р, и вектор потоков - Р

Р =

Н 1 (Н

Ни) (Л/

Р =

Ни

£Н: + Ни: | =

М

2 Н

(3)

Для уравнений газовой динамики вектор потоков К является однородной функцией потоковых переменных, что влечет равенство

Р = Ар, (4)

где А - матрица Якоби, на основе которого строится схема РВП в основополагающей работе [1]. Однако для векторов (3) свойство (4) не выполняется.

Образуем расширенную систему, присоединив к исходной системе уравнение энергии, которое является следствием уравнений системы (2)

дН [ дНи=() д1 дх

дНи | д (£ д1 дх\2

Э^ 2 ) дх

Н2 + Ни2 I = 8Н — дх

2 2

(5)

где с

скорость распространения малых возмущении в мелкой воде.

Обозначим <2= Н° +и и введем расширенные вектора потоковых переменных и

1 4 7 ^ 2 И * Н 2Н Для новых векторов уже будет выполняться равенство

Р = Ар,

аналогичное (4).

Расширенную матрицу Якоби Л можно представить в виде суммы А = А* +А", А4 = Ь"'Л±Ь, Л* =с!шв{Ль),

(6)

(7)

где Л1 = н - с, Л2 = и + с. Л, = и - собственные числа матрицы А, Л* = -

(8)

, Ь - матрица,

составленная из левых собственных векторов матрицы А как из строк.

Подставляя представление (8) для А в выражение (7), «расщепим» век-гор потоков Р на две составляющие Р+ и Г", отвечающие положительным и отрицательным собственным числам матрицы А. Таким образом, система (5) оказывается преобразованной к виду

(9)

Ы дх дх

в котором учитываются ее характеристические свойства. Теперь, отбрасывая «лишнее» (присоединенное) уравнение и аппроксимируя результат противопоточной разностной схемой, получаем равенство

р, + г; + Р;=Ф, (10)

которое и является схемой расщепления вектора потоков для уравнений мелкой воды. Здесь индекс х означает левую разностную производную, Х-правую.

Аппроксимация правой части схемы (10) производится исходя из требования, чтобы разностная схема давала точное решение тривиальной задачи, под которой понимается задача о состоянии воды в спокойном водоеме.

На основе полученного расщепления также была построена схема метода конечных объемов первого порядка аппроксимации. Для случая одной пространственной переменной аппроксимация закона сохранения на отрезке £1! =[х,„\12,хмп~\ записывается

Р.+уО^-Рм/гЬф .

(Н)

где величины Р|±,/2 определяют потоки через границы рассматриваемого отрезка.

Корректные выражения для потоков получаются из совпадения схемы (11) со схемой (10). Они имеют вид

Р,+,/.'(Р"Р-+/) = 1Г+(Ру)+Р"(Ры). Р,-//;(Р,-/,Р,)= И^-Л+ИР,), (12) где компоненты Р± вычисляются в точках хмп.

Построенная схема учитывает физические особенности исходной задачи и в то же время достаточно проста по сравнению с альтернативными методами, использующими для определения потоков задачу о распаде разрыва.

Схема (10) (или (11)) имеет первый порядок точности. Для построения схемы второго порядка в работе применялся разрывной метод Гаперкина. Он строится на основе интегрального тождества, которое в одномерном случае на отрезке П, имеет форму

| \wdx- |Р(Роз)

и1 а, а, их а,

Решение на кхкдом отрезке ищется в виде

п

р( .х, 0 = С{ (г)14 (.т),

где ¿4(.х) - полином Лежандра степени к. Подставляя (14) в (13) и полагая <р= Ь^х), получаем систему обыкновенных дифференциальных уравнений для определения коэффициентов С^. Потоки Р(±, _, через границы области П, вычисляются по формулам (12). Если в разложении (14) ограничиться одним слагаемым, то будем иметь схему (11). Для получения второго порядка точности необходимо удерживать два слагаемых. Решение получающихся систем обыкновенных дифференциальных уравнений осуществлялось по схеме Рунге-Кутта второго порядка. Чтобы сохранить монотонность решения на каждом промежуточном шаге процесса применялась известная процедура коррекции решения с помощью функции гшптос1.

В качестве тестовой рассматривалась задача о распространении бора в покоящуюся воду и задача о прорыве плотины (аналогичная задаче о распаде разрыва в газовой динамике). Производилось сравнение аналитического решения с методом первого порядка, второго порядка и методом расщепления матрицы коэффициентов (РМК). Сравнение показало, что методы, использующие построенное расщепление, хорошо аппроксимируют аналитическое решение и правильно вычисляют скорость скачка. Схема РМК, являясь неконсервативной, не позволяет правильно вычислить скорость скачка. Схема второго порядка точности улучшает решение в окрестности разрыва, однако платой за это является значительное увеличение трудоемкости. Дело в том, что в разрывном методе Галеркина второго порядка количество неизвестных возрастает в два раза и, кроме того, один временной шаг по схеме Рунге-Кутта реализуется в два этапа. В итоге получается как минимум четырехкратное увеличение трудоемкости, что может затруднить проведение расчетов в реальном времени. Поэтому для решения задач с двумя пространственными переменными, которые являются наиболее интересными с точки зрения моделирования водной поверхности, использовался метод РВП первого порядка точности.

В двумерном случае расщепление векторов потоков проводится по нормали к стороне сеточной ячейки аналогично одномерному случаю. Рассматривались две задачи: задача об отражении волн от твердой стенки и задача о набегании волн на пологий берег. Если первая задача решается в прямоугольной области, то для задачи о набегании волн на пологий берег

Рис 1. Область расчета для задачи о набегании волны на пологий берег.

расчет следует проводить в области (см. рис. 1), ограниченной помимо неподвижных границ постоянно изменяющимися линией уреза ЕР и внутренними береговыми границами вида ОН. Наличие подвижных границ приводит к серьезным вычислительным трудностям, преодоление которых может существенно увеличить время счета, что недопустимо для СВР. Поэтому для решения этой задачи была разработана схема сквозного счета. Расчетная область дополнялась участком берега до некоторой линии АВ. Добавленная часть суши и острова затапливались тонким слоем воды глубиной /г=/;„,,„. Для того чтобы этот слой держался на суше, в уравнения (1) вводилась сила придонного трения, коэффициент которой подбирался исходя из равновесия ее с силой гравитации. В итоге, расчет производился в области АВСО, а те участки, где выполнялось неравенство Я<Л„„„, считались сухими и визуализировались соответствующим образом.

Пример геометрии водной поверхности, полученной для рассмотренных задач, приведен на рис. 2. В целом полученные изображения правильно передают реальные процессы, что в сочетании с достаточным быстродействием алгоритма позволяет использовать разработанный подход в системах виртуальной реальности.

Рис. 2. Слева - решение задачи о волнах, набегающих на стенку; справа - решение задачи о волнах, набегающих на берег. При визуализации использовалась модель диффузного освещения Фонга с одним направленным источником света.

Область применения построенного метода ограничена прибрежной зоной. Чтобы полностью построить и визуализировать сцену с волнами, приходящими из открытого моря и набегающими на берег, необходимо моделирование водной поверхности вдали от берега. Для этого в данной работе применялся стохастический подход [2], в котором используется эмпирически определенный спектр взволнованной ветром водной поверхности. Для преобразования спектра в карту высот применялось быстрое преобразование Фурье. Моделирование большой площади поверхности осуществлялось путем повторения построенного участка поверхности, который использовался как шаблон. Метод обладает достаточным быстродействием для использования в СВР.

В результате расчета геометрии водной поверхности получается дискретная карта высот. Для того чтобы визуализировать ее как поверхность, необходимо использовать треугольную сетку, так как графический конвейер современных видеоакселераторов в качестве единицы обработки использует треугольник. Построению такой сетки посвящен третий раздел.

Проводится обзор существующих методов создания треугольных сеток, которые при визуализации водной поверхности могли бы обеспечивать высокое быстродействие и позволяли бы получать визуально похожее изображение. По результатам обзора сделан вывод, что такие методы на данный момент в литературе не описаны.

В настоящей работе предлагается метод построения и использования так называемой подвижной сетки с фиксированной триангуляцией. Широко распространенным методом повышения быстродействия визуализации для треугольных сеток является введение различных уровней детализации в зависимости от расстояния до камеры, что позволяет добиться уменьшения общего числа треугольников. Основным недостатком этого метода являются накладные расходы, связанные с перестроением сетки при изменении геометрии поверхности или положения камеры. В предложенном методе формирование уровней детализации сетки производится на этапе предварительной обработки, что позволяет существенно повысить быстродействие, так как при использовании сетка не будет нуждаться в перестроении. При этом предполагается, что проекция позиции камеры на плоскость ХЪ всегда находится в центре сетки (см. рис. 3).

Сортировка треугольников по расстоянию до камеры, необходимая для избавления от визуальных артефактов, может быть заменена сортировкой до центра сстки и осуществлена на этапе предварительной обработки. Для того чтобы центр сетки всегда соответствовал камере, сетка двигается в плоскости УХ вместе с ней. Во избежание эффекта дрожания сетки это движение делается дискретным.

Чтобы достичь высокого быстродействия необходимо эффективно находить треугольники, видимые из камеры. Так как определение видимости достаточно трудоемкая операция, то применение ее к каждому треугольнику сетки представляется нецелесообразным. Поэтому в работе предлагается разбивать сетку на блоки, для которых и производится определение видимости и последующая их визуализация.

Рис. 3. Подвижная сетка с фиксированной триангуляцией, двигающаяся вместе с камерой

Продление сетки до границы видимости камеры производится с помощью добавления специальных треугольников, окружающих основную сетку, которые на экране выглядят raí: полоска шириной в несколько пикселов. Этот метод подходит только для случая мало меняющейся высоты камеры, находящейся относительно невысоко над поверхностью, однако подобный случай широко распространен. Например, капитанская рубка судна находится на высоте 10-15 м над водой, и эта высота практически не изменяется.

Для получения реалистично выглядящей водной поверхности недостаточно иметь рассч1гтанную водную поверхность и уметь ее визуализировать с помощью треугольной сетки. Необходимо моделирование оптических явлений, таких как отражение, преломление и распространение свет4 в толще воды. Четвертый и пятый разделы посвящены построению соответствующих моделей.

В первой части четвертого раздела рассматривается модель оптических явлений, происходящих на поверхности и в толще воды. Дадим их неформальное описание (формальное описание приводится в диссертационной работе).

Освещение водной поверхности происходит за счет двух источников света (см. рис. 4): прямого света Солнца (освещенность Esim) и света Солнца, рассеянного атмосферой - света неба (яркость неба B¡ky). С одной стороны, оба эти источника, отражаясь от воды, формируют отраженную компоненту излучения, попадающего в глаз наблюдателя А. С другой стороны, часть излучения этих источников, преломляясь, оказывается в толще воды, где за счет процессов поглощения и рассеяния образуется так называемое световое поле (стационарное для случая, изображенного на рис. 4). Восходящее излучение, преломляясь на поверхности, выходит из толщи воды и попадает в глаз наблюдателя, образуя преломленную компоненту.

Зададим £Гсп как яркость излучения Солнца и неба, которая, дойдя до точки В, отразится в глаз наблюдателя А. ВК(, определим как яркость восходящего излучения, которое, преломившись на границе вода-воздух, так же попадает в глаз наблюдателя А. Энергетическая яркость В, приходящая в глаз наблюдателя, является линейной комбинацией этих энергий

B = BrrJIF(i)+Br4,(\-F(j)), (15)

где FU) - коэффициент Френеля.

Рис. 4. Две компоненты, дающие вклад в яркость точки В, видимой наблюдателем А.

Если i?refl легко выражается через ¿?sky и £sun> то для вычисления ВК(, необходимо решить шггегро-дифференциапьное уравнение с частными производными относительно B(x,íl) - энергетической яркости светового поля в точке х в направлении Í2. Решение данного уравнения представляет собой весьма непростую задачу, а для приложений реального времени просто невыполнимую. Поэтому, необходимо построить упрощенную модель, учитывая то, что нашим основным критерием является визуальная похожесть.

Последовательность этих упрощений сводится к следующему:

• производится аппроксимация 5„/r = B(xB,dCB) для неоднородного дна с помощью

светового поля fl0(x,d), рассчитанного в предположении постоянного коэффициента отражения дна;

• предполагается, что дно является Ламбертовым отражателем;

• вместо Во производится расчет интегральных характеристик - восходящей Euw и нисходящей £</,,. энергетической освещенности горизонтальных площадок;

• расчет для каждой точки В производится в предположении плоского дна, что возможно при достаточно пологом дне.

Результирующее выражение для В,сгг записывается как

Здесь ЕчтеН = £„„.(хв); ЕЫшот = £/и,(хс);«, =<Г' - содержание фотонов, не испытавших поглощения или рассеяния на пути из точки С в точку В, определяемое законом Бугера; £ = <у + Х, и ст - коэффициенты поглощения и рассеяния соответственно; /?(хс) - альбедо дна в точке С; /?,, - среднее альбедо дна.

Проведенный автором анализ существующих моделей распространения света в толще воды показал, что в рамках предложенных упрощений, световое поле наиболее адекватно описывается четырехпотоковой моделью. В ней В0(х,й) представляется в виде четырех одномерных функций: /ч(г), - потоки рассеянного излучения по и против оси 2 и 0+(г), 0.(г) - потоки направленного излучения по и против оси Ъ (ось Ъ направлена от водной поверхности вниз; точка 0 на оси соответствует поверхности).

Данная модель дает следующую систему дифференциальных уравнений

(16)

= -(/: + 5, +S2)G,

./г

^ = -(К + S)Ft + SF + SlGt + S2C ~ = + S)F_ -SFt - S,G - Sfi, 11

-(K + S)Ft + SF_ + Sfit + S2G.

Здесь т = с: - оптическая глубина; k = zjs - коэффициент поглощения направленного

излучения; А" = lyjs - коэффициент поглощения рассеянного излучения; S~— (3-.V,) -

4s

коэффициент рассеяния вперед для рассеянного света; S, (1+-V,) , ¿>г «-^-(1-Л',) -

коэффициенты рассеивания вперед и назад для направленного света; Х\ - первый коэффициент в разложении нормированной индикатрисы рассеивания по полиномам Лежандра. В общем случае, коэффициенты к, К, S, Si и & зависят от г, однако в данной модели они приняты постоянными и подобраны экспериментально. Поэтому система (17) решается аналитически.

Далее вычисляются две величины, входящие в формулу (16) - это Eho„om = FXsH) + G,{sH) и Euiadl = F(0) + GA0).

Параметры модели, которые используются при вычислении коэффициентов системы (17) и постановке граничных условий для нее, собирались из различных источников. Величины Esm и Дь- вычислялись по данным, приведенным в литературе. Для определения коэффициентов Хна состав воды моделировался из заданных частей чистой морской воды, фитопланктона, земли, двух типов глин и известняка, данные по которым также брались из литературы. Коэффициенты отражения и пропускания на границах воздух-вода и вода-воздух вычислялись с помощью участка поверхности, построенного стохастическим методом.

Во второй части четвертого раздела рассматривается модель человеческого зрения, которая осуществляет перевод рассчитанной энергетической яркости в RGB цвет на экране монитора.

Моделью человеческого зрения в данной работе будем называть оператор Ф,

преобразующий энергетическую яркость Р(Х) в цвет, заданный в цветовой системе RGB

Ф:Р(Л)^СКва. (18)

Большинство существующих моделей человеческого зрения были построены для

обработки изображений. Они делятся на глобальные и локальные. Глобальные модели

используют некоторые средние параметры изображения и применяются для каждого пикселя

изображения без привлечения информации о соседях. Локальные же модели тем или иным

образом используют информацию из соседних пикселов. Глобальные модели более просты и

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

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

быть применена к изображению водной поверхности, так как его на этом этапе еще нет.

Таким образом нам необходимо использовать глобальную модель.

12

Глобальные модели состоят из хроматической и яркостной адаптации. Под яркостной адаптацией обычно понимают то, что человеческий глаз имеет широкий диапазон яркостей, в котором сохраняется восприятие деталей. Хроматическая адаптация отвечает за подстройку глаза к средней цветовой температуре видимого изображения. В настоящей работе в качестве модели яркостной адаптации используется глобальный оператор, предложенный Барлодяном. Для хроматической адаптации используется модель фон Криза.

В работах, известных автору, отсутствует описание глобальной модели, совмещающей хроматическую и яркостную адаптации. Поэтому она была построена путем разделения входящей энергетической яркости В(Л) на фотометрическую яркость, к которой применяется яркостаая адаптация, и нормированную спектральную плотность яркости, преобразующуюся с помощью хроматической адаптации в RGB координаты цвета.

Построенная модель оптических явлений все еще является сложной с вычислительной точки зрения. Ее использование напрямую невозможно по следующим причинам.

• Графические акселераторы производят вычисления в RGB системе координат, в то время как для работы модели оптических явлений требуется спектральное представление.

• При создании сцен для систем виртуальной реальности дно и небо задаются текстурами, которые обычно делаются из фотографий. Задание спектральных характеристик гораздо более трудоемко.

в Вычисления, проводимые по модели распространения света в толще воды и модели человеческого зрения, чересчур сложны для реализации с помощью шейдеров. Поэтому необходимо модифицировать разработанные модели для реализации с учетом возможностей графических плат. Такая модификация производится в пятом разделе. Рассматривается два случая визуализации: в открытой области (вдали от берега) и в прибрежной зоне. Первый случай характеризуется тем, что дно достаточно глубоко и невидимо, а берег и любые другие объекты находятся в удалении от камеры, составляя фон.

Подставляя (16) в (18), полагая а,= О и применяя к результату модель человеческого зрения, получаем цвет С, видимый наблюдателем в точке В водной поверхности

(19)

Вместо формулы (19) обычно используется ее аппроксимация

где Ткп - кубическая текспра неба п фона, представляющая собой Ф (В...) , = -Ei^-aj - яркость восходящего излучения, переведенная в цвет, F -коэффициент Френеля, который рассчитывается с помощью формулы, приведенной в статье

[3].

В работе показано, что данная аппроксимация, несмотря на свою широкую распространенность, является недостаточно точной. Для ее уточнения разработан метод коррекции коэффициента Френеля F с помощью функции Ft(F) = FT, где коэффициент у подбирается экспериментально, исходя из принципа максимальной визуальной похожести результирующего изображения.

Ни модели, дающие геометрию водной поверхности, ни описанная выше модель визуализации не предполагает учет такого явления как рябь. Это вызвано тем, что масштаб волн ряби существенно меньше масштаба рассмотренных волн. Поэтому для визуализации ряби в настоящей работе применяются имитационные подходы, основанные на методах компьютерной графики.

Для имитации ряби в открытой области используется технология EMBM (environment map bump mapping), реализованная в современных графических акселераторах. Текстура нормалей, необходимая в этой технологии, вычисляется по участку водной поверхности, получаемому стохастическим методом.

В качестве примера рассматривалась сцена с открытой водной поверхностью без видимых берегов или других объектов. Производительность приложения на типовом компьютере2 составила 5 мс/кадр (200 кадров/сек), что полностью помещается в отведенный временной бюджет.

Перейдем к визуализации водной поверхности в прибрежной зоне. Этот случай характеризуется относительно небольшим волнением, видимым дном и возможностью присутствия объектов (например, берега) вблизи камеры. В качестве базового метода визуализации использовалась модель Йенсена. В этой модели применяется визуализация сцены в текстуры "отражения" и "преломления", которые потом накладываются на геометрию водной поверхности. В работе указывается основной недостаток данной модели: вода визуализируется как преломляющая, но не поглощающая и не рассеивающая среда, что выглядит нереалистично.

2 Компьютер с процессором Intel Pentium IV - 3 ГГц и графической платой ATI Radeon 9800 Pro.

14

Для исправления этого недостатка предлагается улучшение модели Йенсена, использующее модель оптических явлений и модель человеческого зрения, разработанные в четвертом разделе. Для этого строится аппроксимация вида

где Ф(Л(Л)) - оператор хроматической адаптации, применяемый к R для того, чтобы получить значения альбедо в системе RGB, символ 'о' обозначает операцию

покомпонентного умножения векторов. Значения £„;mfi( j предварительно вычисляются

для определенного интервала глубин и записываются в одномерную текстуру To(h). Та же

операция проделывается и с выражением Ф^—afi^^ j, в результате которой получается

двумерная текстура T|(h,r). Ф(Л) - фактически представляет собой текстуру дна R, а - среднее альбедо дна для RGB каналов. В итоге получаем формулу

Tri.A=T0+T,o(R-R„). (22)

Несмотря на свою априорную неточность, данная аппроксимация также дает результат, визуально похожий на реальную водную поверхность.

Для визуализации ряби в прибрежной зоне предлагается метод, основанный на попиксельной коррекции текстурных координат. Текстура для коррекции, так же как и в случае текстуры нормалей, вычисляется из карты высот участка поверхности, полученной стохастическим методом. Для имитации эффекта размытия отражения, возникающего при ряби, используется иерархическая фильтрация текстуры "отражения".

В качестве иллюстрации был рассмотрен пример сцены с волнами, набегающими на пологий берег. Производительность соответствующего приложения, визуализирующего эту сцену, на типовом компьютере составила 5.7 мс/кадр (или 175 кадров/сек), что также укладывается в отведенный временной бюджет.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ В заключении сформулированы основные результаты работы.

1. Предложено расщепление вектора потоков для уравнений мелкой воды, на основе которого построены разностные схемы первого и второго порядков точности. С помощью данных методов определялась геометрия водной поверхности в прибрежной зоне.

2. С помощью стохастических методов построена модель открытой водной поверхности (вдали от берега).

3. Разработан метод генерации подвгсхнон сетки с фиксированной триангуляцией для визуализации водной поверхности, представимой картой высот. При этом сетка автоматически адаптируется к положению камеры.

4. Построена модель оптических явлений, пригодная для использования в системах виртуальной реальности. Она включает в себя модель распространения света в толще воды и комбинированную модель восприятия света человеком для преобразования спектральной яркости света в RGB цвет.

5. Разработаны удовлетворяющие критерию визуальной похожести методы имитации ряби в прибрежной зоне и вдали от берега. Методы используют возможности графических акселераторов, и, как следствие, эффективны по быстродействию.

6. Построены примеры, демонстрирующие эффективность предложенных методов с точки зрения их быстродействия на современных персональных компьютерах и создания изображений, удовлетворяющих критерию визуальной похожести. Все это вместе взятое свидетельствует о возможности их использования в системах виртуальной реальности.

Литература

1. Steger J. L., Wanning R. F. Flux-vector splitting of the inviscid gas dynamic equations with application to finite-difference methods II J. Comput. Phys. 1981. Vol. 40. N 2. Pp. 263-293.

2. Jerry Tessendorf. "Simulating Ocean Water". SIGGRAPH 2001 Course notes. http://liomel.gte.net/tssndrf/index.html.

3. Lasse Jensen. "Deep-Water Animation and Rendering". Gamasutra, September 26, 2001. hltn://www.gamasutra.com/gdce/iensen/iensen 01 .htm

Список работ, опубликованных no теме диссертации

1. Sergey Yu. Belyaev and Vladimir S. Belyaev. Water surface simulation in virtual reality. Proceedings of SPAS, NDTCS-2002, Volume 6, St. Peterburg, Russia, изд. "Hecrop", 2002, с. F22-F23.

2. Беляев B.C. Моделирование цвета водной поверхности для приложений реального времени. Формирование технической политики инновационных наукоемких технологий: Материалы научн.-практ. конф. СПб.: Изд-во СПбГПУ, 2003, с. 319-326.

3. Григорьев Б.С., Беляев B.C. Разностная схема расщепления векторов потоков для уравнений мелкой воды. Формирование технической политики инновационных наукоемких технологий: Материалы научн.-практ. конф. СПб.: Изд-во СПбГПУ, 2003, с. 331-337.

4. Vladimir Belyaev. Real-time simulation of water surface. GraphiCon-2003 (Москва), Conference Proceedings, Изд-во: ООО "МАКС Пресс", 2003, с. 131-138.

5. Беляев B.C. Моделирование цвета прибрежной воды для приложений реального времени. Формирование технической политики инновационных наукоемких технологий: Материалы научн.-практ. конф. СПб.: Изд-во СПбГПУ, 2004, с. 168-173.

6. Григорьев Б.С., Беляев B.C. Разрывной метод Галеркина для уравнений мелкой воды. Формирование технической политики инновационных наукоемких технологий: Материалы научн.-практ. конф. СПб.: Изд-во СПбГПУ, 2004, с. 175-180.

7. Vladimir Belyaev. Real-time rendering of shallow water. GraphiCon-2004 (Москва), Conference Proceedings, Изд-во: ООО "МАКС Пресс", 2004, с. 58-63.

Лицензия ЛР №020593 от 07.08.97

Подписано в печать 21.10.2005. Формат 60x84/16. Печать цифровая. Усл. печ. л. 1,00. Тираж 100. Заказ 121Ь.

Отпечатано с готового оригинал-макета, предоставленного авторам, в Цифровом типографском центре Издательства Политехнического университета. 195251, Саша-Петербург, Политехническая ул., 29. Тел.: 550-40-14 Тел./факс: 247-57-76

РНБ Русский фонд

2007-4 10189

í> f ^

P r-.j 'il

5 tí íi Ti í

• i s s ft "

Оглавление автор диссертации — кандидата технических наук Беляев, Владимир Сергеевич

1. Введение.

2. Некоторые понятия, связанные с системами виртуальной реальности.

2.1. Понятие текстуры.

2.2. Использование современной аппаратной базы в системах виртуальной реальности.

2.3. Синхронизация процессов, происходящих в виртуальной реальности, с физическим временем.

2.4. Требования, предъявляемые к моделям и алгоритмам, использующимся в системах виртуальной реальности.

3. Моделирование геометрии водной поверхности.

3.1. Математические модели водной поверхности, используемые в компьютерной графике.

3.2. Модель мелкой воды.

3.3. О методах численного интегрирования систем уравнений гиперболического типа.

3.4. Схема расщепления матрицы коэффициентов.

3.5. Разностная схема расщепления вектора потоков (одна пространственная переменная).

3.5.1. Расщепление вектора потоков.

3.5.2. Метод конечных объемов с расщеплением вектора потоков.

3.5.3. Разрывной метод Галеркина с расщеплением вектора потоков.

3.5.4. Тестовые задачи.

3.6. Разностная схема расщепления вектора потоков (две пространственные переменные).

3.6.1. Построение схемы.

3.6.2. Решение задачи о набегании волн на твердую стенку.

3.6.3. Расчет волн, набегающих на пологий берег.

3.7. Стохастический метод для построения открытой водной поверхности (вдали от берегов).

3.7.1. Построение повторяющегося участка водной поверхности.

3.7.2. Спектр, определяющий конфигурацию волн.

3.8. Сопряжение решений в прибрежной и открытой областях.

3.9. Тестовый пример, демонстрирующий построение геометрии водной поверхности в прибрежной зоне.

4. Методы построения треугольной сетки для визуализации водной поверхности

4.1. Постановка задачи.

4.2. Существующие методы построения треугольной сетки.

4.3. Новый подход: использование подвижной сетки с фиксированной триангуляцией.

4.4. Структура триангуляции сетки.

4.5. Тестовый пример.

5. Моделирование оптических явлений, происходящих на поверхности и в толще воды.

5.1. Введение.

5.1.1. Терминология и обозначения.

• 5.1.2. Постановка задачи.

5.2. Модель распространения света в толще воды.

5.2.1. Аппроксимация светового поля для случая неоднородного дна.

5.2.2. Обзор существующих моделей и выбор наиболее подходящей модели

5.2.3. Описание выбранной модели.

5.2.4. Параметры модели.

5.2.5. Результаты работы модели.

5.3. Модель человеческого зрения для визуализации оптических явлений.

5.3.1. Введение.

5.3.2. Обзор существующих моделей.

5.3.3. Яркостная адаптация.

5.3.4. Хроматическая адаптация.

5.3.5. Совмещение обеих адаптаций в единую модель.

6. Визуализация водной поверхности с учетом построенной модели оптических явлений.

6.1. Визуализация в открытой области.

6.1.1. Модель визуализации для открытой области.

6.1.2. Нелинейность модели человеческого зрения.

• 6.1.3. Вычисление коэффициента Френеля.

6.1.4. Имитация ряби для визуализации в открытой области.

6.1.5. Результаты визуализации.

6.2. Визуализация в прибрежной зоне.

6.2.1. Модель Йенсена и ее недостатки.

6.2.2. Модификация модели Йенсена.

6.2.3. Имитация ряби для прибрежной зоны.

6.2.4. Имитация размытости отражения и преломления.

6.2.5. Тестовый пример.

Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Беляев, Владимир Сергеевич

Современную компьютерную графику можно условно разделить на три больших области: неинтерактивная, интерактивная и графика реального времени. Критерием деления является скорость реакции приложения на действия пользователя, которая обычно измеряется в количестве кадров, рассчитываемых приложением за секунду.

В неинтерактивной графике на расчет кадра может тратиться от нескольких секунд до нескольких дней. Типичным примером может являться создание спецэффектов для фильмов (например, сериал "Star Wars" или "Ночной дозор") или создание самих фильмов и мультфильмов средствами компьютерной графики ("Final Fantasy X", "Shrek"). Научная визуализация также может принадлежать к неинтерактивной графике.

Использование интерактивности обычно связано с необходимостью вмешательства оператора в рассчитываемый и отображаемый процесс. Для этого обычно требуется, чтобы время, необходимое для расчета одного кадра, не превышало нескольких секунд. Однако такая скорость реакции годится только для медленно протекающих процессов. Для отображения быстрого процесса, управляемого пользователем, например, вождения автомобиля, требуется графика реального времени. Принято считать, что она начинается со скорости отображения порядка 10-15 кадров в секунду.

В современном мире компьютерная графика реального времени приобретает все большее значение. Например, графический интерфейс должен отображаться в реальном времени, чтобы не вызывать раздражения у пользователя. Наиболее популярное применение компьютерной графики реального времени - это системы виртуальной реальности (BP). К ним относятся виртуальные музеи, виртуальные путешествия, различные автомобильные, авиационные, морские и другие тренажеры, многие компьютерные игры.

Популярность подобных систем во многом вызвана удешевлением аппаратных средств. Если раньше для системы BP требовалась графическая станция, то сейчас достаточно персонального компьютера, оснащенного современным видеоакселератором (графической платой). Например, в настоящей работе для оценки производительности в качестве типового компьютера использовался компьютер с процессором Intel Pentium IV - 3 ГГц и графической платой ATI Radeon 9800 Pro.

Конечной целью разработчиков систем BP является достижение так называемого эффекта присутствия. Под эффектом присутствия принято понимать такое восприятие системы пользователем, при котором он перестает осознавать, что работает на компьютере, а не участвует в реальном процессе. Для достижения подобного эффекта необходимо, чтобы на экране были отображены подробности окружающего мира. Поэтому при разработке систем BP уделяется большое внимание задачам, связанным с моделированием природных явлений и объектов. Трудность их моделирования с одной стороны заключается в сложности самих явлений, а с другой стороны в том, что у пользователя есть свой сформировавшийся образ, и расхождение изображения на экране с этим образом может привести к потере эффекта присутствия. Поэтому, в дальнейшем, говоря о качественном изображении явления, полученном в результате работы того или иного алгоритма, мы будем иметь в виду то, что это изображение является вполне достоверным с точки зрения экспертов и пользователей продуктов, использующих эти алгоритмы [1]. Будем называть такое изображение визуально похожим на само явление.

Другим необходимым условием достижения эффекта присутствия является высокая скорость визуализации. Она не должна опускаться ниже 30 кадров в секунду, так как в противном случае глаз человека отмечает небольшие подергивания изображения. Такое требование по быстродействию алгоритмов является критерием, по которому производится отбор моделей и методов, применимых в системах виртуальной реальности.

На заре моделирования природных явлений, из-за низкой производительности оборудования, в основном использовались методы направленные на имитацию явления. Такие методы используют не физические модели, а эмпирически подобранные алгоритмы, целью которых является достижение правдоподобности (или визуальной похожести) получаемого изображения1. Однако эти алгоритмы имеют один общий недостаток - большое количество параметров, которые необходимо эмпирически подбирать, что обычно оказывается весьма трудоемким процессом. Поэтому с появлением более производительных аппаратных средств в

1 Примером таких алгоритмов могут служить алгоритмы генерации текстур мрамора, коры дерева и среза дерева, описанные в [2]. системах виртуальной реальности все чаще стали использоваться достаточно точные физические модели, которые не нуждаются в подборе параметров. Эти модели обычно приходят из области неинтерактивной графики, где используются для построения фотореалистичных изображений. Такая тенденция сохраняется до сих пор. Однако в тех случаях, когда использование физических моделей приводит к чересчур трудоемким вычислениям, по-прежнему используются имитационные методы.

Для получения визуально похожего изображения водной поверхности необходимо моделировать как геометрию поверхности, так и оптические явления, происходящие на границе и в толще воды. Моделирование геометрии водной поверхности в системах BP в основном представлено имитационными или подобными им методами. Использование точных физических моделей ограничивается их высокой сложностью. Из таких моделей в современных системах BP используются только стохастический подход, впервые опубликованный Тессендорфом [3].

В области моделирования оптических явлений существует только одна известная автору работа [4], предлагающая методы, пригодные для использования в системах BP. Однако в связи с тем, что она не рассматривает распространение света в толще воды, изображение, получаемое этими методами, не является визуально похожим на реальную водную поверхность.

Поэтому для моделирования водной поверхности в системах BP требуются новые методы и алгоритмы, которые бы позволяли получать визуально похожее изображение и удовлетворяли бы поставленным требованиям к быстродействию. Для этого ставится задача сделать очередной шаг в сторону использования физических моделей, так как это позволит сделать изображение более реалистичным и уменьшит трудоемкость подбора параметров в сравнении с существующими методами.

Результаты работы были частично использованы при разработке нескольких систем BP. Приведенный в работе алгоритм построения сетки был применен при разработке судового тренажера, который используется для обучения капитанов вхождению в Таллиннский порт. Для расчета геометрии водной поверхности в этом тренажере применялся стохастический метод, использованный в данной работе. Разработанная модель оптических явлений была использована при создании компьютерной игры "Wakeboarding".

Результаты работы были доложены на международных научных конференциях "Nondestructive Testing and Computer Simulations in Science and Engineering (St-Petersburg)" в 2002, 2003 годах; "Graphicon" (Москва) в 2003 и 2004 годах; научной конференции "Формирование технической политики инновационных наукоемких технологий" (Санкт-Петербург) в 2003 и 2004 годах.

По результатам проведенных исследований в открытой печати было опубликовано 7 статей.

Диссертационная работа состоит из 7 разделов. Первым разделом является настоящее введение. Во втором разделе раскрываются основные понятия, связанные с системами BP, дается описание ограничений и особенностей, обусловленных современной аппаратной базой.

Моделирование водной поверхности состоит из двух частей: моделирования формы (или геометрии) водной поверхности и моделирования оптических явлений, происходящих на поверхности воды и в ее толще. Очевидно, что для получения визуально похожего изображения водной поверхности необходимо рассматривать обе части явления.

Третий и четвертый разделы посвящены геометрии водной поверхности. В третьем разделе рассматривается ее моделирование для прибрежной зоны и вдали от берегов. Четвертый раздел рассматривает построение треугольной сетки для визуализации вычисленной формы поверхности.

В пятом разделе производится построение моделей оптических явлений, включая модель распространения светового излучения в толще воды и модель человеческого зрения. Рассматривается возможность модификации полученной модели для применения ее в системах реального времени. В шестом разделе описывается визуализация водной поверхности с учетом построенной модели оптических явлений. Разрабатываются методы имитации ряби. Приводятся результаты работы методов.

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

В настоящей работе принята тройная нумерация формул: первое число соответствует номеру раздела, второе - номеру параграфа, третье - порядковому номеру формулы в параграфе. Для рисунков используется двойная нумерация: первое число - номер раздела, второе - порядковый номер рисунка в разделе.

Заключение диссертация на тему "Методы и алгоритмы компьютерной графики для моделирования водной поверхности в системах виртуальной реальности"

Основные результаты настоящей диссертационной работы могут быть сформулированы следующим образом.

Предложено расщепление вектора потоков для уравнений мелкой воды, на основе которого построены разностные схемы первого и второго порядков точности. С помощью данных методов определялась геометрия водной поверхности в прибрежной зоне.

С помощью стохастических методов построена модель открытой водной поверхности (вдали от берега).

Разработан метод генерации подвижной сетки с фиксированной триангуляцией для визуализации водной поверхности, представимой картой высот. При этом сетка автоматически адаптируется к положению камеры.

Построена модель оптических явлений, пригодная для использования в системах виртуальной реальности. Она включает в себя модель распространения света в толще воды и комбинированную модель восприятия света человеком для преобразования спектральной яркости света в RGB цвет.

Разработаны удовлетворяющие критерию визуальной похожести методы имитации ряби для визуализации в прибрежной зоне и вдали от берега. Методы используют возможности графических акселераторов, и, как следствие, эффективны по быстродействию.

Построены примеры, демонстрирующие эффективность предложенных методов с точки зрения их быстродействия на современных персональных компьютерах и создания изображений, удовлетворяющих критерию визуальной похожести. Все это вместе взятое свидетельствует о возможности их использования в системах виртуальной реальности.

7. Заключение

Библиография Беляев, Владимир Сергеевич, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Григорьев А.Б. Методы и алгоритмы компьютерной графики для моделирования природных явлений и объектов в системах виртуальной реальности, Диссертация . к.т.н, Санкт-Петербург, 2000, 126 с.

2. Ebert, David, Musgrave, F. Kenton, Peachey, Darwyn, Perlin, Ken, and Worley, Steve. Texturing and Modeling: A Procedural Approach. AP Professional, Boston, MA, 1994. P.415.

3. Jerry Tessendorf. "Simulating Ocean Water". In SIGGRAPH 2002 Course Notes #9 (Simulating Nature: Realistic and Interactive Techniques) (2002), ACM Press.

4. Lasse Jensen. "Deep-Water Animation and Rendering". Gamasutra, September 26,2001. http://www.gamasutra.com/gdce/iensen/jensen 01 .htm

5. James D. Foley, Andreis van Dam, Steven K. Feiner, John F. Hughes. Computer Graphics. Principles and Practice. Addison-Wesley Publishing Company, 1996

6. T. Akenine-Moller and E. Haines. Real-Time Rendering. 2nd edition. А К Peters,2002, P. 835.

7. J. Kautz. Hardware Rendering with Bidirectional Reflectances. Technical Report CS-99-02, University of Waterloo, 1999.

8. D. McAllister, A. Lastra, and W. Heidrich. Efficient rendering of spatial bidirectional reflectance distribution functions. In Proceedings of the 17th Eurographics/SIGGRAPH workshop on graphics hardware, pages 79-88, Sept. 2002.

9. Enright, D. Marschner, S. Fedkiw, R., Animation and Rendering of Complex Water Surfaces, ACM Transactions on Graphics 21,3 (2002), p. 736-744.

10. Foster, N. and Metaxas, D., "Realistic Animation of Liquids", Graphical Models and Image Processing 58, p. 471-483 (1996).

11. Stam, J., "Stable Fluids", ACM SIGGRAPH 99, p. 121-128 (1999).

12. Foster, N. and Fedkiw, R., Practical Animation of Liquids. ACM SIGGRAPH 2001, p. 12-17 August 2001.

13. Harlow, F.H. and Welch, J.E., "Numerical Calculation of Time-Dependent Viscous Incompressible Flow of Fluid with a Free Surface", The Physics of Fluids 8, p. 2182-2189 (1965).

14. Темам P. Уравнения Навье-Стокса. M.: Мир, 1981.

15. Ньюмен Дж. Морская гидродинамика. Л.: Судостроение, 1985. - 368 с.

16. Лойцянский Л. Г. Механика жидкости и газа. М.: Наука, 1970. - 904 с.

17. Габов С. А. Введение в теорию нелинейных волн. М.: Изд-во МГУ, 1988. -176 с.

18. Tanizawa К. The state of the art on numerical wave tank. Proceedings of 4th Osaka Colloquium on Seakeeping Performance of Ships, Osaka, Japan, 17-21 October, 2000, pp.95-114.

19. Belaev V. S., Grigoriev B. S. Simulation of waves in near-shore zone for real time applications // Proceedings of SPAS, NDTCS-2003. Vol. 7. St. Petersburg. 2003.

20. Дж. Дж. Стокер. Волны на воде. Математическая теория и приложения. М.: ИЛ, 1959. 618 с.

21. Вольцингер Н. Е., Клеванный К. А., Пелиновский Е. Н. Длинноволновая динамика прибрежной зоны. Л.: Гидрометеоиздат, 1989. 271 с.

22. Лятхер В. М., Милитеев В. Н. Гидравлические исследования численными методами // Гидротехническое строительство. 1981. № 3. С. 60-79.

23. Пелиновский Е. Н. Гидродинамика волн цунами / ИПФ РАН. Нижний Новгород, 1996. 276 с.

24. Kass, М. and Miller, G., "Rapid, Stable Fluid Dynamics for Computer Graphics", Proceedings of S1GGRAPH 90, 24(3), pp. 49-57 (1990).

25. Layton, А. Т., "Numerically Efficient and Stable Algorithm for Animating Water Waves", Visual Computer, Vol. 18, No. 1, pp. 41-53, 2002.

26. Chen, J. and Lobo, N., "Toward Interactive-Rate Simulation of Fluids with Moving Obstacles Using the Navier-Stokes Equations", Graphical Models and Image Processing 57, p. 107-116 (1994).

27. Schachter, В., "Long Crested Wave Models", Computer Graphics and Image Processing 12, p. 187-201 (1980).

28. Fournier, A. and Reeves, W. Т., "A Simple Model of Ocean Waves", ACM SIGGRAPH 86, p. 75-84 (1986).

29. Peachy, D., "Modeling Waves and Surf', ACM SIGGRAPH 86, p. 65-74 (1986).

30. Khan R. A simple model of ship waves. M.Sc. thesis. Department of Computer Science, University of British Columbia. 1994.

31. Триккер P. Бор, прибой, волнение и корабельные волны. Л.: Гидрометеоиздат. 1969. 286 с.

32. Ле Меоте Б. Введение в гидродинамику и теорию волн на воде. Л.: Гидрометеоиздат, 1974. 367 с.

33. Курант Р., Фридрихе К. Сверхзвуковое течение и ударные волны. М.: ИЛ, 1950. 426 с.

34. Дафермос К. М. Квазилинейные гиперболические системы, вытекающие из законов сохранения. В сб. Нелинейные волны. М.: Мир, 1977. 319с.

35. Rayleigh. On the theory of long waves and bores // Proc. Roy. Soc. London. Ser. A. Vol. 90. 1914.

36. Годунов С. К. Разностный метод численного расчета разрывных решений уравнений гидродинамики // Математический сборник. 1959. Т. 47, вып. 3. С. 271306.

37. Колган В. П. Применение принципа минимальных значений производных к построению конечно-разностных схем для расчета разрывных решений газовой динамики // Ученые записки ЦАГИ. 1972. Т. 3, № 6. С. 68-77.

38. Van Leer В. Towards the ultimate conservative difference scheme. V. A second order sequel to Godunov's methods // J. of Сотр. Phys., 1979. V. 32. No 1. P. 101-136.

39. Беликов В. В., Семенов А. Ю. Построение численных методов распада разрыва для решения уравнений мелкой воды. Труды ИОФАН. Том 53. Вычислительная гидродинамика природных течений. М.: Наука. 1997. С. 5-43.

40. Harten A., High resolution schemes for hyperbolic conservation laws // J. of Сотр. Phys., 1983. V. 49. P. 357-393.

41. Harten A., Osher S. Uniformly high-order accurate nonoscillatory schemes. I. // SI AM J. Numer. Anal. Vol.24. No 2. 1987. P. 279-309.

42. Chacravarthy S. R., Anderson D. A., Salas M. D. The split-coefficiet matrix method for hyperbolic systems of gasdynamic equations. AIAA Paper 80-0268. 1980.

43. Steger J. L., Warming R. F. Flux-vector splitting of the inviscid gas dynamic equations with application to finite-difference methods // J. Comput. Phys. 1981. Vol. 40. N2. Pp. 263-293.

44. Van Leer B. Flux-vector splitting for the Euler equations. Lecture Notes in Phys. 1982. V. 170. P. 507-512.

45. Anderson W. K., Thomas J. L., Van Leer B. Comparison of finite volume flux vector splittings for the Euler equations // AIAA Journal. 1986. V. 24. P. 1453-1460.

46. Cockburn В., Karniadakis G., and Shu C.-W. (editors). Discontinuous Galerkin Methods: Theory, Computation and Applications. Lecture Notes in Computational Science and Engineering. Vol. 11. Berlin, Springer. 2000.

47. Самарский А. А. Теория разностных схем. M.: Наука. 1989. 616 с.

48. Повещенко Ю. А., Попов С. Б., Сыроватская Т. Н. Исследование устойчивости двухслойных разностных схем газовой динамики в переменных Эйлера / ИПМ АН СССР. Препринт № 119. 1988. 30 с.

49. Roe P. L. Approximate Riemann solvers, parameter vectors and difference schemes //J. Comput. Phys. 1981. Vol. 43. No 2. P. 357-372.

50. Courant R., Isaacson E., Rees M. On the solution of nonlinear hyperbolic differential equations by finite differences // Commun. Pure Appl. Math. 1952. Vol. 5. No 3. P. 243-255.

51. Papa L. Application of the Courant-Isaacson-Rees method to solve the shallow-water hydrodynamic equations // Appl. Math. Comput. 1984. Vol. 15. N 1. Pp. 85-92.

52. Lax P. D. Weak solutions of nonlinear hyperbolic equations and their numerical computation // Commun. Pure Appl. Math. 1954. Vol. 7. N 1. Pp. 159-193.

53. Андерсон Д., Таннехилл Дж., Плетчер Р. Вычислительная гидромеханика и теплообмен. Т. 1. М.: Мир, 1990. 384 с.

54. Proft J. К. Adaptive Stencil and Discontinuous Galerkin Methods for Transport Equations on Triangular Grids. The University of Texas at Austin. 1999. 27 p.

55. Shu C.-W. Total variation diminishing time discretizations. SIAM J. Sci. Stat. Comput. Vol. 9. 1988. Pp. 1073-1084.

56. Gotlieb S. and Shu C.-W. Total variation diminishing Runge-Kutta schemes. Math. Comput. 1998. Vol. 67. N 221. Pp. 73-85.

57. Shu C.-W. TVB uniformly high-order schemes for conservation laws // Math. Comput. 1987. Vol. 49. N 179. Pp. 105-121.

58. Беляев B.C. Моделирование водной поверхности для графических приложений реального времени, Диссертация . магистра, Санкт-Петербург, 2002, 113 с.

59. Норре Н., Progressive meshes, SIGGRAPH 96 Conference Proceedings, pp. 99108.

60. Thatcher Ulrich. Continuous LOD Terrain Meshing Using Adaptive Quadtrees. Gamasutra, February 28, 2000,htto://www.eamasutra.com/features/200000228/ulrich 01 .htm

61. Bryan Turner. Real-Time Dynamic Level of Detail Terrain Rendering with ROAM. Gamasutra, April 03, 2000,http://www.gamasutra.com/features/2000004Q3/turner 01 .htm

62. Bryan Turner. ROAM, PhD Thesis, Umea University, 2001.http://www.cs.umu.se/~tdv94aog/ROAM.pdf

63. Brian Sharp, Subdivision Surface Theory, Gamasutra, April 11, 2000, http://www.gamasutra.com/features/20000411/sharp 01.htm

64. Mike Rayner. Dynamic Level of Detail Terrain Rendering with Bezier Patches. Gamasutra, March 21, 2000,http://www.gamasutra.com/gdc2002/features/ravner/rayner 01 .htm

65. У. Прэтт, Цифровая Обработка Изображений, Мир, М., 1982

66. G. М. Johnson, Computer Synthesis of Spectroradiometric Images for Color Imaging Systems Analisis, http://www.cis.rit.edu/research/mcsl/research/gmjthes.pdf

67. H. Г. Ерлов. Оптика моря. JI.: Гидрометеоиздат, 1980. 248 с.

68. Оптика океана. Т. 1. Физическая оптика океана. АН СССР. Ин-т океанологии им. Ширшова; 1983

69. Curtis D. Mobley, Bernard Gentili, Howard R. Gordon, et al, "Coparision of numerical models for computing underwater lightfields", Applied Optics, Vol. 32, No. 32, 1993, pp. 7484-7504.

70. Alan Watt, Mark Watt, Advanced Animation and Rendering Techniques, ACM Press, New York, 1992, P. 455.

71. А. Исимару. Распространение и рассеяние волн в случайно-неоднородных средах. Т. 1. М.: Мир, 1981. 280 с

72. J. Ronald V. Zaneveld,W. Scott Pegau, "Robust Underwater Visibility Parameter", Optics Experess, Vol. 11, No. 23, 2003, pp. 2997-3009.

73. S. Premoze, M. Ashikhmin, "Rendering Natural Waters," Proceedings of the 8th Pacific Conference on Computer Graphics and Applications, Volume 20 (2001), number 4 pp. 189-199

74. Kei Iwasaki, Yoshinori Dobashi, Tomoyouki Nishita, "A Volume Rendering Approach for Sea Surfaces Taking into Account Second Order Scattering Using Scattering Maps", Volume Graphics (2003)

75. Andre Morel, Kenneth J. Voss, Bernard Gentili, Bidirectional reflectance of oceanic waters: A comparision of modeled and measured upward radiance fields, Journal of Geophysical Research, Vol. 100, No. C7, 1995, pp. 143-150.

76. Stephane Maritorena, Andre Morel and Bernard Gentili, "Diffuse reflectance of oceanic shallow waters: Influence of water depth and bottom albedo", Limnol. Oceanogr., 39(7), 1994, pp. 1689-1703

77. Curtis D. Mobley, Dariusz Stramski, W. Paul Bissett, Emmanuel Boss, Optical Modeling of Ocean Water. Is the Case 1 Case 2 Classification Still Useful?, Oceanography, Volume 17, Number 2. pp. 61-67.

78. А. Иванов. Введение в океанографию М.: Мир, 1978. 574 с.

79. Victor I. Mankovsky, and Vladimir I. Haltrin, Light Scattering Phase Functions Measured in Waters of Mediterranean Sea, Oceans '02 MTS/IEEE, Volume 4, pp. 23682373.

80. Andre Morel and Louis Prieur, Analysis of variations in ocean color, Limnology and Oceanography, July 1977, v. 22(4), pp. 709-722.

81. J. von Kriez, "Chromatic Adaptation", Festchrift der Albrect-Ludwig-Universitat (Friboung) (1902) Translation: D.L. MacAdam, Sources of Color Science, MIT Press, Cambridge, Mass. (1970).

82. M.D. Fairchild and G.M. Johnson, Meet iCAM: A next-generation color appearance model, IS&T/SID 10 Color Imaging Conference (2002), Scottsdale, pp. 33-38.

83. J. Tumblin, H. Rushmeier. Tone Reproduction for Realistic images. IEEE Computer graphics and Applications, 13(6):42--48, 1993.

84. J. Tumblin. Three Methods of Detail-Preserving Contrast Reduction for Displayed Images. PhD thesis, Georgia Institute of Technology, December 1999.

85. Ward, G. (1994) A Contrast-based Scalefactor for Luminance Display. In P.S. Heckbert (Ed.), Graphics Gems IV, Boston: Academic Press Professional.

86. E. Reinhard, M. Stark, P. Shirley, and J. Ferwerda. Photographic tone reproduction for digital images. ACM Transactions on Graphics, 21(3):267-276, July 2002.

87. Boris Barladian, Robust Parameter Estimation for Tone Mapping Operator. GraphiCon-2003, Conference Proceedings, ООО "MAX Press", 2003, pp. 106-111.

88. S. N. Pattanaik, J. A. Ferwerda, J. A. Fairchild, and D. P. Greenberg, A Multiscale Model of Adaptation and Spatial Vision for Realistic Image Display, Computer Graphics Proceedings, Annual Conference Series, pp. 287-298, ACM SIGGRAPH.

89. Sumanta Pattanaik and Hector Yee, Adaptive Gain Control for High Dynamic Range Image Display, Spring Conference on Computer Graphics, Budmerice, Slovakia.

90. Michael Ashikhmin, A Tone Mapping Algorithm for High Contrast Images, Eurographics Workshop on Rendering (2002), pp. 1-11.

91. Jan Kautz, P.-P. Vazquez, W. Heidrich, H.-P. Seidel. A Unified Approach to Prefiltered Environment Maps, 11th Eurographics Workshop on Rendering, pp. 185-196, June, 2000.