GBOX - c语言跨平台图形渲染库


Apache License 2.0
跨平台
C/C++

软件简介

GBOX是一个用c语言实现的多平台图形渲染库

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

如果您感兴趣,可以阅读源码,目前已实现的功能:

  1. 矢量2d渲染,支持矩阵变换,画刷、画笔的设置和渲染

  2. 支持复杂矢量路径渲染和填充

  3. 支持纯色填充、梯度填充、图像填充(正在重构)

  4. 支持全定点或者浮点计算(可配置切换)

  5. 实现渲染设备扩展,目前支持gpu加速的opengl es 1.0/2.0设备、纯算法渲染的bitmap设备

  6. 实现复杂多边形分割(三角形分割、凸多边形分割),支持奇偶填充、非零填充等填充规则

  7. 实现mesh结构和封装

  8. 实现多边形扫描算法

  9. 支持多平台窗口扩展,目前支持glut、sdl窗口,后续会支持(x11,framebuffer, ios/android,windows等原生窗口)

后续工作:

  1. svg矢量图形渲染(之前的版本实现过一整套,最近正在重构,所以暂时移除了)

  2. 反走样支持

  3. 实现更多平台窗口和渲染设备

  4. 实现字体渲染

  5. ui框架的实现

  6. 有时间的话,再整整游戏引擎,当然这个是后话,看心情和时间了。

测试效果:

  1. 目前基于opengl的渲染设备,绘制tiger.svg可达到60fps

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