Jump to content

OpenGL исполнитель

OpenGL Performer , ранее известный как IRIS Performer и обычно называемый просто Performer , представляет собой коммерческую библиотеку служебного кода, построенную на основе OpenGL с целью создания в реальном времени приложений визуального моделирования . OpenGL Performer был разработан SGI . OpenGL Performer доступен для IRIX , Linux и нескольких версий Microsoft Windows . как ANSI C , так и C++ Доступны привязки .

Performer появился в 1991 году, когда группа из проекта SGI Open Inventor , известного тогда как IRIS Inventor, решила сосредоточиться на производительности, а не на простоте программирования. В то время как Inventor предоставляет простые в использовании объекты и различные элементы пользовательского интерфейса для взаимодействия с ними, Performer сосредоточился на системе графов сцены , которую можно было переупорядочивать на лету из соображений производительности, позволяя выполнять различные этапы задачи рендеринга в параллельно в нескольких потоках . Performer позволил сцене описывать уровни детализации с помощью полос гистерезиса и возможностей затухания. Контролировались частота кадров и статистика, а также рассчитывался фактор «стресса». Это можно использовать для дальнейшего взвешивания уровня детализации сцены, исключая детали для поддержания целевой частоты кадров.

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

У Performer не было собственного формата файлов, были только загрузчики плагинов от сторонних производителей, такие как от MultiGen загрузчик формата OpenFlight . Точно так же не было среды выполнения по умолчанию, был пример кода и часто используемый и часто модифицируемый пример приложения «perfly». Вероятно, это способствовало его репутации как сложного в использовании.

К середине 1990-х годов стало ясно, что нет причин, по которым нельзя было бы объединить Inventor и Performer. Это привело к созданию проекта Cosmo 3D , на основе которого SGI намеревалась построить Inventor и Performer (теперь по сути API-прокладки ), а также продвигать его как новый стандартизированный API более высокого уровня для будущей работы на платформе SGI. Однако после первой бета-версии Cosmo 3D компания SGI объединилась с Intel и IBM (а позже и с DEC ) для создания OpenGL++ , по сути, очищенной версии Cosmo. Этот проект умер, когда SGI обратила свое внимание на почти идентичный с Microsoft проект, известный как Fahrenheit , который также был закрыт. Сегодня Inventor и Performer остаются отдельными продуктами, и ни одна из объединенных версий так и не увидела свет.

нижнего уровня Performer состоит в основном из двух библиотек: libpr более высокого уровня и libpf . Библиотека libpr предоставляет объектно-ориентированный интерфейс для функций высокоскоростного рендеринга, основанный на концепции pfGeoSet и pfGeoState . pfGeoSet это набор графических примитивов, таких как многоугольники или линии. pfGeoState инкапсулирует свойства , относящиеся к данному pfGeoSet, такие как освещение, прозрачность и текстурирование.

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

Другие библиотеки Performer — libpfutil, libpfdb, libpfui и т. д. — предоставляют функции для создания оптимизированной геометрии, преобразования базы данных, ввода данных устройства (например, для взаимодействия с внешними флайбоксами и мультиплексорными шинами MIL-STD-1553 ), моделей движения, моделей столкновений. и независимый от формата интерфейс базы данных, который поддерживает распространенные форматы данных, такие как Open Inventor , OpenFlight , Designer's Workbench , Medit и файл Wavefront .obj .

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 991350835385101a04da396ea8a10f00__1719029400
URL1:https://arc.ask3.ru/arc/aa/99/00/991350835385101a04da396ea8a10f00.html
Заголовок, (Title) документа по адресу, URL1:
OpenGL Performer - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)