Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Классификация разъемов на видеокартах





Назначение библиотеки DirectX и OpenGl

Многие годы в программистском сообществе идет дискуссия о преимуществах использования того или иного интерфейса для создания графики в компьютерных играх (и не только). Главные соперники в этой области – библиотеки OpenGL и DirectX.

 

Индустрия до сих пор так и не сделала однозначный выбор в пользу того или иного API. Для тех, кто не знает: API – это Application Programming Interface, то есть интерфейс прикладного программирования. Фактически – набор функций для выполнения различных задач. В нашем случае задача – это программирование трехмерной графики.

КАК ЭТО БЫЛО

OpenGL

Стандарт OpenGL (Open Graphics Library – открытая графическая библиотека) был создан и утвержден в 1992 году ведущими фирмами в области разработки программного обеспечения как эффективный аппаратно-независимый интерфейс, пригодный для реализации на различных платформах. Основой стандарта стала библиотека IRIS GL, изначально разработанная фирмой Silicon Graphics Inc (SGI). OpenGL была утверждена как открытый стандарт (не open source, как некоторые думают) и поэтому библиотека доступна на многих платформах.

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

Развитие стандарта OpenGL осуществляется специальной бюрократической структурой, известной как Architectural Review Board (ARB) – Комитет по пересмотру архитектуры. Комитет состоит из представителей основных компаний, заинтересованных в развитии и использовании библиотеки. В их числе 3D Labs, SGI, Apple, NVIDIA, ATI, Intel, id Software и, конечно, Microsoft.

Кстати, Microsoft поставляет реализацию OpenGL вместе со своими операционными системами. Она соответствует одной из ранних версий OpenGL и не использует возможности аппаратного ускорения. Этот недостаток восполняют драйверы видеокарт, которые предоставляют быстрые реализации OpenGL.

C начала 90-х годов прошлого века OpenGL используется в различных областях индустрии и науки. Архитектура библиотеки получилась настолько удачной, что уже на протяжении более десяти лет она остается стабильной и предсказуемой. OpenGL де-факто является стандартом в области программирования графики. Но в этом скрыт и ее недостаток. ARB работает довольно медленно – любое изменение стандарта требует множества согласований, документов и так далее.

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

И при этом обновление их возможностей происходит в среднем раз в год. Фактически OpenGL не поспевает за индустрией, поэтому игровые разработчики вынуждены использовать так называемый механизм расширений (extensions), чтобы получить доступ к новейшим функциям видеокарт.

На данный момент OpenGL прошла путь от версии 1.0 до версии 1.4 (и это за десять лет!). Версия 2.0, обещающая революционные изменения, находится в процессе стандартизации.

DirectX

К моменту выхода Windows 95 большинство игр по-прежнему делалось под MS-DOS. Windows в те времена не предоставляла возможностей для программирования игр. Многочисленные уровни абстракции (введенные в целях совместимости и универсальности) делали доступ к звуковому и видеооборудованию весьма медленным и неприменимым для игровых приложений. Поэтому было решено разработать библиотеку, предоставляющую возможность прямого доступа к аппаратуре. Это позволило бы играм работать на приемлемой скорости (и увеличило бы продажи Windows 95).

Вместо создания собственного API Microsoft использовала разработку небольшой компании RenderMorphic. Говорят, что изначально API был выполнен авторами в рамках студенческого задания и в конечном итоге провалился на экзамене. Тем не менее Microsoft интегрировала эту библиотеку в свой Game SDK. Корпорация подавала это как идеальное решение для программирования игр.

Однако то, что позже стало называться DirectX 1.0., не приобрело широкой популярности. Библиотека оказалась медленной, с большим количеством ошибок, с неудобной архитектурой и, кроме того, чрезмерно сложной.

Разумеется, Microsoft не собиралась сдаваться и продолжила развитие библиотеки с учетом пожеланий разработчиков игр. Первой более или менее жизнеспособной версией была DirectX 3.0. Позже последовали версии 5, 6 и 7 (четвертой не было). Седьмая версия была воспринята разработчиками с интересом: она хорошо работала, ее интерфейсы были в меру разумны.

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

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

Мы рассматриваем только графическую часть DirectX, но кроме графики DirectX также предлагает интерфейсы для работы со звуком, источникам ввода, мультимедиа и так далее. У OpenGL таких функций нет – это чисто графическая библиотека.







Дата добавления: 2015-09-07; просмотров: 547. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


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


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

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

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

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия