1个不稳定版本
0.1.0 | 2024年1月17日 |
---|
#395 in 渲染
用于 fractl_gui
1MB
1K SLoC
Fractl
截图
如何
控制
键 | 动作 |
---|---|
左鼠标按钮 | 将视图居中于光标 |
WSAD | 移动视图 |
R | 重置视图 |
滚轮 | 增加/减少缩放 |
O | 增加缩放 |
P | 减少缩放 |
箭头键 | 在方向上增加/减少缩放 |
T | 重置缩放 |
K | 增加精度(最大迭代次数) |
L | 减少精度(最大迭代次数) |
M | 下一个分形 |
N | 上一个分形 |
B | 下一个分形着色 |
V | 上一个分形着色 |
U | 切换UI |
Y | 切换十字准星 |
C | 增加指数(用于多分形) |
X | 减少指数(用于多分形) |
F11 | 切换全屏 |
Escape | 退出 |
使用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,或可选使用包含的开发外壳:
nix develop
- 选择特性
特性 | 描述 | 备注 |
---|---|---|
multithred | 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 端口
依赖项
~3–39MB
~620K SLoC