Ratty:用游戏引擎打造的GPU渲染终端模拟器,内置3D图形和旋转老鼠光标

开源开发者Orhun Parmaksız发布了一个全新的终端模拟器Ratty,它使用Bevy游戏引擎进行GPU渲染,支持内联3D图形显示,甚至还有一个旋转的老鼠光标动画。这个”最不正经”的终端模拟器在开发者社区引发了广泛关注。

项目亮点

Ratty的核心特性让人眼前一亮:

  • GPU渲染:使用Bevy游戏引擎(Rust生态中最流行的游戏引擎)进行GPU加速渲染
  • 内联3D图形:可以在终端中直接显示3D模型和图形
  • 旋转老鼠光标:光标是一个旋转的3D老鼠模型(致敬项目名Ratty)
  • 基于Ratatui:使用Ratatui库作为终端渲染层
  • 灵感来自TempleOS:受TempleOS的DolDoc格式启发,支持富媒体内容嵌入

技术实现

Ratty的技术架构很有意思:

它使用Ratatui作为终端渲染层。虽然Ratatui通常被用来在终端中构建TUI应用,但Ratty反其道而行之——它将解析后的终端状态重建为Ratatui风格的缓冲区,然后将这个缓冲区渲染到GPU纹理上。

这种设计的优势在于,Ratatui已经提供了完善的终端单元格、样式和基于缓冲区的渲染模型,Ratty可以直接复用这些能力。

安装和使用

安装Ratty需要Rust工具链:

cargo install ratty

安装后可以通过配置文件ratty.toml自定义设置。

资源消耗

作者坦诚地指出了Ratty的资源消耗问题:

  • 编译时需要构建600个Rust依赖(因为Bevy游戏引擎的依赖链很长)
  • 运行时内存占用约300MB(对于一个终端模拟器来说确实偏高)
  • CPU使用率比传统终端模拟器更高

作者表示:”牺牲300MB RAM来运行一个终端模拟器确实很多,但一切都有代价,特别是那个旋转的老鼠光标……希望未来能优化!”

适合谁

Ratty目前更适合作为:

  • 技术演示和概念验证
  • Rust和Bevy游戏引擎的学习案例
  • 终端模拟器开发的参考项目
  • 追求个性化开发环境的极客玩家

项目地址

Ratty是一个开源项目,代码托管在GitHub上。如果你对终端模拟器开发或Rust游戏引擎应用感兴趣,值得一看。

简评

Ratty虽然不适合日常使用(300MB内存的终端模拟器确实夸张),但它展示了终端模拟器的另一种可能性。用游戏引擎渲染终端、内联3D图形、旋转老鼠光标——这些看似”不正经”的功能背后,是对终端模拟器边界的有趣探索。对于想学习Rust或Bevy引擎的开发者来说,这是一个很好的参考项目。

来源:Orhun Parmaksız – Introducing Ratty

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容