All Projects → tboox → Gbox

tboox / Gbox

Licence: apache-2.0
🎨 A multi-platform graphic library

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Gbox

lime
A library for drawing graphics on the console screen
Stars: ✭ 32 (-85.19%)
Mutual labels:  drawing, graphics-library
gfxprim
Open-source modular 2D bitmap graphics library with emphasis on speed and correctness.
Stars: ✭ 32 (-85.19%)
Mutual labels:  sdl, graphics-library
Shapesinopengles2.0
Create basic shapes in opnegles2. And for abstraction purpose, its a class implementation using VBO's to create basic shapes in Open GLES2.0
Stars: ✭ 20 (-90.74%)
Mutual labels:  drawing, opengles
graphicsvg
Graphics library authored by Chris Schankula and Dr. Christopher Anand
Stars: ✭ 42 (-80.56%)
Mutual labels:  drawing, graphics-library
grafx2
Mirror of GrafX2. Official repo is on gitlab.
Stars: ✭ 108 (-50%)
Mutual labels:  drawing, sdl
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+8.8%)
Mutual labels:  opengles, graphics-library
Dijkstra Cartography
Using Dijkstra's algorithm ("finding the shortest paths between nodes in a graph") to draw maps 🌍.
Stars: ✭ 1,112 (+414.81%)
Mutual labels:  algorithm, drawing
Mathmodel
研究生数学建模,本科生数学建模、数学建模竞赛优秀论文,数学建模算法,LaTeX论文模板,算法思维导图,参考书籍,Matlab软件教程,PPT
Stars: ✭ 3,834 (+1675%)
Mutual labels:  algorithm
Sdl core
SmartDeviceLink In-Vehicle Software and Sample HMI
Stars: ✭ 207 (-4.17%)
Mutual labels:  sdl
Tlx
TLX - A Collection of Sophisticated C++ Data Structures, Algorithms, and Miscellaneous Helpers
Stars: ✭ 199 (-7.87%)
Mutual labels:  algorithm
Rrt Algorithms
n-dimensional RRT, RRT* (RRT-Star)
Stars: ✭ 195 (-9.72%)
Mutual labels:  algorithm
Java String Similarity
Implementation of various string similarity and distance algorithms: Levenshtein, Jaro-winkler, n-Gram, Q-Gram, Jaccard index, Longest Common Subsequence edit distance, cosine similarity ...
Stars: ✭ 2,403 (+1012.5%)
Mutual labels:  algorithm
Technicalnote
Repository to store what we have studied. 📖 We want everyone to get a job through TechnicalNote.
Stars: ✭ 206 (-4.63%)
Mutual labels:  algorithm
Storyboarder
✏️ Storyboarder makes it easy to visualize a story as fast you can draw stick figures.
Stars: ✭ 2,467 (+1042.13%)
Mutual labels:  drawing
Cpp Timsort
A C++ implementation of timsort
Stars: ✭ 211 (-2.31%)
Mutual labels:  algorithm
Arts
每周一道算法一本书
Stars: ✭ 199 (-7.87%)
Mutual labels:  algorithm
Hkube
🐟 High Performance Computing over Kubernetes - Core Repo 🎣
Stars: ✭ 214 (-0.93%)
Mutual labels:  algorithm
Hackerranksolutions
This is a repo for HackerRankSolutions with Swift
Stars: ✭ 213 (-1.39%)
Mutual labels:  algorithm
Bezier
Algorithm to draw smooth bezier curves through a set of points
Stars: ✭ 207 (-4.17%)
Mutual labels:  algorithm
Algorithms Notes
《算法(第4版)》笔记及代码 | 《Algorithms(Fourth Edition)》notes & code
Stars: ✭ 206 (-4.63%)
Mutual labels:  algorithm

gbox

The Graphic Box Library

Introduction

gbox is a mutli-platform c graphic library.

It is now in the early stages of development only for reference and learning.

If you are interesting to this project, please view the source code.

Features

  • Support 2d vector drawing
  • Support matrix transform
  • Support fill and stroke for solid, gradient and image
  • Support custom path and drawing
  • Support float and fixed point computation
  • Provide custom drawing devices
  • Support OpenGL ES 1.0/2.0
  • Support soft algorithm for drawing
  • Implement mesh structure and algorithm
  • Implement complex polygon tessellator and triangulation
  • Support odd and nonzero fill
  • Implement polygon scanning algorithm
  • Provide multi-platform windows(.e.g glut, sdl and x11, framebuffer, ios, android in the feature)

In the plans

  • Draw svg images
  • Implement anti-aliasing
  • More drawing devices and windows
  • Draw text
  • Development ui and game engine

Build

please install xmake first: xmake

$ cd ./gbox
$ xmake

Run

$ xmake run core

Documents

Contacts

简介

GBOX是一个用c语言实现的多平台图形库,支持windows、linux、mac、ios、android以及其他嵌入式系统。

现在这个项目,正处于早期开发阶段,暂不提供使用,仅供参考学习

如果您感兴趣,可以阅读源码

已实现的功能

  • 矢量2d渲染,支持矩阵变换,画刷、画笔的设置和渲染
  • 支持复杂矢量路径渲染和填充
  • 支持纯色填充、梯度填充、图像填充(正在重构)
  • 支持全定点或者浮点计算(可配置切换)
  • 实现渲染设备扩展,目前支持gpu加速的opengl es 1.0/2.0设备、纯算法渲染的bitmap设备
  • 实现复杂多边形分割(三角形分割、凸多边形分割),支持奇偶填充、非零填充等填充规则(这个算法花了我一年时间 =。=)
  • 实现mesh结构和封装
  • 实现多边形扫描算法
  • 支持多平台窗口扩展,目前支持glut、sdl窗口,后续会支持(x11,framebuffer, ios/android,windows等原生窗口)

后续工作

  • svg矢量图形渲染(之前的版本实现过一整套,最近正在重构,所以暂时移除了)
  • 反走样支持
  • 实现更多平台窗口和渲染设备
  • 实现字体渲染
  • ui框架的实现
  • 有时间的话,再整整游戏引擎,当然这个是后话,看心情和时间了。

测试效果

  • 目前基于opengl的渲染设备,绘制tiger.svg可达到60fps
  • 基于bitmap的纯算法渲染设备,绘制tiger.svg可达到30-40fps(pc上测试,数据仅供参考)

编译

请先安装: xmake

cd ./gbox
xmake

运行

$ xmake run core

文档

联系

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].