Ssylka

Нужно ли создавать свой кроссплатформенный фреймворк для работы с графикой?

Разработка минималистичного кроссплатформенного фреймворка, LDL (Little DirectMedia Layer), на C++ началась с целью создания легковесной библиотеки, свободной от тяжелых зависимостей. Первая итерация была перегружена функционалом, а вторая слишком низкоуровневой, что привело к созданию третьей, финальной версии. Основной принцип – минимальный каркас с возможностью расширения внешними модулями.
Нужно ли создавать свой кроссплатформенный фреймворк для работы с графикой?
Изображение носит иллюстративный характер

Ключевой особенностью LDL является разделение логики окна и рендеринга. Класс окна абстрагирует операционную систему, обрабатывая системные события и преобразуя их в события фреймворка. Класс рендеринга предоставляет интерфейс для рисования примитивов: линий и прямоугольников. Реализация рендеринга зависит от целевой ОС, используя GDI для Windows и XLib для Linux.

Фреймворк LDL намеренно избегает сложных архитектурных приемов, таких как PIMPL, для простоты восприятия кода. Рисование примитивов осуществляется с использованием нативных API операционных систем, таких как GDI и XLib. Несмотря на простоту, имеются возможности для оптимизации, например, кэширование текущего цвета для повышения производительности при рисовании.

В планах разработчика — расширение библиотеки, включая добавление поддержки загрузки изображений, рисование в буфер ОЗУ, OpenGL, Glide, DirectX, Vulkan. Так же есть планы по добавлению поддержки DOS через VBE. Также рассматривается возможность нативной сборки под Windows 3.1 и старый Linux.


Новое на сайте

18964Хаббл запечатлел крупнейший в истории наблюдений хаотичный протопланетный диск 18963Почему открытые телескопом «Джеймс Уэбб» «галактики-утконосы» ломают представления об... 18962Революционные космические открытия, пересмотр колыбели человечества и радикальные реформы... 18961Уникальный костяной стилус V века до нашей эры с изображением Диониса найден на Сицилии 18960Скрытый механизм защиты желудка от кислотного самопереваривания 18959Масштабная ликвидация испанской ячейки нигерийского преступного синдиката Black Axe 18958Китайские хакеры реализовали полный захват гипервизора VMware ESXi через уязвимости... 18957Анализ ископаемых зубов из Дманиси опровергает теорию о первенстве Homo erectus в... 18956Чем гигантское солнечное пятно AR 13664 спровоцировало мощнейшую бурю за 21 год и скрытый... 18955Крошечный костный выступ подтвердил прямохождение древнейшего предка человека возрастом... 18954Гендерный парадокс и социальная истерия во время первой дипломатической миссии самураев в... 18953Расследование гибели древнего добытчика бирюзы в пустыне Атакама 18952Противостояние Юпитера 10 января открывает сезон лучших астрономических наблюдений 18951Реформа кибербезопасности США через отмену устаревших директив CISA 18950Почему критическое обновление Trend Micro Apex Central требует немедленной установки?