Skip to content

Releases: ChrisMzz/fractal-art

v2.2.2 bugfix

10 Jan 14:54
Compare
Choose a tag to compare

DiscordRP Bugfix

Fixes crash that occured when Discord wasn't detected.

v2.2.1

05 Jan 17:22
Compare
Choose a tag to compare

Added Discord Rich Presence

Using pypresence v4.3.0.

v2.2.0

03 Jan 18:53
Compare
Choose a tag to compare

Animation update

Implemented $N$-dimensional lerps into explorer, along with many other minor updates (icon, title).
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

16 Nov 17:31
Compare
Choose a tag to compare

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

03 Nov 13:35
Compare
Choose a tag to compare

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

01 Nov 18:09
Compare
Choose a tag to compare

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" $n$ has $n+1$ terms :
$$\sum_{k=0}^n{c_kz^k}$$

v2.0.1 bugfix

31 Oct 12:20
Compare
Choose a tag to compare

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 $z$ are in the series expansion. This is counter-intuitive as any function $z^2+c$ would then be interpreted as of order 3, so I might need to change it entirely in a later version to make the order array size minus 1.

frctlart_v2.0.0

30 Oct 18:59
Compare
Choose a tag to compare

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 cs 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

18 Oct 19:49
Compare
Choose a tag to compare

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

09 Oct 19:02
Compare
Choose a tag to compare

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.