1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="author" content="Gabriel Bjørnager Jensen">
<meta name="darkreader-lock">
<meta name="description" content="Benoit is a Rust-written fractal renderer.">
<meta name="keywords" content="achernar, benoit, fractal, mandelbrot, rust, webgpu">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/favicon.ico" rel="icon" type="image/vnd.microsoft.icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon" type="image/png">
<title>Benoit | Achernar</title>
<link href="/css/main.css" rel="stylesheet">
<noscript>
<link href="/css/noScript.css" rel="stylesheet">
</noscript>
<script src="/js/main.js" type="text/javascript"></script>
</head>
<body data-page="benoit">
<!--#include virtual="/include/header.shtml"-->
<div id="page">
<h1 id="anchor.about">benoit</h1>
<section>
<p><em>Benoit</em> is a Rust-written programme for visualising complex functions, e.g. <em>the Mandelbrot Set</em> and similar fractals.</p>
<br>
<x-image alt="A render of a single Minibrot on a green background. The render is coloures so that it resembles lightning coming from the Minibrot." data-file="benoit_screenshot0"></x-image>
<br>
<p>The project consists of the core <a href="https://crates.io/crates/benoit/"><code>benoit</code></a> crate, from which the frontends <code>benoit-cli</code> and (in the future) <code>benoit-gui</code> derive.</p>
</section>
<h1 id="anchor.benoitCli">benoit-cli</h1>
<section>
<p>The <code>benoit-cli</code> executable can render and animate using <a href="https://en.wikipedia.org/wiki/TOML/">TOML</a> files right from the commandline.</p>
<br>
<x-image alt="A Julia Set centred on a point inside the Mandelbrot Set. The resulting image resembles creeping, black vines with rainbows around." data-file="benoit_screenshot1"></x-image>
<br>
<p>The main use of <code>benoit-cli</code> is to render still images or animations of fractals, e.g. zoom-ins. An example configuration could look like the following:</p>
<br>
<div class="codeblock"># benoit.toml<br><br>[render]<br>count = 24<br>width = 1024<br>height = 1024<br><br>fractal = "mandelbrot"<br>inverse = false<br>julia = false<br><br>[render.start]<br>frame = 0<br><br>max_iter_count = 0x100<br><br>centre = "0.0+1.0i"<br>seed = "0.0+0.0i"<br>zoom = "1.0"<br><br>colour_range = 64.0<br><br>[render.stop]<br>frame = 23<br><br>max_iter_count = 0x100<br><br>centre = "0.0+1.0i"<br>seed = "0.0+0.0i"<br>zoom = "1.0"<br><br>colour_range = 64.0<br><br>[final]<br>palette = "fire"<br><br>[output]<br>directory = "render/"</div>
<br>
<p>Just provide the path to the desired configuration:</p>
<br>
<code>benoit-cli "benoit.toml"</code>
</section>
<h1 id="anchor.benoitGui">benoit-gui</h1>
<section>
<p>The <code>benoit-gui</code> executable, on the other hand, allows viewing fractals in realtime. Do note, however, that this frontend is currently unimplemented.</p>
<br>
<x-image alt="An render of an inverse Julia Set of the Mandelbrot. It appears on a grey gradiant background with a warm-coloured pattern resembling smaller minibrots." data-file="benoit_screenshot2"></x-image>
</section>
<h1 id="anchor.docs">docs</h1>
<section>
<p>Documentation is written in source. Documentation for the main library is hosted on <a href="https://docs.rs/benoit/latest/benoit/"><code>docs.rs</code></a>.</p>
</section>
<!--#include virtual="/include/footer.shtml"-->
</div>
</body>
<script type="text/javascript">
Ach.init();
</script>
</html>
|