BC/NW 2003г., №1(3)/ 16.4

 

оСОБЕННОСТИ ОРГАНИЗАЦИИ РАСПРЕДЕЛЕННОЙ КОМПЬЮТЕРНОЙ СИСТЕМЫ ВИЗУАЛИЗАЦИИ ТРЕХМЕРНЫХ СЦЕН АВИАТРЕНАЖЕРА

 

Кузнецов А.Ю.

(Москва, Московский энергетический институт (ТУ), Российская федерация)

 

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

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

 

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

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

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

Исходными данными для построения сцены являются электронные карты местности в стандартных форматах. Создание сцены включает следующие основные этапы: чтение электронных карт и преобразование к внутреннему формату; создание карты высот; создание представления для слоевых и линейных объектов (таких как водоемов, дороги и т.п.); расстановка уникальных объектов (таких как аэродромы); модификация карты высот слоевыми и прочими объектами; триангуляция по методу Де Лоне - создание геометрической сетки ландшафта; текстурирование ландшафта в соответствии с типами поверхности электронной карты; расстановка типовых наземных объектов – зданий, деревьев и т.п. по некоторому закону; генерация микрорельефа. Некоторые из этих этапов независимы и могут выполняться параллельно, некоторые только последовательно. Конечным результатом являются геометрия, текстуры и прочие данные, представленные в формате программы визуализации.

Один из возможных вариантов построения системы визуализации на основе мультикомпьютерной ВС представлен на рис.1.

 

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

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

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

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

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