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