BC/NW 2003г., №1(3)/ 16.4
оСОБЕННОСТИ ОРГАНИЗАЦИИ
РАСПРЕДЕЛЕННОЙ КОМПЬЮТЕРНОЙ СИСТЕМЫ ВИЗУАЛИЗАЦИИ ТРЕХМЕРНЫХ СЦЕН АВИАТРЕНАЖЕРА
Кузнецов
А.Ю.
(Москва,
Московский энергетический институт (ТУ), Российская федерация)
Подготовка и визуализация трехмерных сцен – это достаточно
широкое понятие, но здесь оно будет использоваться в более узком смысле
применительно к системе визуализации авиатренажера. Система визуализации
авиатренажера предполагает визуализацию внекабинного пространства средствами
компьютерной графики в реальном времени с высокой частотой кадров (не менее 60
fps). Трехмерной сценой является моделируемое пространство полетов, т.е.
поверхность земли (ландшафт), небосвод, типичные наземные объекты (здания,
деревья и т.п.), дорожная сеть, гидрография, аэродромы, уникальные наземные и
воздушные объекты и многое другое.
Трехмерная модель пространства полетов создается тем или иным
образом и передает с некоторой степенью реалистичности и детализации
моделируемый регион. Степень детализации (степень проработки земли и наземных
объектов) очень важна, особенно для вертолетных тренажеров, борьба за ее
повышение идет постоянно. Достижимая степень детализации определяется рядом
причин, среди которых производительность
конкретной вычислительной системы и особенности используемой программы
визуализации, но способ создания трехмерной модели пространства полетов играет
не меньшую роль. В статье рассматривается
статический подход к созданию модели сцены, преимущества динамического
подхода и предлагается вариант реализации этого подхода на основе неоднородной
мультикомпьютерной вычислительной системы.
При статическом создании (а это более простой и
распространенный подход) модель пространства полетов создается полностью еще до
начала процесса визуализации. При этом подготавливаются и сохраняются все
необходимые для визуализации данные: геометрия элементов сцены, текстуры,
текстурные координаты и т.д. Объем этих данных, а также время генерации сцены,
пропорциональны степени детализации и размерам моделируемого региона полетов,
таким образом, статический подход имеет серьезные ограничения, как по
детализации, так и по размерам моделируемой зоны, т.к. при значительном и
одновременном увеличении и того и другого объем данных становится неприемлемо
большим.
Более сложным,
но и более перспективным является динамический подход к созданию сцены. В этом
случае заранее готовится только небольшая часть данных, а окончательное
высокодетализированное представление сцены создается в реальном времени
непосредственно во время процесса визуализации для той небольшой части сцены,
которую может быть видно в кадре. Перемещение камеры идет достаточно медленно и
предсказуемо, что позволяет создавать детализированное представление для новых
участков опережающе, до того как они реально появятся в кадре. Таким образом,
вместо огромных объемов данных для всей области полетов, создаваемых при
статическом подходе, генерируются только те данные, которые реально необходимы
и указанные выше ограничения отсутствуют.
Платой за преимущества динамического подхода становится
увеличение нагрузки на вычислительную систему во время процесса визуализации,
т.к. помимо собственно визуализации ей приходится одновременно заниматься и
процессом динамического создания сцены. Обе эти задачи являются ресурсоемкими и
их совместное выполнение на однопроцессорном компьютере ведет к существенному замедлению обеих
задач. Возможным решением проблемы представляется использование
мультикомпьютерной вычислительной системы с разнесением задач подготовки данных
и визуализации на разные вычислители.
Исходными данными для построения сцены являются электронные
карты местности в стандартных форматах. Создание сцены включает следующие
основные этапы: чтение электронных карт и преобразование к внутреннему формату;
создание карты высот; создание представления для слоевых и линейных объектов
(таких как водоемов, дороги и т.п.); расстановка уникальных объектов (таких как
аэродромы); модификация карты высот слоевыми и прочими объектами; триангуляция
по методу Де Лоне - создание геометрической сетки ландшафта; текстурирование
ландшафта в соответствии с типами поверхности электронной карты; расстановка
типовых наземных объектов – зданий, деревьев и т.п. по некоторому закону;
генерация микрорельефа. Некоторые из этих этапов независимы и могут выполняться
параллельно, некоторые только последовательно. Конечным результатом являются
геометрия, текстуры и прочие данные, представленные в формате программы
визуализации.
Один из возможных вариантов построения системы визуализации
на основе мультикомпьютерной ВС представлен на рис.1.
Роль
вычислителей следующая: компьютер предварительной подготовки данных хранит базу
электронных карт и по запросу выделяет из них информацию, необходимую для
построения детализированного представления участка сцены. Эта информация через
коммуникационную среду поступает на компьютеры триангуляции и подготовки
текстур. Их работа может выполняться параллельно. Компьютер триангуляции
выполняет этапы связанные с созданием карты высот, триангуляции, расстановки
объектов и в конечном итоге создает геометрию сцены. Роль компьютера подготовки
текстур понятна из названия, имеет смысл оснастить его графическим ускорителем
и задействовать его в процессе создания текстур. Сгенерированные данные
передаются на компьютеры визуализации, которых может быть несколько в случае
многоканальной системы визуализации.
Каждый
компьютер визуализации оснащается мощным графическим ускорителем, т.к.
визуализация – это основная его задача, также имеет смысл использовать двухпроцессорную
конфигурацию по следующей причине: передача данных между вычислителями идет
через некую коммуникационную среду, в простейшем случае через обычную локальную
сеть, имеющую ограниченную пропускную способность и определенную латентность.
Из-за ограниченной пропускной способности сеть может стать узким местом системы
и для решения этой проблемы может потребоваться сжатие данных. А из-за большой
латентности некоторые задачи, например создание микрорельефа, вообще не могут
выполняться на другом вычислителе, а только непосредственно на машине
визуализации. Для решения задач распаковки данных и завершающих этапов создания
сцены и служит дополнительный процессор. Как показано, мультикомпьютерная
система получается неоднородной.
Рассмотрим, каков общий принцип работы мультикомпьютерной
системы визуализации. В системе должна быть управляющая машина, следящая за
текущим местонахождением камеры и выдающая команды на подготовку новых
детализированных участков сцены по мере приближения к ним. В общем случае, при поступательном
движении вперед, поток запросов будет идти постоянно. Как показано на рис. 2, в
этом случае возможна конвейерно-параллельная организация работы системы.
Здесь
выделено три такта работы конвейера, хотя в общем случае их может быть и больше
и меньше. Вообще, представленный здесь вариант построения мультикомпьютерной
системы визуализации не является единственно возможным, конкретный вариант
реализации определяется требованиями к системе визуализации и бюджетом на ее
создание.
Итак,
создание системы визуализации авиатренажера, способной работать с большими
регионами полетов и высокой степенью детализации, требует динамического
создания трехмерной модели сцены. Возможным вариантом здесь является
использование мультикомпьютерной вычислительной системы. Преимущества этого
варианта в том, что компьютер визуализации разгружается от задачи создания
модели, а конвейерно-параллельная организация позволяет гибко наращивать вычислительную
мощность до необходимого в конкретном случае уровня (от использования одного
дополнительного компьютера до использования вычислительного кластера). Данный
принцип может использоваться не только для авиатренажера но и во многих других
системах визуализации реального времени.