В OpenSceneGraph




НазваниеВ OpenSceneGraph
страница2/4
Дата публикации30.03.2013
Размер0.53 Mb.
ТипДокументы
www.vbibl.ru > Информатика > Документы
1   2   3   4

Рисунок 1-1

^ Рост списка рассылок osg-пользователей

Список рассылок osg-пользователей рос значительно с течением времени.
Сегодня несколько сотен высоко производительных приложений используют OSG для управления отображением сложных 2D и 3D сцен. Хотя большинство приложений из областей визуализации и симуляторов, OSG можно обнаружить везде, где есть 3D графика, включая геоинформационные системы (GIS), автоматизированное проектирование (CAD), создание электронного информационного наполнения (DCC), разработка 3D баз данных, виртуальной реальности, анимации, игр и развлечений.


1.2 Установка OSG
В предыдущем разделе описывалось происхождение OSG. В этом разделе объясняется как получить и установить OSG, так чтобы вы смогли запустить OSG примеры и смогли разрабатывать свои OSG приложения.
OSG находится в процессе непрерывной разработки; ежедневно OSG сообщество исправляет ошибки и добавляет новые возможности. Эта книга описывает OSG v2.0, и освещает возможности, отсутствующие в предыдущих версиях. Проверьте OSG Wiki Web сайт [OSGWiki] для получения информации о последней доступной версии.
OSG Wiki Web сайт [OSGWiki] предлагает несколько вариантов и механизмов для скачивания OSG:


  • Откомпилированные библиотеки—используйте вариант с откомпилированными библиотеками OSG, чтобы установить необходимые библиотеки для запуска примеров и приложений OSG.




  • Исходные коды OSG—OSG разработчики должны получить копию исходного кода OSG. OSG предоставляет несколько механизмов получения полного дерева исходного кода. Вы можете получить стабильную версию OSG в архиве, скачать ночной tarball (упакованный архив текущих исходников) или использовать систему контроля версий (SVN) для синхронизации с текущими исходными кодами.




  • Сторонние компоненты—если вы собираете OSG из исходных кодов, некоторые опциональные компоненты требуют наличия программных пакетов не относящихся к OSG, таких как libTIFF, libPNG, и т.д. Если эти сторонние компоненты отсутствуют при сборке, опциональные компоненты не будут скомпилированы.




  • Набор данных примеров—Это собрание 2D изображений, 3D моделей, и других файлов с данными.


В следующем разделе описывается как получить и установить библиотеки времени выполнения OSG. Хотя OSG работает на широком спектре платформ, здесь освещается только Apple Mac OS X, Fedora Linux, и Microsoft Windows. Для получения информации о других платформах смотрите OSG Wiki Web сайт [OSGWiki].
Если установочные бинарные библиотеки отсутствуют для вашей платформы или вы хотите создать свой набор разработчика OSG, вам понадобится собрать OSG из исходных кодов. Для информации о получении исходных кодов OSG, сторонних компонентов и набора данных примеров смотрите OSG Wiki Web сайт [OSGWiki].
1.2.1 Требования к Оборудованию
OSG запускается на широком спектре платформ и операционных систем, и должен работать на большинстве компьютерных систем доступных сегодня.


  • Процессор—OSG может быть откомпилирован и запущен на большинстве современных CPU. OSG потоко-безопасен и может извлекать выгоду от многопроцессорности и двуядерных архитектур. OGS запускается как на 32- так и на 64-битных процессорах.




  • Графика—Ваша система должна быть оснащена AGP или PCI-Express графической картой. OSG работает на большинстве профессиональных- и графическом оборудовании потребительского-класса, предназначенного для моделирования, симуляторов и игр. OSG необходима графическая карта с хорошей реализацией OpenGL. Получите и установите последние драйвера от производителя вашего графического оборудования. Требования к установленному количеству видеопамяти зависит от того, что вы собираетесь делать, но 256Mb это приемлемый объем. OSG работает на многоканальных системах, и может извлекать выгоду от нескольких графических карт для увеличения скорости отображения.




  • Память—Минимальные требования к объему установленной оперативной памяти зависят от решаемых вами задач. 1GB это приемлемый объем, но может понадобиться больше, если объемы обрабатываемых данных велики.




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


1.2.2 Apple Mac OS X
OSG для Apple Mac OS X доступно на OSG Wiki Web сайте [OSGWiki] в виде файла с образом диска (.dmg). В нем содержатся как бинарные файлы времени выполнения так и полностью настроенная рабочая среда разработчика. Смотрите документацию OSG Apple QuickTime [MacOSXTips] для более подробной информации. Для того чтобы установить этот пакет выполните следующие шаги.


  1. На OSG Wiki Web сайте [OSGWiki], выберите Downloads.




  1. Скачайте OSG Universal Binaries для OSG v2.0. Это .dmg файл.




  1. После того как скачивание завершится, смонтируйте .dmg файл.




  1. Перенесите содержимое папки Frameworks из .dmg в /Library/Frameworks.




  1. В /Library/Application Support, создайте новую папку с именем OpenSceneGraph. Перенесите PlugIns из .dmg в эту папку. (Учтите, что некоторые системы чувствительны к сочетанию больших и маленьких букв, как в случае с “PlugIns”.)


1.2.3 Fedora Linux
OSG так же доступна для широкого спектра Linux. Многие среды Linux предоставляют интерфейс установочных пакетов, который позволяет вам производить поиск в пакете и установку. Например, в Ubuntu Linux запустите Synaptic Package Installer найдите OpenSceneGraph. Поиск должен вернуть бинарные файлы OSG времени выполнения и пакеты среды разработчика, которые можно выбрать и установить.
Для получения последних бинарных файлов для Fedora Core 4, посетите OSG Wiki Web сайт [OSGWiki] и выберите раздел Download. Напротив Binaries, выберете ссылку на Fedora Core 4.
1.2.4 Microsoft Windows
Бинарные файлы OSG времени выполнения для операционной системы Microsoft Windows доступны на OSG Wiki Web сайте [OSGWiki] в виде исполняемого InstallShield. Для установки этого пакета выполните следующие шаги.


  1. На OSG Wiki Web сайте [OSGWiki], выберите Downloads.




  1. Скачайте OSG Win32 Binaries для OSG. Это .exe файл.




  1. После того как скачивание завершится, два раза кликните по .exe файлу и следуйте инструкциям по установке.


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


  1. Откройте на вашем компьютере оболочку командной строки




  1. Введите следующую команду


osgversion
Это приведет к выполнению приложения osgversion, которое должно выдать номер версии OSG, как показано далее:
OpenSceneGraph Library 2.0
Этот простой шаг проверяет что система может найти исполняемые файлы OSG (ваш PATH настроен корректно), сообщает с каким номером версии вы работаете, и гарантирует минимальную работоспособность OSG.
Для проверки того может ли OSG производить отображение на вашей системе, выполните следующую команду:
osglogo
В результате должна отобразиться картинка похожая на Рисунок 1-2.
osglogo динамически обновляет свою сцену для того чтобы Земля вращалась. Также поддерживается trackball интерфейс, который позволяет вам вращать логотип с помощью левой кнопки мыши.


^ Рисунок 1-2

Вывод osglogo

На этом рисунке отображен результат команды osglogo.
1.3 Запуск osgviewer
Приложения osgversion и osglogo позволяют вам проверить как прошла установка, но эти программы имеют ограниченную функциональность. Этот раздел покажет вам как запустить osgviewer, гибкое и мощное OSG средство для отображения моделей. Загрузите простую модель коровы и отобразите ее с помощью следующей команды:
osgviewer cow.osg
На Рисунке 1-3 показан результат.
Модель коровы хранится в родном формате OSG, файле .osg. Тем не менее, osgviewer поддерживает те же форматы файлов что и OSG, многие из которых будут перечислены позже в разделе Подгружаемые Модули OSG.
Подобно osglogo, osgviewer позволяет вам взаимодействовать с моделью. По умолчанию osgviewer использует trackball-подобный интерфейс. Для вращения модели коровы, переместите мышь, удерживая нажатой левую кнопку мыши. Когда вы отпустите кнопку, модель продолжит вращение. Вы можете приближать и удалять модель с помощью правой кнопки мыши. Нажмите пробел чтобы вернуть модель в исходное состояние.


^ Рисунок 1-3

Вывод osgviewer

На этом рисунке изображен результат работы команды osgviewer cow.osg. Приложение osgviewer может отображать широкий спектр файлов с изображениями и моделями.
1.3.1 Получение Помощи
Пока запущен osgviewer, нажмите клавишу ‘h’ для того чтобы отобразить список клавиш и их назначение. Клавиши от ‘1’ до ‘5’ позволяют вам переключать различные режимы управления камерой, режим определяет каким способом мышь управляет позицией камеры; по умолчанию работает режим ‘1’, trackball. Много клавиш отвечает за управление режимами отображения, их описание будет в следующем разделе.
Нажмите клавишу Escape для выхода из osgviewer и возврата к командной строке. Введите следующую команду, для того чтобы увидеть все опции командной строки программы osgviewer:
osgviewer - -help
Это приведет к выводу всех опций командной строки. Далее следует описание нескольких часто используемых опций.


  • --clear-color—Эта опция позволяет вам установить цвет очистки или заднего фона, цвет задается как rgba значение. Например передача следующей команды приведет к тому что osgviewer отобразит сцену на белом фоне с альфа каналом равным 1.0:


osgviewer --clear-color 1.0,1.0,1.0,1.0 cow.osg


  • --image—Эта опция заставит osgviewer загрузить одно изображение и отобразить его в виде текстуры наложенной на четырехугольный примитив. Следующая команда отобразит логотип OSG из .png файла.


osgviewer --image osg256.png
В дополнение к аргументам командной строки и клавишам управления, вы можете контролировать osgviewer с помощью нескольких переменных окружения. Чтобы увидеть текст полной помощи osgviewer, введите следующую команду в командной строке:
osgviewer --help-all
В следующем разделе дается более детальное описание о том как использовать приложение osgviewer.
1.3.2 Режимы Отображения
Многие из клавиш управления osgviewer задают режимы отображения, контролируя как будет выглядеть модель.


  • Полигональный режим—Нажимайте ‘w’ для циклического переключения режимов отображения проволочного каркаса, точек и закрашенных полигонов.




  • Текстурирование— Нажимайте клавишу ‘t’, для переключения между режимами с текстурой и без нее.




  • Освещение—Разрешает и запрещает освещение с помощью клавиши ‘l’.




  • Отсечение не лицевых граней—Клавиша ‘b’ переключает режим отсечения не лицевых граней. Вы не увидите разницы для модели cow.osg, но она может повлиять на вывод других моделей и производительность при отображении.




  • Полноэкранный режим—Нажатие на клавишу ‘f’ приводит к переключению между полноэкранным и оконным режимами.


Потратьте некоторое время для экспериментов, комбинируя различные клавиши в osgviewer. Например, чтобы ясно увидеть полигональную структуру модели, перейдите в режим проволочного каркаса и выключите текстурирование и освещение.
1.3.3 Переменные Окружения
Хотя OSG и приложение osgviewer поддерживают много переменных окружения, две из них надо знать очень хорошо. Вы часто будете их использовать, работая с OSG.
Путь Поиска Файлов
Переменная окружения OSG_FILE_PATH определяет путь поиска, который будет использовать OSG, для загрузки файлов с изображениями и моделями. Если вы запустите osgviewer cow.osg и cow.osg не окажется в текущей директории, OSG найдет и загрузит ее, потому что путь к директории с этим файлом определен в OSG_FILE_PATH.
Инсталляция с сайта сама создает переменную OSG_FILE_PATH. Вы можете добавить еще директорий в эту переменную. В Windows, отделяйте директории с помощью точки с запятой, и используйте двоеточие на других платформах. Если переменная пуста или отсутствует, OSG ищет файлы изображений и моделей только в текущей директории.
Вывод Отладочных Сообщений
OSG способна выводить большое количество отладочной информации в std::cout. Это полезно на этапе разработки OSG приложений, поскольку позволяет глубже взглянуть на то, что делает OSG. Переменная окружения OSG_NOTIFY_LEVEL контролирует как много отладочной информации будет выводить OSG. Вы можете задать одно из семи значений для определения уровня подробности. ALWAYS (наименее подробный), FATAL, WARN, NOTICE, INFO, DEBUG_INFO, и наконец DEBUG_FP (самый подробный).
В обычном случае разработки OSG, установите OSG_NOTIFY_LEVEL в NOTICE, и меняйте значение вверх или вниз для регулирования уровня подробности, чтобы получать больше или меньше отладочной информации.
1.3.4 Вывод Статистик
Для измерения производительности часто оказывается полезна клавиша ‘s’, которая использует класс StatsHandler библиотеки osgViewer, собирая и выводя информацию о производительности отображения. Клавиша ‘s’ циклически переключает четыре режима вывода.


  1. Частота кадров—osgviewer выводит количество кадров, отображаемых за секунду (FPS).




  1. Время обхода—osgviewer выводит количество времени, потраченное на события, обновление, отсечение, и обход отрисовки, выводит графики, как показано на Рисунке 1-4.




  1. Информация о геометрии—osgviewer выводит количество отображаемых osg::Drawable объектов, а так же общее количество вершин и примитивов, обработанных за кадр.




  1. Ничего—osgviewer выключает вывод статистики.



Нажатие клавиши ‘s’ два раза приведет к выводу времен обхода. Рисунок 1-4 показывает время обходов в виде графиков.
Выводимые графики представляют серию отображенных кадров. Обычно отображение синхронизировано с частотой развертки монитора для исключения появления артефактов, таких как рваное изображение. На Рисунке 1-4, частота монитора 60Hz, поэтому каждый кадр занимает 1/60 секунды, или около 16.67 миллисекунд. Этот вывод показывает сколько времени тратиться на события, обновление, отсечение и обход отрисовки. Эта информация необходима для анализа проблем производительности, и помогает определить на какой стадии возникает узкое место.

1   2   3   4

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
www.vbibl.ru
Главная страница