Что такое opengl skia

Русские Блоги

Введение в Skia и шаги компиляции под Windows

В библиотеках исходного кода Android и Chrome есть копия Skia, которая была частично изменена из-за различных требований.

Для Skia требуются следующие базовые библиотеки: freetype2, expat, tinyxml.

Вы можете использовать svn для загрузки исходного кода из Google: svncheckout http://skia.googlecode.com/svn 。

Файлы заголовков Skia и интерфейсы библиотечных функций реализованы на C ++.

Структура кода в каталоге src:

(1), каталог аниматора: используется для реализации анимационного эффекта Skia, Android не поддерживает;

(3) Каталог эффектов: для достижения некоторых специальных эффектов графических изображений, включая маски, тиснения, размытия, фильтры, градиенты, дискретность, прозрачность и т. Д., А также для реализации различных специальных эффектов PATH;

(4) каталог gl: реализована графическая библиотека Skia, Skia вызывает OpenGL или OpenGL ES для достижения некоторых простых 3D-эффектов;

(5) Каталог изображений: используется для обработки изображений, поддержки общего декодирования изображений, частичного кодирования изображений и анимации. Типы изображений, которые может обрабатывать Skia, включают: BMP, JPEG / PVJPEG, PNG, ICO, SkMovie для обработки анимации GIF;

(6) Каталог портов: это реализация некоторых интерфейсов Skia в разных системах и связанных с платформой кодов, таких как шрифты, потоки, время и т. Д. Эти интерфейсы со Skia необходимо реализовать для разных операционных систем;

(7) каталог svg: Skia поддерживает векторный SVG, но Android не поддерживает его;

(8), каталог utils: некоторые вспомогательные инструменты;

(9) Каталог представлений: Skia построила набор библиотек интерфейса UI;

(10) Каталог xml: для обработки данных xml Skia просто обертывает здесь синтаксический анализатор xml.Реализация синтаксического анализатора xml должна быть реализована в соответствии с различными операционными системами и хост-программами;

(11), каталог opts: код оптимизации производительности;

(12), каталог pdf: для обработки PDF-документов используется библиотека fpdfemb;

Сторонние библиотеки, которые в основном используются Skia: Zlib, Jpeglib, Pnglib, giflib, fpdfemb (обработка документов pdf).

Версия Android другая, версия Skia не та, и интерфейс немного другой.

Skia в основном содержит три библиотеки: (1) libcorecg.so: содержит часть / skia / src / core, например Region, Rect используется для вычисления видимой области в SurfaceFlinger; (2) libsgl. так: Содержит часть и весь / skia / src / core | effects | images | ports | utils, который реализует большинство графических эффектов skia, а также кодирование и декодирование графических форматов; (3), libskiagl.so: contains / Содержимое в skia / src / gl в основном используется для вызова opengl для достижения некоторых эффектов.

Интерфейс Skia к верхнему уровню: исходные файлы Skia и некоторые файлы заголовков находятся во внешнем каталоге / skia / src, а экспортированные файлы заголовков находятся в каталоге external / skia / include. Самым важным является класс SKCanvas, которым выполняется рисование почти нижнего уровня системы AndroidGUI. Класс SKCanvas имеет три основные функции рисования: (1) рисование базовой графики (например, drawARGB, функция drawLine); (2) рисование файла изображения (например, функция drawBitmap); (3) рисование текста (функция drawText).

Часть кодирования и декодирования изображений Skia: (1), /include/image/SKImageDecoder.h: декодировать файл изображения или поток во внутреннюю память skia SKBitmap; (2), /include/image/SKImageEncoder.h: поместить внутренний skia Память SKBitmap кодируется в файл или поток. Эти интерфейсы должны быть реализованы конкретными классами, а основной код находится в файле src / image.

Важные классы движка Skia: (1) SkCanvas: базовый класс движка Skia, который инкапсулирует все операции рисования, выполняемые на устройстве.

Технология аппаратного ускорения, используемая в Skia: (1), OpenGL / OpenGLES; (2), SIMD: SSE2 / SSSE3, NEON.

Компиляция Skia под Windows:

1. Отhttps://www.python.org/download/releases/2.7.8/Загрузите и установите python-2.7.8.amd64.msi; установите его в каталог D: \ ProgramFiles \ Python27 и добавьте D: \ ProgramFiles \ Python27 в переменную среды Path и перезагрузите компьютер;

3. Используйте svn для загрузки gyp:http://gyp.googlecode.com/svn/trunk, Храните всю папку gyp в папке / trunk_no_commit / third_party / externals;

4. Скопируйте все содержимое четырех папок jsoncpp, jsoncpp-chromium, libjpeg и libwebp из других веток в папку / trunk_no_commit / third_party / externals;

5. Откройте Cygwin, переключите его в каталог Skia trunk_no_commit, выполните python gyp_skia, и будет создана папка out, которая содержит сгенерированный проект skia.sln;

6. Если в процессе выполнения команды python gyp_skia отображается сообщение об отсутствии таких файлов, как /third_party/externals/libwebp/src/dec/frame.c, просто загрузите последний код с соответствующего веб-сайта и замените его.

11. Создайте новый проект TestSkia на основе проекта тестов. Настройки и код проекта следующие:

(1) В разделе «Отладка и выпуск» выберите «Набор символов: использовать набор символов Юникода»;

(5) Скопируйте два файла SkCommandLineFlags в trunk_no_commit-> tools-> flags в этот тестовый проект и добавьте их в проект;

Давайте поделимся учебником моего учителя по искусственному интеллекту. С нуля! Легко понять! Смешно и с юмором! Также принесите желтые анекдоты! Надеюсь, вы тоже присоединитесь к нашей команде искусственного интеллекта!https://blog.csdn.net/jiangjunshow

Интеллектуальная рекомендация

Что такое opengl skia. Смотреть фото Что такое opengl skia. Смотреть картинку Что такое opengl skia. Картинка про Что такое opengl skia. Фото Что такое opengl skia

В статье разъясняются методы реагирования на чрезвычайные ситуации в Linux.

Обработка событий аварийного реагирования в среде Linux часто бывает более сложной, потому что по сравнению с Windows в Linux нет инструментов аварийного реагирования, таких как Autorun и procxp, и не.

Аннотация JAXB @XmlRootElement

Исходный адрес: [https://jaxb.java.net/tutorial/section_6_2_1-A-Survey-Of-JAXB-Annotations.html#Top-level Elements: XmlRootElement](https://jaxb.java.net/tutorial/section_6_2_1-A-Survey-Of-JAXB-Annota.

Компилировать запись о проблеме

Компилировать запись о проблеме make otapackage Поскольку в моей среде компиляции существуют среды 5.1 и 4.3, среда 4.3 перезагружается после компиляции среды 5.1.Эта проблема вызвана не перезагрузкой.

Как использовать кнопку под Android

Файл шаблона макета main.xml.

Поток байта

Обзор В API Java вы можете прочитать входной поток от него к объекту одной байтовой последовательности.InputStreamТем не менее, можно написать выходной поток в объект, который он написан в одной после.

Вам также может понравиться

Что такое opengl skia. Смотреть фото Что такое opengl skia. Смотреть картинку Что такое opengl skia. Картинка про Что такое opengl skia. Фото Что такое opengl skia

mysql-workbench запускает хранимые процедуры

После выбора базы данных сначала выберите Создать хранимую процедуру в хранимой процедуре в нижнем левом углу. Тогда код хранимой процедуры: Затем нажмите Применить Затем откройте новый запрос, введит.

Elementui шаг

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

Что такое opengl skia. Смотреть фото Что такое opengl skia. Смотреть картинку Что такое opengl skia. Картинка про Что такое opengl skia. Фото Что такое opengl skia

Перепечатка, пожалуйста, укажите источникhttp://blog.csdn.net/xiaanming/article/details/11380619 Эта статья в основном объясняет функцию позиционирования карт Baidu, а затем использование двух наложен.

Что такое opengl skia. Смотреть фото Что такое opengl skia. Смотреть картинку Что такое opengl skia. Картинка про Что такое opengl skia. Фото Что такое opengl skia

Apple подтверждает приобретение Drive.ai автоматический запуск автомобиля

26 июня, согласно новому отчету, выпущенным Chronicle San Francisco, Apple наняла партию инженеров оборудования и программного обеспечения для «автоматического вождения автомобильного предприним.

Что такое opengl skia. Смотреть фото Что такое opengl skia. Смотреть картинку Что такое opengl skia. Картинка про Что такое opengl skia. Фото Что такое opengl skia

Демонстрационная реализация загрузки многопоточной точки останова Android

Сначала сделайте рендеринг: Основные идеи реализации: Каждая загрузка выполняется путем сокращения общей длины ресурса загрузки с помощью RandomAccessFile, а затем запуска многопоточной загрузки после.

Источник

Включите OpenGL Skies для лучшей производительности в Android-играх

Включите OpenGL Skies для лучшей производительности в Android-играх

Что такое opengl skia. Смотреть фото Что такое opengl skia. Смотреть картинку Что такое opengl skia. Картинка про Что такое opengl skia. Фото Что такое opengl skia

Включите OpenGL Skia для лучшей производительности в играх и интерфейсе Android
Игры на мобильных платформах (Android и iOS) достигли невероятного роста всего за несколько лет. Если сначала игры были довольно простыми, как, например, 80 PC, эти игры стали чрезвычайно сложными.

Игры на Android или iOS почти такие же, как на вашем ПК или консолях.

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

У большинства геймеров нет самых горячих телефонов.

Поскольку не у всех есть лучшие телефоны, Google нашел решение предложить небольшое повышение производительности тем, у кого слабые телефоны. Этот параметр повышает производительность игр при условии, что у нас есть ОС Oreo Android или новее. В старых версиях Android этот параметр недоступен.

Переход от графического движка OpenGL к OpenGL Skia.

Графический движок OpenGL Skia можно активировать с помощью:
Настройки / Параметры разработчика / Воспроизведение с аппаратным ускорением / Установка графического процессора… / выберите OpenGL Skia здесь

Бонус, Настройки кэша и Ускорение скорости интерфейса.

За исключением настройки, которая активирует графический движок OpenGL Skia, есть два важных параметра, которые заставят ваш Android двигаться быстрее.

1. Очистить кеш из: Настройки телефона / Хранение и память / Данные кэширования. Кэшированные данные больше не полезны, поэтому вы можете удалить их без проблем.

Учебники нравится:

Источник

Opengl по умолчанию или skia

До Android 3.0 Canvas использовала библиотеку рисования Skia 2D для рисования, которая не могла воспользоваться аппаратным ускорением. В Android 3.0 аппаратное ускорение для Canvas API использует новую библиотеку чертежей под названием OpenGLRenderer, которая переводит операции Canvas в операции OpenGL, чтобы они могли выполняться на графическом процессоре.

Однако на странице Skia https://code.google.com/p/skia/ говорится, что Skia может вернуться на OpenGL.

Кроме того, в этом FAQ Skia https://sites.google.com/site/skiadocs/user-documentation/faq говорится: «SkGLCanvas был написан для направления вызовов рисования в OpenGL».

Поэтому мне интересно, есть ли особая причина, по которой Android не просто использует Skia для OpenGL для получения аппаратной ускоренной графики? (Может быть, различие между OpenGL и OpenGL ES?)

Они явно предназначались для того, чтобы Skia ускорялись чем-то, но этого никогда не случалось. PixelFlinger и libagl также очень похожи на раннюю версию OpenGL, но также не были ускорены.

Большим нарушением стала версия OpenGL ES версии 2.0. Большая часть его власти лежит в языке затенения, и не было простого способа использовать это через Скию. ICS была действительно серьезным перепроектированием, где они отказались от Skia вместо OpenGL ES 2.0 — со всеми возможностями GLSL.

Они также остро нуждались в улучшенной поддержке ФБО в 2.0. Это основа новых классов TextureView и VideoView.

Также важно, что более 99% всех Android-устройств теперь имеют ускорение OpenGL ES 2.0. Для примера того, как они открыли GLSL для Canvas API в ICS, взгляните на класс Effects.

Я слышал, что Skia GPU acc был добавлен в Android 3.0, но, похоже, он был отключен по умолчанию с Android 4.0, вероятно, из-за перехода на HWUI (реализация OpenGL Canvas). Как я могу включить это снова только для целей сравнения.

android opengl-es skia hwui

1 ответ

Я не знаю другого метода аппаратного ускорения Skia. Хотя для HWUI документация разработчиков описывает это здесь: https://developer.android.com/guide/topics/graphics/hardware-accel.html

Извините, если вы уже знаете о внедрении HWUI.

Доступны четыре уровня контроля:

Уровень приложения, уровень активности, уровень окна и уровень просмотра.

Уровень приложения

В манифесте добавьте в приложение следующий атрибут:

Уровень активности

В вашем манифесте добавьте в свою активность следующий атрибут:

Вы также можете смешивать и сопоставлять уровень приложения и активности, чтобы включить HWUI только в некоторых действиях, например:

Уровень окна

Примечание. Вы можете активировать только HWUI на уровне окна.

Уровень просмотра

Примечание. Вы не можете отключить HWUI от просмотра. В вашем src:

Также вы правы в HWUI:

Android Honeycomb (3.0) увидел добавление HWUI (Hardware Acceleration) в качестве опции для всех приложений без дополнительного кода рисования. Система будет автоматически запускать предопределенные функции OpenGL ES для всех совместимых методов рендеринга вместо SKIA.

С Android Ice Cream Sandwich (4.0), HWUI по умолчанию. В связи с этим все 4. 0+ устройства должны иметь GPU с поддержкой OpenGL ES 2.0.

Как стать «разработчиком» Andro >

Подробности Категория: советы Опубликовано 13.12.2018 06:00 Автор: Зорыч Просмотров: 2765

Не все знают, но в телефонах и планшетах на базе Android можно включить расширенные настройки под названием «Для разработчиков». Мы расскажем, как активировать этот скрытый пункт меню, и какую пользу вы из этого можете извлечь. В качестве примера мы взяли Huawei Honor 7C.

Как включить пункт меню «Для разработчиков»

Переходим в «Настройки > Система > О телефоне», где находим пункт «Номер сборки». Тапаем по нему несколько раз, после чего появится сообщение, что вы стали разработчиком, а в меню «Система» — новый пункт «Для разработчиков». Внутри несколько десятков настроек. Мы вкратце пройдемся по самым интересным и попробуем найти хотя бы пять полезных и нужных для обычного пользователей возможностей.

Создать отчет об ошибке. Это может пригодится в очень редких случаях.

Блокировка экрана (вкл/откл). В этом меню вы можете отключить блокировку, даже не вводя пароль от телефона.

Пароль для резервного копирования. По умолчанию бэкапы создаются без пароля. Здесь можно его создать.

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

Разрешить заводскую разблокировку устройства. После этого функции защиты будут отключены.

Работающие приложения. Вы можете посмотреть на все программы, которые работают в фоновом режиме. Вы удивитесь, насколько их много и как они тратят память телефона.

Цветовой режим. Можно включить режим sRGB (вы вряд ли заметите разницу).

Автоматические обновления системы. Можно включить принудительную установку.

Отладка по USB. Вы можете включить режим отладки при подключении к компьютеру.

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

Повышение четкости на солнце. Режим включен по умолчанию.

Включить расширенные логи Wi-Fi. Нужно только тем, кто понимает, что означают аббревиатуры SSID I.

Быстрый переход от Wi-Fi к моб. передаче данных. Если сигнал Wi-Fi окажется слабым, автоматически включится передача данных по мобильной сети. С одной стороны это удобно, но в роуминге этот пункт мы включать не рекомендуем.

Постоянная передача данных. Даже если вы пользуетесь Wi-Fi, мобильный интернет будет активен для быстрого переключения сетей.

Выбор настройки USB (для подключения к ПК). Пусть остается пункт MTP.

Отключить управления громкостью по Bluetooth. Нужно, чтобы не было проблем на удаленных устройствах: слишком высокая громкость или потеря контроля.

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

Показывать нажатия. После активации вы будете видеть, куда тыкали пальцем.

Местоположение указателя. А здесь можно будет отслеживать координаты указателя.

Здесь можно включить анимацию окон и переходов, эмулировать дополнительные экраны и т. п.

Меню «Аппаратно-усиленная визуализация»

Можно ускорить работу GPU, включив аппаратное ускорение 2D-графики в приложениях.

Включить 4xMSAA. Только для приложений OpenGL ES 2.0.

Имитировать аномалию. Включение разных спецрежимов (монохром, дейтераномалия, протаномалия, тританомалия).

Настроить рендерер графического процессора. Вместо OpenGL можно выбрать OpenGL (Skia).

Откл. передачу аудио (USB). Речь идет об автоматической маршрутизации на внешние USB-устройства.

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

Запись времени работы GPU (вкл/выкл).

Не сохранять действия. Удалять сводку действий после их завершения.

Лимит фоновых процессов. Минимум: нет фоновых процессов, максимум: 4 процесса.

Все ANR. Уведомлять, если приложение не отвечает.

Неактивные приложения. Приведен весь список неактивных в данный момент программ.

Сохранение приложений на внешний носитель. Разрешает сохранять программы независимо от объявленного значения.

Как видим, возможностей много. Но обычному пользователю смартфона они совершенно не нужны. Так что пункт меню «Для разработчиков» можете даже не включать. Не нужен он вам.

Как отключить пункт меню «Для разработчиков»

Включить пункт меню «Для разработчиков» довольно просто, а отключить гораздо сложнее. Его можно деактивировать, но из меню этот пункт никуда не денется.

Стандартные настройки Android 6 и 7 в пункте «Для разработчиков» имеют переключатель ВКЛ-ВЫКЛ для режима разработчика, однако при выключении режима разработчика таким образом, сам пункт не исчезает из настроек. В некоторых телефонах можно зайти в список приложений, включить показ системных и сбросить содержимого приложения «Хранилище настроек». Но такое возможно не во всех смартфонах. Можно сбросить настройки телефона на заводские настройки. Но такой кардинальный способ мы предлагать вам не будем.

Что такое OpenGL?

Автор: Роман Подобедов

Введение

Сейчас трёхмерные изображения можно увидеть везде, начиная от компьютерных игр и заканчивая системами моделлирования в реальном времени. Раньше, когда трёхмерная графика существовала только на суперкомпьютерах, не существовало единого стандарта в области графики. Все программы писались с «нуля» или с использованием накопленного опыта, но в каждой программе реализовывались свои методы для отображения графической информации. С приходом мощных процессоров и графических ускорителей трёхмерная графика стала реальностью для персональных компьютеров. Но в тоже время производители программного обеспечения столкнулись с серьёзной проблемой — это отсутствие каких-либо стандартов, которые позволяли писать программы, независимые от оборудования и операционной системы. Одним из первых таких стандартов, существующий и по сей день является OpenGL.

OpenGL — это графический стандарт в области компьютерной графики. На данный момент он является одним из самых популярных графических стандартов во всём мире. Ещё в 1982 г. в Стенфордском университете была разработана концепция графической машины, на основе которой фирма Silicon Graphics в своей рабочей станции Silicon IRIS реализовала конвейер рендеринга. Таким образом была разработана графическая библиотека IRIS GL. На основе библиотеки IRIS GL, в 1992 году был разработан и утверждён графический стандарт OpenGL. Разработчики OpenGL — это крупнейшие фирмы разработчики как оборудования так и программного обеспечения: Silicon Graphics, Inc., Microsoft, IBM Corporation, Sun Microsystems, Inc., Digital Equipment Corporation (DEC), Evans & Sutherland, Hewlett-Packard Corporation, Intel Corporation и Intergraph Corporation.

OpenGL переводится как Открытая Графическая Библиотека (Open Graphics Library), это означает, что OpenGL — это открытый и мобильный стандарт. Программы, написанные с помощью OpenGL можно переносить практически на любые платформы, получая при этом одинаковый результат, будь это графическая станция или суперкомпьютер. OpenGL освобождает программиста от написания программ для конкретного оборудования. Если устройство поддерживает какую-то функцию, то эта функция выполняется аппаратно, если нет, то библиотека выполняет её программно.

Что же представляет из себя OpenGL? С точки зрения программиста OpenGL — это программный интерфейс для графических устройств, таких как графические ускорители. Он включает в себя около 150 различных команд, с помощью которых программист может определять различные объекты и производить рендеринг. Говоря более простым языком, вы определяете объекты, задаёте их местоположение в трёхмерном пространстве, определяете другие параметры (поворот, масштаб, …), задаёте свойства объектов (цвет, текстура, материал, …), положение наблюдателя, а библиотека OpenGL позаботится о том чтобы отобразить всё это на экране. Поэтому можно сказать, что библиотека OpenGL является только воспроизводящей (Rendering), и занимается только отображением 3Д обьектов, она не работает с устройствами ввода (клавиатуры, мыши). Также она не поддерживает менеджер окон.

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

В некоторых библиотеках OpenGL (например под X Windows) имеется возможность изображать результат не только на локальной машине, но также и по сети. Приложение, которое вырабатывает команды OpenGL называется клиентом, а приложение, которое получает эти команды и отображает результат — сервером. Таким образом можно строить очень мощные воспроизводящие комплексы на основе нескольких рабочих станций или серверов, соединённых сетью.

Основные возможности OpenGL.

Что предоставляет библиотека в распоряжение программиста? Основные возможности:

Дополнительные библиотеки OpenGL

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

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

Следующая библиотека, также широко используемая — это GLUT. Это также независимая от платформы библиотека. Она реализует не только дополнительные функции OpenGL, но и предоставляет функции для работы с окнами, клавиатурой и мышкой. Для того чтобы работать с OpenGL в конкретной операционной системе (например Windows или X Windows), надо провести некоторую предварительную настройку и эта предварительная настройка зависит от конкретной операционной системы. С библиотекой GLUT всё намного упрощается, буквально несколькими командами можно определить окно, в котором будет работать OpenGL, определить прерывание от клавиатуры или мышки и всё это не будет зависеть от операционной системы. Библиотека предоставляет также некоторые функции, с помощью которых можно определять некоторые сложные фигуры, такие как конусы, тетраэдры, и даже можно с помощью одной команды определить чайник!

Есть ещё одна библиотека похожая на GLUT, называется она GLAUX. Это библиотека разработана фирмой Microsoft для операционной системы Windows. Она во многом схожа с библиотекой GLUT, но немного отстаёт от неё по своим возможностям. И ещё один недостаток заключается в том, что библиотека GLAUX предназначена только для Windows, в то время как GLUT поддерживает очень много операционных систем.

Существуют и другие дополнительные библиотеки для OpenGL. Все они добавляют что-то своё или ориентированы на какую-то платформу. Например существует такая библиотека как GLX — это расширение для X Windows, позволяющее использовать в X Windows OpenGL. GLX предоставляет не только локальный рендеринг, но и рендеринг по сети.

Альтернативы OpenGL

Хотя библиотека OpenGL и считается одной из лучших библиотек как для профессионального применения так и для игр, у неё существуют и конкуренты.

Одним из главных конкурентов считается Direct3D из пакета DirectX, разработанный фирмой Microsoft. Direct3D создавался исключительно для игровых приложений. Если сравнивать эти две библиотеки, то нельзя сказать, что одна из них лучше, а другая хуже, у каждой библиотеки имеются свои особенности. Например, если сравнивать их в плане переносимости программ с одной платформы на другую, то Direct3D будет работать только на Intel платформах под управлением операционной системы Windows, в то время программы, написанные с помощью OpenGL можно успешно перенести на такие платформы как Unix, Linux, SunOS, IRIX, Windows, MacOS и многие другие. А вот в плане объектно-ориентированного подхода OpenGL уступает Direct3D. OpenGL работает по принципу конечного автомата, переходя из одного состояния в другое, совершая при этом какие-то преобразования. Ещё одним преимуществом Direct3D является поддержка дешёвого оборудования, OpenGL же поддерживается не на всех графических картах, но для профессиональных ускорителей OpenGL является стандартом де-факто. И ещё, OpenGL легче чем Direct3D для изучения основ графики, OpenGL можно применять например для начального изучения трёхмерной графики.

GLide до недавнего времени тоже являлся довольно широко используемым стандартом для игровых приложений. Этот стандарт создала фирма 3Dfx и библиотека GLide создавалась исключительно для видео ускорителей фирмы 3Dfx Voodoo и была оптимизирована исключительно под них. GLide является более низкоуровневым по отношению к OpenGL и по своим командам похож на него. GLide мало чем отличается от OpenGL по своим возможностям, за исключением некоторых функций, которые специально предназначались для Voodoo ускорителей. Но к сожалению 3Dfx отказалась от этого стандарта, передав его в руки разработчиков открытого программного обеспечения.

Есть ещё несколько библиотек, среди них можно отметить Heidi. Heidi это библиотека или даже лучше сказать драйвер для визуализации трёхмерных сцен, используемый только в 3D Studio Max и только под Windows NT.

Стоит также отметить совместную разработку двух гигантов — Microsoft и Silicon Graphics в области стандартизации компьютерной графики. Этот проект носит название Fahrenheit и сейчас находится в стадии разработки.

Заключение

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

Дополнительные материалы:

DirectX от WinG до Fahrenheit

DirectX7 vs DirectX6

Коротко о DirectX7

OpenGL 2.0: программируемый, масштабируемый и расширяемый

OpenML. Первый взгляд

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *