我正在寻找一个简单的渲染上下文/画布/视频输出,具有用于打印每个像素、每行或每个图像的像素以及鼠标和键盘输入的简单功能。可能没有大的外部库(sdl、gtk/cairo)。没问题,如果它在没有 gpu 的情况下工作。
实际上,我正在查看 xlib 和 xlib-bindings,但我希望周围有一些更抽象的东西,并且可能支持 Windows。
我正在寻找一个简单的渲染上下文/画布/视频输出,具有用于打印每个像素、每行或每个图像的像素以及鼠标和键盘输入的简单功能。可能没有大的外部库(sdl、gtk/cairo)。没问题,如果它在没有 gpu 的情况下工作。
实际上,我正在查看 xlib 和 xlib-bindings,但我希望周围有一些更抽象的东西,并且可能支持 Windows。
不确定这是否正是您所要求的,但我发现Gloss是一个出色的、没有多余装饰的 2D 图形库,可以快速在屏幕上显示某些内容。
编辑:让我为它而战,是吗?我喜欢!
渲染上下文在很大程度上是一种命令式概念,其中通过在渲染上下文上设置状态、传递它来操纵渲染上下文……在 FP 中通常避免全局、看不见的状态,因此函数式程序员寻找替代方案。
光泽是这样的选择。它完全回避了渲染上下文的概念,并使用了模型的概念:任何(交互式)模拟都是一个过程,它从给定状态开始,经过多个步骤,最终进入不同的状态。
Gloss 需要的是这个初始状态,一个“迈出一步”的函数,一个将状态表达为图像、形状、线条、文本等的组合的函数。然后它为我们完成了繁重的工作:将状态步进到常规的 inervals,在每一步之间对其进行可视化,在两者之间轮询输入(您需要提供的另一个函数)。
我相信它在下面使用 OpenGL - 这只是为了强调我的观点:我不需要知道下面的工作原理,它处于较低的抽象级别。