#图形 #winit #表面 #平台 #软件渲染

swsurface

为 winit 提供的软件渲染表面

5 个版本

0.1.4 2020 年 1 月 24 日
0.1.3 2020 年 1 月 24 日
0.1.2 2019 年 8 月 28 日
0.1.1 2019 年 8 月 27 日
0.1.0 2019 年 8 月 27 日

#652 in 图形 API

MIT/Apache

130KB
1.5K SLoC

swsurface

docs.rs

此包为 winit 提供软件渲染表面。

此包的目标是即使在通常假设可用的绘图 API(如 OpenGL¹)在目标环境中不可用时,也提供每个平台的最小绘图功能。当它们可用但因不可恢复的错误而失败时,此包也很有用。

¹ “Servo on Windows in VirtualBox gets 'NoAvailablePixelFormat'” servo/servo #9468

为此,此包仅在预条件不满足或处于会导致 winit 崩溃的非常病理情况下时才会 panic。

未实现的功能

  • 部分更新 - 应用程序可以重新绘制一部分,但现在 swsurface 总是发送整个窗口
  • 支持除 macOS、Windows、X11、Wayland 以外的平台
  • X11:支持 24 位以外的颜色深度
  • X11:透明度
  • 多线程渲染(Send-able Surface
  • 色彩管理 - 我们将尝试坚持使用 sRGB

许可证:MIT/Apache-2.0

依赖项

~2–11MB
~112K SLoC