我在哪里可以找到一个简单的图形C库来直接写入帧?

5 c embedded graphics

我需要一个简单的图形C库来在我将直接写入帧的设备上使用.

框架位于常规存储器中.没有图形加速硬件.

没有什么花哨.我只是想绘制线条,圆圈,像字符串一样的OSD东西.

拥有使用优质精益算法的功能会很棒(我的CPU是运行在400MHz的ARM9).

有什么建议吗?

Ada*_*vis 5

对于非常简单的需求(线,圆,多边形,文本),我总是自己制作。查看bresenham的直线和圆弧算法,Wu的直线和圆弧抗锯齿修改。

Gimp将为图像输出C代码,这就是我对字体所做的工作,并且绘制它们非常简单。我使用了抗锯齿功能(gimp->灰度,将灰度值用作Alpha),但是还没有完成比例字体。它们并不难,并且可以使显示效果更好一些,但我还不需要它们。

多边形只是多条线,填充的多边形实现起来很有趣

这不是很多工作,您将从经验中成长。

但是,如果您决定渲染SVG或其他复杂的矢量语言,则需要准备一个库。但是对于简单的事情,这并不复杂。

-亚当

  • 关于 Gimp 的那个小花絮很吸引人。我将不得不尝试一下。谢谢! (2认同)

Nil*_*nck 5

我想选择第二个 OpenGL,尤其是 OpenGL|ES 变体。

以下是基于软件的 OpenGL 渲染器的链接: http: //sourceforge.net/projects/ogl-es

过去三年我一直在 ARM9 和类似处理器上编写商业软件光栅化代码,所以我想我可以评论 cairo 和其他高级 API 的使用:

它们工作得很好并且非常强大,但是在像 ARM9 这样有限的目标上,你永远不会对其性能感到满意。图形库是根据典型的台式电脑编写的,它们以精度换取性能。这对于高质量 SVG 渲染来说很好,但在简陋的 ARM 上会很慢。

我上面建议的 Vincent OpenGL|ES 具有用于ARM -CPU 的动态代码生成引擎,因此您几乎可以获得手动优化的汇编代码的性能。

如果您可以将自己限制为仅一种位图格式、两种混合模式和大量渲染基元,那么您可以通过自己编写十几个渲染例程来获得更好的性能。不过,根据您的经验和要求,可能需要两天到一个月的时间。


tko*_*tan 0

OPenGL有一组2d函数,不确定它对你来说是否太臃肿或者是否可以修剪。至少它是用 C 语言编写的。