LINUX.ORG.RU

Сообщения JordanCpp

 

LDL 0.3 — графическая библиотека, оптимизированная для маломощных систем

 , , ,

Группа Разработка

Опубликован новый выпуск мультимедийной библиотеки LDL 0.3. Она помогает создавать графические приложения для старых и новых операционных систем. Код написан на языке Си под свободной лицензией LGPL 3.0.

Главные особенности библиотеки

  • Поддержка систем. Код работает на Windows 95+, macOS 10.6+, Linux 2.0+ и FreeBSD 3.0+.
  • Простой API. Помогает управлять окнами и собирать сигналы от мышки и клавиатуры.
  • Любой OpenGL. Для отрисовки графики подходят версии от 1.0 до 4.6.

Что нового в версии LDL 0.3

( читать дальше... )

>>> Репозиторий LDL (github.com)

JordanCpp
()

LDL 0.2 — графическая библиотека, оптимизированная для маломощных систем

 , , ,

Группа Open Source

Опубликован выпуск мультимедийной библиотеки LDL 0.2 (Little DirectMedia Layer). Она позволяет создавать графические приложения, способные работать как на современных, так и на устаревших системах.

Поддерживаемые платформы

  • Windows: 95 и новее;
  • macOS / OS X: 10.6 и новее;
  • Linux: дистрибутивы с ядром 2.0+;
  • FreeBSD: 3.0+.

Основные характеристики

  • Язык программирования: Си;
  • Лицензия: LGPL 3.0;
  • Графика: Простой кроссплатформенный API, поддержка OpenGL 1.0–4.6;
  • Ввод: Управление окнами и обработка событий с устройств ввода.

( читать дальше... )

>>> Новость на opennet.ru (opennet.ru)

JordanCpp
()

LDL 0.1

 , , , ,

Группа Open Source

Состоялся первый публичный релиз мультимедийной библиотеки 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.

( читать дальше... )

>>> Репозиторий LDL (github.com)

JordanCpp
()

Первый выпуск мультимедийной библиотеки LDL c поддержкой старых систем

 , ,

Группа Open Source

Представляю Вашему вниманию разработанную мной первую версию мультимедийной библиотеки Little DirectMedia Layer, сокращённо LDL.

Библиотека написана на С++ 98 стандарта, что позволяет компилировать ее начиная с Visual C++ 6.0. Код распространяется на условиях Boost Software License 1.0. Но библиотека не ограничивает программистов в выборе стандарта языка C++, программист может использовать любой современный стандарт языка. Я придерживаюсь философии downgrade — это использование старых устройств и софта в повседневной жизни, когда компании не поддерживают свои же «устаревшие» операционные системы или устройства, увеличивая с каждой новой версией своего продукта системные требования, или прекращают поддержку девайса. Миллиарды устройств по всему миру ежесекундно перемалывают миллиарды инструкций неоптимизированного кода.

В этом году я выступил на конференции С++ 2023 с докладом «Вперед в прошлое, или Разрабатываем фреймворк под Windows 95 в 2023 году».

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

В самом начале процесса разработки я и не предполагал, что данная библиотека вообще возможна. Но при практической реализации прототипа, добавляя строчку за строчкой в фундамент будущей библиотеки, убеждался в возможности ее создания и практическом применении.

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

Возможности библиотеки:

  • поддержка Linux Debian 3 и выше (обеспечена нативная сборка);
  • поддержка Windows 95 — Windows 11;
  • простое API для работы с 2D графикой;
  • загрузка множества графических форматов (bmp, png, tga, jpg);
  • кроссплатформенное API над окнами и событиями ОС;
  • для аппаратного ускорения графики используется OpenGL 1.2 и
  • OpenGL 3.3, присутствует поддержка обработки графики только на ЦПУ, если отсутствует аппаратное ускорение;
  • рендер может быть выбран динамически при загрузке приложения;
  • единое API для всех систем — напиши один раз и компилируй везде!
  • воспроизведение звука;
  • динамическая и статическая линковка.

Планы на будущее:

  • поточное воспроизведение звука;
  • вывод текста с поддержкой библиотеки freetype;
  • дополнительные рендеры Direct3D 9, 10, 11;
  • API для работы с потоками;
  • встроенная поддержка API для работы с сетью;
  • портирование фреймворка на другие платформы: Android, IOS, MacOs.

Ссылки:

>>> Подробности (github.com)

JordanCpp
()