#pipe #3d #screensaver #cross-platform #classic #remake #web

bin+lib rust-pipes

基于 Rust 重制 Windows 98 的 3D Pipes 屏保

2 个不稳定版本

0.2.0 2024 年 6 月 2 日
0.1.0 2024 年 1 月 5 日

WebAssembly 中排名 #318

Download history 159/week @ 2024-06-01 13/week @ 2024-06-08 2/week @ 2024-06-15

每月下载量 90

Apache-2.0 许可

185KB
1.5K SLoC

rust-pipes 🦀💻

基于 Rust 重制经典的 Windows 98 屏保。设计为健壮、可配置和跨平台(包括 Web 目标)

此项目仍在开发中。

Web 开发:https://pipes.faceftw.dev

构建/测试

此项目使用 cargo 进行标准的 Rust 项目构建周期。您可以使用 cargo 执行以下任务:

步骤 命令
构建 cargobuild
运行(无参数) cargorun
运行(带参数) cargorun -- <args>
测试 cargotest

WASM 目标

此项目还有一个用于 Web 版本的 WASM 目标,其编译方式与标准版本不同(即没有参数解析)。

cd ./web
npm install		# If cloning for the first time
npx wasm-pack build ".." --target web --out-name web --out-dir web/pkg
npm run serve

源代码/参考资料

我使用了以下资源来帮助构建项目。没有它们,这个项目可能永远都无法完成。

  • 大部分原始逻辑/设计来自 Microsoft Windows NT 4.0 SDK 中屏幕保护程序的原始源代码,该 SDK 位于 MSTOOLS\SAMPLES\OPENGL\SCRSAVE
  • 1j01 的 JS 实现也对原始代码从“Microsoft C++ 语法”转换为 Rust 代码有很大帮助。

我还想感谢以下帮助我加快项目开发速度的 crate

  • asny/three-d 是一个用于在 Rust 中进行图形/OpenGL 编程的优秀 crate。它提供了良好的开发基础,无论您希望工作在哪个抽象级别,都有出色的文档和示例相伴。开发者也非常响应,甚至 修复了影响此项目的一个错误

依赖关系

~7–22MB
~277K SLoC