Cross-platform GPU-accelerated viewer for the Mandelbrot set and similar (escape-time) fractals

Overview

fractal_viewer

A cross-platform, GPU-accelerated viewer for the Mandelbrot Set and related fractals.

Try it online!

Usage

Scroll wheel to zoom, click and drag to pan. Change the initial value of z or c by right clicking.

Custom functions should be valid WGSL expressions, with the following extra functions available:

  • cabs(vec2<f32>) -> f32: absolute value of a complex number
  • cabs_squared(vec2<f32>) -> f32: square of the absolute value of a complex number, (marginally) faster as it avoids a square root
  • csquare(vec2<f32>) -> vec2<f32>: square of a complex number
  • cpow(vec2<f32>, f32) -> vec2<f32>: real power of a complex number (can cause precision issues)
  • cdiv(vec2<f32>, vec2<f32>) -> vec2<f32>: divide two complex numbers
  • cmul(vec2<f32>, vec2<f32>) -> vec2<f32>: multiply two complex numbers

All builtin WGSL functions are also available.

You might also like...
A lightweight, cross-platform epub reader.
A lightweight, cross-platform epub reader.

Pend Pend is a program for reading EPUB files. Check out the web demo! Preview Image(s) Installation Building Pend is simple & easy. You should be abl

Cross-platform (including wasm) persistent key value store plugin for rust games/apps

bevy_pkv bevy_pkv is a cross-platform persistent key value store for rust apps. Use it for storing things like settings, save games etc. Currently, it

Cross platform rendering in Rust
Cross platform rendering in Rust

Miniquad Miniquad is a manifestation of a dream in a world where we do not need a deep dependencies tree and thousands lines of code to draw things wi

A cross platform classic RPG game creator written in Rust.
A cross platform classic RPG game creator written in Rust.

Eldiron - Classic RPG Creation Create RPGs for every platform with Eldiron. Eldiron v1 will be able to create games similar to the classic Ultima seri

Cross-platform compute shader engine
Cross-platform compute shader engine

wgpu-compute-toy This is the compute shader engine for https://compute.toys As well as running on the web via WebAssembly and WebGPU, it can run nativ

A networked (p2p), cross-platform physics simulation example using rollback netcode

bevy_gaff (work in progress) bevy_gaff is an attempt at making a networked (p2p), cross-platform physics simulation using rollback netcode. It synchro

Tic-Tac-Toe on the GPU, as an example application for wgpu
Tic-Tac-Toe on the GPU, as an example application for wgpu

Tic-Tac-GPU A simple (cough cough) example on a tic-tac-toe game with wgpu. Why? Because I didn't find that many small applications which use wgpu as

🍖A WGPU graphics pipeline, along with simple types used to marshal data to the GPU
🍖A WGPU graphics pipeline, along with simple types used to marshal data to the GPU

renderling 🍖 This library is a collection of WGPU render pipelines. Shaders are written in GLSL. shaderc is used to compile shaders to SPIR-V. Defini

Provides a mechanism to lay out data into GPU buffers according to WGSL's memory layout rules

Provides a mechanism to lay out data into GPU buffers ensuring WGSL's memory layout requirements are met. Features supports all WGSL host-shareable ty

Releases(v0.3.6)
  • v0.3.6(Oct 15, 2022)

    Changelog

    • Don't use atan2-based complex power function by default as it can cause precision issues

    Downloads

    • fractal_viewer: Linux binary
    • fractal_viewer.exe: Windows binary (note: only tested on wine)
    • fractal_viewer_web.zip: Web version, contains WASM binary and supporting HTML/JS

    Installation

    Linux/Windows: download and run the binary Linux binaries are built on Arch, so require a recent glibc. If the application crashes with a glibc-related error, try building it yourself. Web: extract the zip into a directory on your web server (this is for hosting your own, to try it out on the web go to https://arthomnix.dev/fractal)

    Source code(tar.gz)
    Source code(zip)
    fractal_viewer(18.45 MB)
    fractal_viewer.exe(22.36 MB)
    fractal_viewer_web.zip(1.76 MB)
  • v0.3.5(Oct 15, 2022)

    Changelog

    • Fix UI scaling causing the app to not fill the screen on web
    • Add fullscreen mode on desktop (on web use your browser's fullscreen mode)

    Downloads

    • fractal_viewer: Linux binary
    • fractal_viewer.exe: Windows binary (note: only tested on wine)
    • fractal_viewer_web.zip: Web version, contains WASM binary and supporting HTML/JS

    Installation

    Linux/Windows: download and run the binary Linux binaries are built on Arch, so require a recent glibc. If the application crashes with a glibc-related error, try building it yourself. Web: extract the zip into a directory on your web server (this is for hosting your own, to try it out on the web go to https://arthomnix.dev/fractal)

    Source code(tar.gz)
    Source code(zip)
    fractal_viewer(18.45 MB)
    fractal_viewer.exe(22.36 MB)
    fractal_viewer_web.zip(1.76 MB)
  • v0.3.4-rel(Oct 13, 2022)

    Changelog

    • Fix scrolling out too fast causing negative zoom values on some platforms (mainly web)

    Downloads

    • fractal_viewer: Linux binary
    • fractal_viewer.exe: Windows binary (note: only tested on wine)
    • fractal_viewer_web.zip: Web version, contains WASM binary and supporting HTML/JS

    Installation

    Linux/Windows: download and run the binary Linux binaries are built on Arch, so require a recent glibc. If the application crashes with a glibc-related error, try building it yourself. Web: extract the zip into a directory on your web server (this is for hosting your own, to try it out on the web go to https://arthomnix.dev/fractal)

    Source code(tar.gz)
    Source code(zip)
    fractal_viewer(18.43 MB)
    fractal_viewer.exe(22.35 MB)
    fractal_viewer_web.zip(1.76 MB)
  • v0.3.3-rel(Oct 13, 2022)

    Changelog

    • Add tricorn fractal as a preset
    • Allow importing URLs using the import from clipboard button on desktop
    • Make exported settings strings shorter (this does not affect compatibility with old versions)
    • Fix exporting settings freezing the app on web

    Downloads

    • fractal_viewer: Linux binary
    • fractal_viewer.exe: Windows binary (note: only tested on wine)
    • fractal_viewer_web.zip: Web version, contains WASM binary and supporting HTML/JS

    Installation

    Linux/Windows: download and run the binary Linux binaries are built on Arch, so require a recent glibc. If the application crashes with a glibc-related error, try building it yourself. Web: extract the zip into a directory on your web server (this is for hosting your own, to try it out on the web go to https://arthomnix.dev/fractal)

    Source code(tar.gz)
    Source code(zip)
    fractal_viewer(18.43 MB)
    fractal_viewer.exe(22.35 MB)
    fractal_viewer_web.zip(1.76 MB)
  • v0.3.2-rel(Oct 12, 2022)

    Changelog

    • Added import and export of settings on the web (import is done through a URL query)
    • Added the ability to directly export links to the web version, with the current settings
    • Removed the text box for importing settings, this is now done directly from the clipboard with a button

    Downloads

    • fractal_viewer: Linux binary
    • fractal_viewer.exe: Windows binary (note: only tested on wine)
    • fractal_viewer_web.zip: Web version, contains WASM binary and supporting HTML/JS

    Installation

    Linux/Windows: download and run the binary Linux binaries are built on Arch, so require a recent glibc. If the application crashes with a glibc-related error, try building it yourself. Web: extract the zip into a directory on your web server (this is for hosting your own, to try it out on the web go to https://arthomnix.dev/fractal)

    Source code(tar.gz)
    Source code(zip)
    fractal_viewer(18.12 MB)
    fractal_viewer.exe(22.35 MB)
    fractal_viewer_web.zip(1.76 MB)
  • v0.3.1-rel(Oct 11, 2022)

    Changelog

    • Force shader recompilation on settings import to make sure the equation updates correctly

    As settings import/export is only in the desktop version, there is no web release for this version. Please see 0.3.0 for the latest web version.

    Downloads

    • fractal_viewer: Linux binary
    • fractal_viewer.exe: Windows binary (note: only tested on wine)

    Installation

    Linux/Windows: download and run the binary Linux binaries are built on Arch, so require a recent glibc. If the application crashes with a glibc-related error, try building it yourself.

    Source code(tar.gz)
    Source code(zip)
    fractal_viewer(18.10 MB)
    fractal_viewer.exe(22.35 MB)
  • v0.3.0-rel(Oct 11, 2022)

    Changelog

    • Increased maximum escape threshold
    • UI improvements (most things are now collapsible)
    • FPS counter in the UI
    • (Desktop only) Add the ability to export the app's state into a string (useful for sharing cool fractals with other people)
    • (internal) Switch from egui_winit_platform to egui-winit

    Downloads

    • fractal_viewer: Linux binary
    • fractal_viewer.exe: Windows binary (note: only tested on wine)
    • fractal_viewer_web.zip: Web version, contains WASM binary and supporting HTML/JS

    Installation

    Linux/Windows: download and run the binary Linux binaries are built on Arch, so require a recent glibc. If the application crashes with a glibc-related error, try building it yourself. Web: extract the zip into a directory on your web server (this is for hosting your own, to try it out on the web go to https://arthomnix.dev/fractal)

    Source code(tar.gz)
    Source code(zip)
    fractal_viewer(18.10 MB)
    fractal_viewer.exe(22.35 MB)
    fractal_viewer_web.zip(1.62 MB)
  • v0.2.5_rel(Oct 9, 2022)

    Downloads

    • fractal_viewer: Linux binary
    • fractal_viewer.exe: Windows binary (note: only tested on wine)
    • fractal_viewer_web.zip: Web version, contains WASM binary and supporting HTML/JS

    Installation

    Linux/Windows: download and run the binary Linux binaries are built on Arch, so require a recent glibc. If the application crashes with a glibc-related error, try building it yourself. Web: extract the zip into a directory on your web server

    Source code(tar.gz)
    Source code(zip)
    fractal_viewer(16.66 MB)
    fractal_viewer.exe(21.63 MB)
    fractal_viewer_web.zip(1.62 MB)
A cross-platform image (texture) viewer

img_maniac A cross-platform image (texture) viewer Features Drag and drop images: Users can easily add as many images as they want to the main window

Allen Dang 90 May 7, 2023
An opinionated, monolithic template for Bevy with cross-platform CI/CD, native + WASM launchers, and managed cross-platform deployment.

??️ Bevy Shell - Template An opinionated, monolithic template for Bevy with cross-platform CI/CD, native + WASM launchers, and managed cross-platform

Kurbos 218 Dec 30, 2022
Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows)

webview A tiny cross-platform webview library for C/C++/Golang to build modern cross-platform GUIs. Also, there are Rust bindings, Python bindings, Ni

webview 10.8k Jan 9, 2023
This is a cross-platform tool to historicize different branches/depots/manifests and generating pseudocode for it to compare different game updates

CSHP This is a cross-platform tool to historicize different branches/depots/manifests and generating pseudocode for it to compare different game updat

raizo 6 Jan 28, 2022
A safe, fast and cross-platform 2D component-based game framework written in rust

shura shura is a safe, fast and cross-platform 2D component-based game framework written in rust. shura helps you to manage big games with a component

Andri 28 Jan 17, 2023
grr and rust-gpu pbr rendering

grr-gltf Barebone gltf viewer using grr and rust-gpu. Currently only supports a single gltf model! Assets These files need to be downloaded and placed

Markus Siglreithmaier 28 Dec 2, 2022
Cross-platform game engine in Rust.

Cross-platform game engine in Rust.

Fedor Logachev 1.9k Jan 3, 2023
IDE for cross-platform software development

Diversity Space IDE for cross-platform software development | 日本語 | English | Русский | READMEの英語版とロシア語版はDeepl翻訳を使用して翻訳されています Английская и русская вер

latteS 0 Feb 23, 2022
A cross platform (wasm included) networking library!

bootleg_networking A cross platform (wasm included) networking library! A networking plugin for the Bevy game engine that wraps around bevy_networking

William Batista 51 Jan 1, 2023
Neutral cross-platform Rust game template

Rust Game Template Neutral cross-platform Rust game template. Build tool This project uses cargo-make task runner. It's required to build the project.

null 0 Feb 5, 2022