1个不稳定版本

0.1.0 2022年4月11日

#31 in #framebuffer

Apache-2.0

7KB
79

fbdraw提供了一个绘制在屏幕上的单一接口 put_pixel(x, y, color)。这个简单的接口使得与曲线绘制等图形算法的交互变得简单,无需设置窗口(带有事件循环)、设置GPU管线或管理软件缓冲区等。

坐标系原点位于左上角,X轴和Y轴分别从左到右和从上到下运行。

它是minifb库的包装器。


lib.rs:

fbdraw

提供了一个简单的接口用于创建“表面”和单个基本绘图接口 put_pixel

目标是允许在不设置窗口(带有事件循环)、设置GPU管线等负担的情况下,进行图形算法(如曲线绘制)的实验。

这个crate包装了minifb库,并提供了一个基于简单Surface的接口。

坐标系原点位于左上角,X轴和Y轴分别从左到右和从上到下运行。

示例

use fbdraw::{Color, Surface};

let mut surface = Surface::new(1920, 1200);

surface.begin_draw(my_draw_frame);

// Draw a frame on the surface. This callback function is
// called at a fixed rate of 60 fps.
fn my_draw_frame(surface: &mut Surface) {
    let (width, height) = surface.size();
    surface.put_pixel(width / 2, height / 2, Color::rgb(255, 0, 0));
}

依赖项

~0.4–1MB
~14K SLoC