1 个不稳定版本
| 0.1.0 | 2024年1月17日 |
|---|
#305 in 渲染
1MB
1.5K SLoC
Fractl
截图

如何使用
控件
| 键 | 动作 |
|---|---|
| 左鼠标按钮 | 将视图中心对准光标 |
| WSAD | 移动视图 |
| R | 重置视图 |
| 滚轮 | 增加/减少缩放 |
| O | 增加缩放 |
| P | 减少缩放 |
| 箭头键 | 增加/减少方向上的缩放 |
| T | 重置缩放 |
| K | 增加精度(最大迭代次数) |
| L | 减少精度(最大迭代次数) |
| M | 下一个分形 |
| N | 上一个分形 |
| B | 下一个分形着色 |
| V | 上一个分形着色 |
| U | 切换UI |
| Y | 切换十字准星 |
| C | 增加指数(用于多分形) |
| X | 减少指数(用于多分形) |
| F11 | 切换全屏 |
| Esc | 退出 |
使用nix构建
| 软件包 | 描述 | 并行处理 | 浮点精度 |
|---|---|---|---|
| fractl_gui | 本地GUI | 否 | 双精度(f64) |
| fractl_gui-multithread | 本地GUI | 多线程CPU | 双精度(f64) |
| fractl_gui-gpu | 本地GUI | GPU计算着色器 | 单精度(f32) |
| fractl_gui-wasm | Web GUI | 否 | 双精度(f64) |
| fractl_gui-win | 本地GUI,交叉编译为Windows x86_64 | 否 | 双精度(f64) |
| fractl_gui-win-multithread | 本地GUI,交叉编译为Windows x86_64 | 多线程CPU | 双精度(f64) |
| fractl_gui-win-gpu | 本地GUI,交叉编译为Windows x86_64 | GPU计算着色器 | 单精度(f32) |
-
构建方法:
nix build .#Package -
本地构建和运行:
nix run .#Package -
示例:
nix run .#gui-gpu -
或使用./script目录中的构建脚本之一
使用Cargo构建
- 已安装rust,或者可以选择使用包含的dev shell:
nix develop - 选择特性
| 特性 | 描述 | 备注 |
|---|---|---|
| multithread | 多线程CPU | multithread 和 gpu 不能同时启用 |
| gpu | GPU计算 | multithread 和 gpu,gpu 和 f64 不能同时启用 |
| f32 | 单精度浮点数 | f32 和 f64 不能同时启用 |
| f64 | 双精度浮点数 | f32 和 f64 不能同时启用 |
- 构建方法:
cargo build --package=fractl_gui --no-default-features --release --features "Feature1 Feature2" - 运行方法:
cargo run --package=fractl_gui --no-default-features --release --features "Feature1 Feature2" - 示例:
cargo build --package=fractl_gui --no-default-features --release --features "gpu f32"
待办事项
- 添加Julia集,更多分形
- F128浮点数
- Wasm WebGpu与计算着色器
- Redox端口
依赖关系
~5–42MB
~688K SLoC