Releases: ChrisMzz/fractal-art
v2.2.2 bugfix
v2.2.1
Added Discord Rich Presence
Using pypresence v4.3.0.
v2.2.0
Animation update
Implemented
Despite not being a major update, this version is mostly incompatible with files generated before the update.
Preset fractals for animations are labelled with A_
at the start of their filename.
v2.1.0
Minor addition of real-time cmap randomization
Using an additional three vec3
uniforms passed to the frag shader through the pygame instance, I added the option to completely randomize the current cmap in the frctlexplorer
.
Tested for backwards compatibility, this version works with v2.0 frctl
files.
v2.0.3
Bugfix
Fixed bug where colouring == 8
was never reached in fragment shader due to an oversight.
Changes
C
key now binds to cmap change in explorer, removing mouse necessity. Laptop users can now have access to the full extent of the app with just the keyboard and mousepad. Mouse users can of course still use middle click.- Default function array order is now 6 in browser, because the results from high order polynomial approximations tend to be less precise in the fragment shader.
v2.0.2 fixes
Bugfix
Fixed explorer path issues (source code now works standalone).
Changes
order
setting in browser now corresponds to polynomial degree, meaning the series expansion of a function array of "order"
v2.0.1 bugfix
Browser fixes
Added _internal
files for browser
to properly function as some were missing from previous release.
Fixed bug where console could not be accessed in browser.
Explorer fixes
Fixed bug where frctl
files opened outside of explorer executable directory would cause explorer to crash.
Added notes
Added a couple example frctl
files in dump to showcase some interesting fractals. The files are named name
+order
.
Note : the "order" currently tracks how many terms of different orders of
frctlart_v2.0.0
Major release 2.0.0
Main changes and notes
Fused with pyogl
project, originally planned to test porting Shadertoy assets to Python, using Hollistic3D's tutorials on said port.
Now saves cmap in .frctl
files and loads them along with ordertxt
, allowing for one-to-one recreation on load in the browser.
New frctlexplorer.exe
file uses a GLSL shader to render a given frctl
file with peak precision, computed directly from the function array using fancy Newton Binomial tricks on the series expansions. The file also conserves cmap and order, baked into the fragment shader on load.
New features
The app allows you to click anywhere and display current complex position as a tuple in the console. This is handy to know if a point is in a certain Fatou component, for example.
The template fragment shader comes with added cmaps that can be switched using the mouse's middle click (sorry laptop users, might change one day), and custom constant c
with some recommended values.
One of these values is the following :
c = vec2(((iMouse.x/iResolution.x)*2.-1.)*2*zoom_amount*(iResolution.x/(2.*iResolution.y))-center.x, ((-(iMouse.y/iResolution.y)+1.)*2.-1.)*zoom_amount)-center.y;
Using this value and adding + c.x
to z
's x component and + c.y
to z
's y component will generally gives very interesting results, that change relative to mouse position on screen (aspect ratio accounted for).
You can then use the click feature to find interesting c
s and reuse them as fixed constants on later instances of the program.
You can use arrow keys : left to go backwards in time (by default, time is binded to iteration count), right to speed up. P
pauses, but mouse-dependant functions still vary with mouse movement, which allows you to explore a parametric space at a fixed iteration timestamp.
You can also use LeftCtrl
to slow time down, if ever things get too fast to see what's going on properly.
You can zoom in by scrolling the mouse. It centers the zoom where your cursor is when you zoom, and scales by 2.
Finally, you can use F11
to go fullscreen and F12
to take a screenshot (in fullscreen or not), which will save to a dump
folder.
Of course, all features mentionned here are hardcoded in, but many of them depend on the shader itself, so if you feel like editing the shader to get different results, you absolutely can, so long as the application is run standalone as to not regenerate the fragment shader.
Recommendation
Prior to this release, the recommended application to run frctl
files was obviosly the only one, browser.exe
. Now, I'd recommend using frctlexplorer.exe
, and sticking to browser.exe
only to find new interesting candidates for beautiful sets.
v1.2.0
Added parametric functions randomizer and updated setter.
Updated loader to be compatible with frctl
files (on top of npy
).
Fixes : parametric functions analyser now doesn't require iteration count to be identical to settings.
TODO : Include napari.utils.action_manager
in _internal
files. Currently doesn't allow napari console to be accessed.
v1.1.0-beta
Updated to handle .frctl
files containing image data, colour data (parametric cmap excluded), and most important of all function data, under the form of the usual (2,N)
shaped array representing the complex function's Taylor expansion. The image saved and loaded can be a higher dimensional one, so .tif
files are taken into account in the FRCTL
file creation.
A reg key needed to set browser.exe
as default. This is set using a batch file and the __COMPAT_LAYER
variable in batch. See this for details.