Https://github.com/tboox/tbox
Gbox is a multi-platform graphics library implemented in C that supports Windows, Linux, Mac, iOS, Android, and other embedded systems.
Now this project is in the early stage of development, is not provided for use, only for reference learning
If you are interested, you can read the source code
# # #已实现的功能
- Vector 2d rendering, support for matrix transformations, brushes, brush settings and rendering
- Supports complex vector path rendering and padding
- Supports solid fill, gradient fill, image fill (refactoring)
- Supports full-point or floating-point computing (configurable switching)
- Implements rendering device extensions, currently supports GPU-accelerated OpenGL ES 1.0/2.0 devices, pure algorithm-rendered bitmap devices
- Achieve Complex polygon segmentation (triangle segmentation, convex polygon segmentation), support for odd and even fill, non-0 fill and other filling rules (this algorithm took me a year time =. =
- Implement Mesh architecture and encapsulation
- Realization of polygon scanning algorithm
- Support Multi-Platform window extension, currently support glut, SDL window, follow-up support (X11,framebuffer, ios/android,windows and other native windows)
# # #后续工作
- SVG vector Graphics Rendering (previous versions implemented a complete set, recently refactored, so temporarily removed)
- Anti-aliasing support
- Implementing more platform windows and rendering devices
- Implementing font Rendering
- Implementation of the UI framework
- If there is time, then the whole game engine, of course, this is something, look at the mood and time.
# # #测试效果
- The current OpenGL-based rendering device, drawing tiger.svg can reach 60fps
- Bitmap-based pure algorithm rendering device, drawing tiger.svg can reach 30-40fps (PC test, data for reference only)
Https://github.com/tboox/gbox
Tbox Project: vm86 (assembly language virtual machine), Tbox (similar to dlib), Gbox (multi-platform graphics library for C language implementation)