Графическая система «глобус»

      Комментарии к записи Графическая система «глобус» отключены

Графическая система «глобус»

В. В. Торопцев, А. В. Баркалов

На данный момент последовательность компаний занимается разработкой геоинформационных совокупностей, разрешающих отображать разного рода данные с применением географических данных (Гугл Earth (GE), ArcGlobe (ArcGis) и др.). Одна из таких разработок легла в базу нижеописанной графической совокупности (ГС).

Совокупность «Глобус» является пространством 3D-сцены для отображения в настоящем времени перемещения объектов в любой точке земного шара, что отличает ее от таких совокупностей, как Гугл Earth и ArcGlobe, перемещение в которых происходит по записанному сценарию. Информация о перемещении объектов может поступать из разных источников, к примеру серверов.

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

Сотрудничество с компанией «Совзонд», в течении продолжительных лет являющейся одной из ведущих русских компаний в сфере геоинформационных разработок, разрешило нам трудиться с пространственными данными в разных проекциях и с различной разрешающей свойством, что повлияло на создании БД ГС «Глобус». Для информационного наполнения употреблялись космические снимки, предоставленные компанией «Совзонд». В частности, употреблялись мультиспектральные снимки со спутников QuickBird и Landsat-7, трансформированные в равноудаленную цилиндрическую проекцию WGS84.

Графический функционал совокупности выстроен с применением OpenGL библиотек и может трудиться на низкопроизводительных программных комплексах. Благодаря применению динамической загрузки БД графическая совокупность разрешает додавать текстуры поверхности любого разрешения (до 10 см/пиксель). Кроме этого имеется возможность кэширования громадного количества данных (в своевременную и видеопамять), что кроме этого содействует повышению производительности (при уменьшении обращений к твёрдому диску).

Табл. 1 отображает сравнительные характеристики разных графических ускорителей.

Как пример на рис. 1 приведена визуализация поверхности города Аден (района взлетно-посадочной полосы) при разрешении текстур 1 м/сетки и пиксель высот 30 м (спутник Terra/ASTER).

Рис. 1. Район взлетно-посадочной полосы, г. Аден (Nvidia GeForce 660Ti)

Таблица 1. Сравнение работы совокупности «Глобус» на разных графических ускорителях

Графический ускоритель

Время визуализации поверхности, мс

Частота визуализации поверхности, Гц

Nvidia GeForce 660 Ti ~0,8 ~1300
Nvidia GeForce 560 GTX ~1,4 ~700
Nvidia GeForce 8500 GT ~4 ~250

Совокупность «Глобус» имеет приложение для подготовки настроечного файла запуска для удобства пользователя. Приложение разрешает:

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

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

Для этого при визуализации нужного участка происходит притягивание граничных вершин тайла высокой детализации к граничным краям тайлов низкой детализации (рис. 2, 3).

Рис. 2. Переход сетки высот различной детализации района Гималаев

Рис. 3. Переход сетки высот различной детализации района Гималаев (проволочный стиль отображения)

Неотъемлемой частью ГС есть возможность одновременной визуализации нескольких десятков тысяч разнотипных динамических объектов (до 35 тыс. объектов) с помощью уровней детализации (рис. 4). Это достигается при помощи углубленного применения возможностей графических карт, включая помощь многоядерных графических ускорителей.

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

Рис. 4. Отображение 35 тыс. динамических объектов (NVIDIA GeForce 560)

В базе разработки лежит модульный принцип. Это разрешает сторонним разработчикам в сжатые сроки создавать и подключать дополнительный функционал. Подключаемые модули смогут быть созданы с применением языков программирования C#, C/C++ либо с применением разработки COM, платформы Windows.

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

Главные характеристики совокупности «Глобус»:

  • динамическая загрузка текстур и рельефа;
  • помощь LOD (уровни детализации) динамических и статических объектов;
  • поддерживаемые форматы: OpenFlight (*.flt), Collada (*.dae), Autodesk 3D Max (*.3ds), Blender 3D (*.blend), DirectX (*.x) и др.;
  • помощь многоядерных совокупностей;
  • платформа Микрософт Windows 7 (32/64 бит) и выше; • видеоплата Nvidia GeForce 8500 GT и выше.

Базисные модули:

  • модуль Globus (несёт ответственность за запуск графической совокупности с учетом файла конфигурации);
  • модуль Globus.Engine (визуализация подготовленных перечней отображения);
  • модуль Globus.Window (создание контекстного окна для отображения графики);
  • модуль Globus.Camera (перемещение корреспондента в геоинформационной 3D-сцене);
  • модуль Globus.Input (обработка нажатия клавиатуры и клавиш мыши);
  • модуль Globus.Surface (подготовка перечней отображения поверхности);
  • модуль Globus.Command (обработка и отправка команд);
  • модуль Globus.SimpleModelLoader (загрузчик статических и динамических моделей);
  • модуль Globus.Variable (содержит разные константы).

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

Глобус MOVA


Подобранные по важим запросам, статьи по теме: