LINUX.ORG.RU

LDL 0.1

 , , , ,


2

2

Состоялся первый публичный релиз мультимедийной библиотеки LDL (Little DirectMedia Layer), позволяющей создавать графические приложения, способные работать, как на современных, так и на устаревших системах (Windows 95+, дистрибутивы с ядром Linux 2.0+, FreeBSD 3.0+). Предоставляется простой кроссплатформенный API для управления окнами и обработки событий с устройств ввода. Для отрисовки может использоваться OpenGL 1.0-4.6. Код поставляется под лицензией LGPL 3.0.

Выпуск примечателен переходом с использования языка C++98 на язык ANSI C (C89) для обеспечения максимальной переносимости и совместимости со старыми компиляторами и платформами, включая DOS, Windows 95 и PlayStation 1.

Проект планирует развиваться постепенно — в первой версии предложены возможности для работы с окнами, событиями ввода и графикой, после чего начнётся развитие 2D-рендера, средств для работы со звуком и шрифтами, бэкендов для работы поверх библиотек SDL 1.2, SDL 2.x, SDL 3.x, SFML и GLFW. Использование бэкендов SDL, SFML и GLFW позволит без изменения кода собирать приложения для платформ, напрямую не поддерживаемых в LDL. В планах на будущее также отмечается создание универсального API для работы со спрайтами и 2D-графикой, который можно использовать независимо от выбранного бэкенда (OpenGL, Vulkan, программная отрисовка, библиотеки типа SDL).

>>> Репозиторий LDL



Проверено: dataman ()
Последнее исправление: hobbit (всего исправлений: 5)
Ответ на: комментарий от LongLiveUbuntu

Первый публичный релиз - это 1.0, а это - новость о намерениях.

Первый публичный релиз 0.1 в котором есть ряд возможностей. В новости я дополнительно указал, что в версии 0.2 будет 2D рендер, это уже намерения.

JordanCpp
() автор топика

Windows 95 – это класс, там доступ к графике, звуку и вводу стандартизировали. Точно так же PS1, интерфейсы все железобетонные, везде одинаковое железо, если не считать пары подводных камней. Но DOS? Там же куча разного железа, зоопарк из разных досов и бивисов, которые реализуют одни и те же прерывания совершенно разными способами, а железо… Hercules, CGA, EGA, MCGA/VGA/SVGA, и это только видео, с аудио вариантов в разы больше, контроллеры на game port вообще отдельная тема. Да, на DOS недавно портировали SDL3, но он вроде бы работает только с дефолтным конфигом досбокса и всё.

Но библиотека классная, ещё и на кошерном C, надо будет попробовать. На PS1 вроде бы до сих пор нет порта SDL. Какие ещё платформы в планах? Имеет смысл двигаться в сторону PS2 и PSP, так как они медленно переходят в категорию «ретро».

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

А, получается LDL теперь не легкая совместимая замена SDL, а просто некий отдельный продукт со своим интерфейсом?
Мне казалось, у вас идея сделать замену разожравшемуся SDL, как альтернативу, чтоб можно было компилить SDL проекты почти без переделки. Не так?

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

Под dos начну с порта под 16 битные процессоры который 80186, 80286. Графика vga 320x200, клавиатура, мышь. Уже для 32 битного порта, да надо будет прикрутить vesa. Так как пока без звука, то можно не заботиться о драйверах.

В иделае конечно бы хотелось PS1, PS2, PSP. Но это для будущего. Сейчас у меня нет знаний о них.

JordanCpp
() автор топика
Ответ на: комментарий от Alphaer

А, получается LDL теперь не легкая совместимая замена SDL, а просто некий отдельный продукт со своим интерфейсом?

Да, теперь отдельный продукт. В С++ версии я писал поверх LDL совместимый слой. Но это не очень продуктивно. Возможно в будущем я сделаю эту совместимость. Но не сейчас, сейчас только LDL API.

Я в основном пишу код один, поэтому не могу распыляться на всё. Сейчас приоритет версия 0.2

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

Возможно в будущем я сделаю эту совместимость.

Да это было бы хорошо. Собственно для меня именно в этом была ее ценность.

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

Если уж поддерживать 80186, лучше брать 8086. Там не хватает всего пары инструкций, а так всё то же самое. И 8086, и 80186, и 80286 теперь поддерживает DOSBox-X, так что даже 86Box или bochs ставить не придётся.

CYB3R ★★★★★
()
Последнее исправление: CYB3R (всего исправлений: 1)
Ответ на: комментарий от CYB3R

Если уж поддерживать 80186, лучше брать 8086.

в каком смысле лучше, если они обратно совместимы?
по инструкциям 186 - это как 286 без защищённого режима
его сейчас в некоторые ретро-поделки пихают

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