!! WARNING: This is an experimental version of the fractal explorer. This means bugs might occur and things might completely break at any time !!
}
return c_pow(z, power) + c;
c_pow()
float
complex(re, im)
:
vec2();
c_multiplication(a, b)
:
c_division(a, b)
:
c_pow(z, p)
:
c_cpow(z, p)
:
c_sin(z)
:
c_cos(z)
:
c_tan(z)
:
c_sinh(z)
:
c_cosh(z)
:
c_tanh(z)
:
c_asin(z)
:
c_acos(z)
:
c_atan(z)
:
c_asinh(z)
:
c_acosh(z)
:
c_atanh(z)
:
c_log(z)
:
c_exp(z)
:
c_sqrt(z)
:
c_abs(z)
:
avoidNan(z)
:
avoidNan1d(z)
:
pi
:
e
:
ln2
:
phi
:
}
var xp: f32 = x * pi * 2.;
return vec4<f32>(
.5 + sin(xp) / 2.,
.5 + sin(xp + 1.) / 2.,
.5 + sin(xp + 2.) / 2.,
1.
);
var xv: f32 = x;
var red: vec3<f32> = vec3<f32>(1., 0., 0.);
var yellow: vec3<f32> = vec3<f32>(1., 1., 0.);
var green: vec3<f32> = vec3<f32>(0., 1., 0.);
var lightblue: vec3<f32> = vec3<f32>(0., 1., 1.);
var blue: vec3<f32> = vec3<f32>(0., 0., 1.);
var pink: vec3<f32> = vec3<f32>(1., 0., 1.);
xv = fract(xv) * 6.;
if (xv < 1.) {
return color_interpolate(pink, red, yellow, green, fract(xv));
}
if (xv < 2.) {
return color_interpolate(red, yellow, green, lightblue, fract(xv));
}
if (xv < 3.) {
return color_interpolate(yellow, green, lightblue, blue, fract(xv));
}
if (xv < 4.) {
return color_interpolate(green, lightblue, blue, pink, fract(xv));
}
if (xv < 5.) {
return color_interpolate(lightblue, blue, pink, red, fract(xv));
}
if (xv <= 6.) {
return color_interpolate(blue, pink, red, yellow, fract(xv));
}
return vec4<f32>(0., 0., 0., 1.);
This project by nathansolomon1678 on github, where I got a lot of insipration (and a bit of code) from
This project by BenjaminAster on github, that helped me a little since I wasn't too experienced with WebGPU/WGSL
Paul Bourke's page on fractals, where I got lots of the fractals and insipration from
CodeParade (HackerPoet on github) for this project, where I got the code for the feather fractal and a few others from
This project on github I got some colormaps from.
This repository on github by radian628, where I got the idea of multisampling from.
Indigo Quilez' Website, which contains a lot of useful articles on graphical programming.
This project on github by kbinani, where I found some colormaps.
Easings.net, where I got code for some of the animation easings for (and modified for personal use).
WebM-Muxer, which allows for exporting playable animations.
JSZip, which allows for exporting chunked renders as seperate files inside a zip.
All the amazing people who discovered some of these fractals and made this project possible
My friends (who did nothing for this project)
You, for visiting and testing my project
- Animation System
- Add an option to insert the currently selected shader in the custom code section for easy modification
- Rename postFunction to modifier in code, no impact on the user experience but sounds better
- Fix a bug with parts of the UI not updating properly
- Fix possible other bugs by fixing some spaghetti code
- Very minor optimizations
- Fix function not updating when power is changed
- Minor cleanups (visual and codebase)
- 6 new fractals
- UI changes
- Speed up WebGL chunked exporting & animation exporting a bit (WebGPU still slow, I just gave up at some point)
- Added ability to override things such as zoom and center
- Custom shader code and loaded plugins (aswell as animations) are contained in preset links
- Translation system & German translations
- Fix not loading when WebGPU is available but no valid adapter is found
- Redo the terrible noise "seed"
- Rename the "clouds" to noise
- Camera Smoothing
- 3 new colormethods
- Fixed the black tearing on some fractals with stripe coloring and a higher radius (except for stripy rings)
- Updated some old descriptions
- Option to not include canvas size & camera smoothing settings in presets
- Dynamic Sample Count
- Image Chunkers updates progress percentage more often
- FPS Cap
- 2 new colorschemes (purple, brown)
- Fix small bug when opening the window at a small scale, text will be squished a lot
- Canvases now automatically stick and unstick with the window being resized
- Added this changelog
- Slightly modifier the randomizer
- Fix noise not appearing correctly in chunked renders
- You can now drag and drop exported images (and preset urls) to automatically import the preset
- Fix a lot of messy code that will make working on some things easier
- Fix Fractal buttons by plugins not properly being highlighted
- Change the description section a bit
- Fix bug with importing fractals being completely broken in most cases
- Fix bug where exporting chunked juliasets is broken
- Image chunker
- Halved loading time due to double compilation
- Fixed small possible bugs
- Improved exporting speed by a huge margin
- Added WebGL backend along with existing WebGPU to ensure maximum compatibility and performance
- UI redesign
- Faster load time
- Several bugfixes
- Replace the wacky preset URL system
- Bought a domain for the website
- Everything else new in v5