Научная визуализация

Scientific Visualization

Электронный журнал открытого доступа

 Национальный Исследовательский Ядерный Университет "МИФИ"

      ISSN 2079-3537      

 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
Научная визуализация
Год выпуска: 2012
Квартал: 4
Том: 4
Номер: 4
Страницы: 44 - 55
Название публикации: СИМУЛЯЦИЯ ДИНАМИКИ ЖИДКОСТИ И ЕЁ ВЗАИМОДЕЙСТВИЯ С ТВЁРДОЙ ПОВЕРХНОСТЬЮ СРЕДСТВАМИ ГРАФИЧЕСКИХ УСКОРИТЕЛЕЙ
Авторы: Ю. Хохлова (Россия), Д. Гладкий (Россия), С. Кузиковский (Россия), И. Белаго (Россия)
Адреса авторов: Ю. Хохлова
girl.from.ff.nsu@gmail.com
Новосибирский государственный университет, Новосибирск, Россия
 
Д. Гладкий
generalgda@gmail.com
ООО «Онлайника», Новосибирск, Россия
 
С. Кузиковский
stas@sl.iae.nsk.su
Институт автоматики и электрометрии СО РАН, Новосибирск, Россия
 
И. Белаго
bel@sl.iae.nsk.su
Институт автоматики и электрометрии СО РАН, Новосибирск, Россия
Краткое описание: В статье представлен способ моделирования динамики жидкости и её взаимодействия с окружающим виртуальным миром в интерактивных графических приложениях с использованием вычислительных ресурсов графического процессора. Реализация предложенного алгоритма позволяет анимировать такие явления, как разлив воды на дороге или попадание персонажа под струю водопада, в реальном времени, то есть с частотой кадров не менее 25 кадр/с на аппаратном обеспечении современных персональных компьютеров.
В предлагаемом подходе объём жидкости представляется набором частиц, взаимодействующих друг с другом, причём эволюция состояния системы происходит в соответствии с уравнением Навье-Стокса. Поверхность окружающего мира, с которой сталкиваются частицы, предлагается получать в виде карты высот и нормалей. Такая операция хорошо оптимизирована на современных видеокартах, а также эти данные могут быть использованы в реализации других алгоритмов. Визуализацию жидкости предлагается проводить, получая её поверхность как полигональную сетку. Получаемый таким образом набор геометрических примитивов применим для наложения текстур или построения теней.
Полная реализация алгоритма на графическом процессоре от математических расчётов движения частиц с использованием технологии Compute Shader 5.0 до визуализации происходит на графическом процессоре без необходимости копирования данных на каждом кадре между системной памятью и памяти видеокарты. Также, реализация алгоритма демонстрирует технику генерации геометрии на видеокарте по произвольному набору данных с использованием программного интерфейса DirectX 11. Областью применения описанной техники являются различные системы виртуальной реальности реального времени, такие как тренажёры и компьютерные игры.
Язык: Русский