-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5a48701
commit 96ad5a5
Showing
7 changed files
with
47 additions
and
15 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
[package] | ||
name = "gui_test" | ||
name = "rust_fractal_gui" | ||
version = "0.1.0" | ||
authors = ["jackyarndley <[email protected]>"] | ||
edition = "2018" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
![image](render.png) | ||
|
||
# rust-fractal-gui | ||
A GUI frontend for the rust-fractal library. rust-fractal is a mandelbrot fractal renderer implementing both perturbation and series approximation. A reference point is iterated at high-precision, arbitrary precision and differences from this are calculated in machine precision. This allows for a large reduction in computation required to render and image, especially at high zoom levels. This generator features: | ||
|
||
- Perturbation based iteration with glitch detection. | ||
- Glitch correction through automatic reference movement and recalculation. | ||
- Series approximation calculation to skip (and approximate) large amounts of perturbation iterations. | ||
- Probe based method to determine series approximation skip. | ||
- Multithreading of core loops through rayon. | ||
- Configurable location and rendering options. | ||
- Multiple save formats including PNG, EXR and KFR. | ||
- Utilises scaling and mantissa-exponent based extended precision to allow for arbitrary zoom, whilst maintaining good performance. Verified to be working at depths exceeding E50000. Theoretically, this is only limited by MPFR's precision. | ||
|
||
## Compiling | ||
You need to be able to compile the 'rug' crate which requires a rust GNU toolchain. Look in the documentation for rug for more information on how to do this. Once all required dependencies have been installed, build the crate with: | ||
|
||
```cargo build --release``` | ||
|
||
## Usage | ||
Double click the executable. The file `start.toml` must be in the same directory so that the program is able to get the initial renderer settings. Some shortcuts are: | ||
|
||
- `LCLICK` zoom in to mouse location | ||
- `RCLICK` zoom out from center | ||
- `Z` quick zoom into center | ||
- `D` toggle rendering mode | ||
- `O` open file | ||
- `T` half rendering resolution | ||
- `Y` double rendering resolution | ||
- `N` native rendering resolution | ||
- `R` rotate 15 degrees clockwise | ||
|
||
## Acknowledgements | ||
- claude (blog, Kalles Fraktaler 2+) | ||
- pauldelbrot (glitch detection, nanoscope) | ||
- knighty (superMB) |
Binary file not shown.
This file was deleted.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters