LINUX.ORG.RU

Intermediate Graphics Library 1.0.0

 , , , ,

Intermediate Graphics Library 1.0.0

0

2

Состоялся выпуск 1.0.0 C++ библиотеки Intermediate Graphics Library (IGL). Это кроссплатформенная библиотека для управления графическим процессором. Она предоставляет единый низкоуровневый кроссплатформенный интерфейс поверх различных графических API.

Поддерживаемые бэкенды рендеринга: Metal 2+, OpenGL 2.x (требуется GL_ARB_framebuffer_object), OpenGL 3.1+, OpenGL ES 2.0+, Vulkan 1.1 и WebGL 2.0.
Поддерживаемые платформы: Android, iOS, Linux, macOS, Windows и WebAssembly. Библиотека распространяется по лицензии MIT.

>>> Подробности

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Низкоуровневый интерфейс вокруг множества API, не все из которых низкоуровневые сами по себе?

static_lab ★★★★★
()
Ответ на: комментарий от sparkie

Очередной костыль?

Скорее инвалидная коляска.

BlackJack
()
Ответ на: комментарий от zx_gamer

Следующий традиционный вопрос «И чо там осиливать?» Ты сам-то понимаешь профит от? Или сделать зарубку и гордиться?

slackwarrior ★★★★★
()

Почитал README, посмотрел примеры для десктопа. Что-то там очень как-то много #ifdef’ов. По идее, такая библиотека должна избавлять от необходимости писать условно компилируемый код за счёт каких-то абстракций, а тут как-то не так всё.

sadko4u ★★
()
Ответ на: комментарий от sadko4u

Да, поглядел, и понял, почему её называют «низкоуровневой». Она тупо ничего не абстрагирует, даже в шейдерах нужно самому делать замену подстроки, чтобы на разных версиях OpenGL работало 🤦

static_lab ★★★★★
()

Это кроссплатформенная библиотека для управления графическим процессором.

через неё можно кодировать H264 на том самом графическом процессоре?!

anonymous2 ★★★★★
()

больше абстракций богу абстракций!

demidrol ★★★★★
()
Ответ на: комментарий от xwicked

Это достаточно тонкая объектно-ориентированная обёртка на C++ над Metal / Vulkan / OpenGL 2 / OpenGL 3 / OpenGL ES / WebGL. Настолько тонкая, что всё равно придётся писать кучу ifdef под каждую платформу.

Никакой работы с окнами, устройствами ввода, звуком и т.п. нет. Только 3D API.

static_lab ★★★★★
()
Ответ на: комментарий от densss

Там две зелёные растянутые буквы S. Как теперь развидеть?

neumond
()
Ответ на: комментарий от peregrine

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

neumond
()
Ответ на: комментарий от static_lab

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

Получается более высокоуровневый WebGPU куда лучше подойдёт для тех же задач.

PeterKabin
()
Ответ на: комментарий от PeterKabin

WebGPU по сути похож и на Vulkan, и на Metal, и на этот IGL, но он есть только для браузеров. Вероятно, если есть задача сделать кроссплатформенное приложение с минимальным оверхедом (чтобы даже на очках не тормозило), — эта библиотека может помочь.

static_lab ★★★★★
()
Ответ на: комментарий от static_lab

Как мне кажется, интерфейс там как раз вполне высокоуровневый. По сравнению с каким-нибудь вулканом - точно. Насчёт gl сложно сказать, но программируя под современный gpu в gl водопровод придётся строить в голове, пытаясь избежать лишних cpu-gpu синхронизаций. Здесь же он явно строится. Так что низкоуровневый подход оказывается проще высокоуровневого. И в отличие от вулкана тут не нужно отдельно указыаать каждую мелочь

mittorn ★★★★★
()

единый низкоуровневый кроссплатформенный интерфейс поверх различных графических API

Походу я вкурил. Используя её, можно писать одинаковый код и для vulkan и для OpenGL. Тогда нужно!

xwicked ★★☆
()
Ответ на: комментарий от peregrine

Не, это даже рядом не стояло с SDLлями, это чисто обёртка над 3D API и то, минимально фундаментальная, чуть что ты будешь конкретное API дёргать (в SDL тоже конечно). Плюс неизбежная мешанина С и C++. Наверное есть своя ниша и задачи свои решает, я так понял это когда хочется в уже C++ проект притащить обёртку над базовыми API уже готовую. Имеет право на жизнь, но использовать я конечно же это не буду. А ниша, ну мне кажется это тулза для портирования игоря. Когда надо в движках заменить обработчики например текстур с API A на API B не трогая ничего иного и не реализуя тож самое самому. Вариантов как на этом что-то с нуля писать я не вижу.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от dataman

Лицокнига выпускает библиотеку с названием, похожим на ИГИЛ - какие вам ещё нужны доказательства?

densss ★★★★
()
Ответ на: комментарий от dataman

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

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от coji

«Одинаковый код и для vulkan и для OpenGL» будет неоптимален для vulkan (OpenGL сам неоптимален по определению).

Для чего сие поделие тогда пилят, от нечего делать? Кто-нибудь уже пользуется этой либой?

xwicked ★★☆
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.