Skip to content

frctlart_v2.0.0

Compare
Choose a tag to compare
@ChrisMzz ChrisMzz released this 30 Oct 18:59
· 29 commits to main since this release

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.