1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tboox-gbox

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

gbox

Библиотека графического окна

Введение

gbox — это многоплатформенная библиотека C для графики.

На данном этапе она находится в ранней стадии разработки и предназначена только для справочных материалов и обучения.

Если вас интересует этот проект, пожалуйста, просмотрите исходный код.

Возможности- Поддержка двухмерной векторной графики

  • Поддержка матричных преобразований

  • Поддержка заливки и контура для сплошных, градиентных и изображений

  • Поддержка пользовательских путей и отрисовки

  • Поддержка вычислений с плавающей и фиксированной точностью

  • Предоставление пользовательских устройств отрисовки

  • Поддержка OpenGL ES 1.0/2.0

  • Поддержка алгоритмов для мягкого рендера

  • Реализация сеточной структуры и алгоритма

  • Реализация сложного полигонного расщепителя и триангулятора

  • Поддержка заполнения "odd" и "nonzero"

  • Реализация алгоритма сканирования полигонов

  • Предоставление многоплатформенного окна (например, glut, sdl и x11, framebuffer, ios, android в будущем)#### В планах

  • Отрисовка SVG-изображений

  • Реализация антиалиасинга

  • Поддержка большего количества устройств отрисовки и окон

  • Отрисовка текста

  • Разработка UI и игровых движков

Установка

Сначала установите xmake: xmake

$ cd ./gbox
$ xmake

Запуск

$ xmake run core

Документация

Контакты

Описание

GBOX — это многоплатформенная графическая библиотека, реализованная на C, которая поддерживает Windows, Linux, Mac, iOS, Android и другие встраиваемые системы.

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

Если вас заинтересовало данное решение, вы можете ознакомиться с исходным кодом.

Реализованные возможности- Векторное 2D отображение, поддерживающее матричные преобразования, установку и отрисовку кистей и карандашей

  • Поддержка сложных векторных путей для отображения и заполнения

  • Поддержка однородного цветового заполнения, градиентного заполнения и заполнения изображением (процесс рефакторинга)

  • Поддержка работы с целыми числами или вещественными числами (настройка выбора)

  • Реализация расширяемости устройств отображения, в настоящее время поддерживаются устройства OpenGL ES 1.0/2.0 с GPU-ускорением и алгоритмическое устройство отображения bitmap

  • Реализация разделения сложных многоугольников (разделение треугольниками, выпуклыми многоугольниками) и правил заполнения (необходимый алгоритм занял у меня год времени =。=)

  • Реализация структуры mesh и её упаковки

  • Реализация алгоритма сканирования многоугольников

  • Поддержка расширяемости окон для различных платформ, в настоящее время поддерживаются окна GLUT и SDL, планируется поддержка (X11, framebuffer, iOS/Android, нативные окна Windows и т.д.)#### Будущие задачи

  • Отображение SVG-векторных графических объектов (ранее была реализована полная система, теперь находится в процессе рефакторинга, поэтому временно удалена)

  • Поддержка антиалиасинга

  • Реализация поддержки большего количества платформ окон и устройств отображения

  • Реализация отображения шрифтов

  • Разработка UI-фреймворка

  • При наличии времени, доработка игрового движка; конечно, это второстепенная задача, которая зависит от настроения и наличия свободного времени.

Тестирование

  • На основе устройства отображения OpenGL достигнута частота кадров 60 fps при отрисовке tiger.svg
  • На основе алгоритмического устройства отображения bitmap достигнута частота кадров 30-40 fps при отрисовке tiger.svg (тестирование на PC, данные приведены для справки).

Компиляция

Сначала установите: xmake

cd ./gbox
xmake

Запуск

$ xmake run core

Документация

Контакты

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/tboox-gbox.git
git@api.gitlife.ru:oschina-mirror/tboox-gbox.git
oschina-mirror
tboox-gbox
tboox-gbox
master