xforms for Chaotica
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.5 KiB

<?xml version="1.0" encoding="utf-8"?>
<user_transforms>
<transform_def name="exstripeaganza">
<node name="input_params">
<real name="exstripeaganza">1</real>
<real name="exstripeaganza_up" minval="0.0" maxval="0.999999999999">0</real>
<real name="exstripeaganza_down" minval="0.0" maxval="0.999999999999">0</real>
<real name="exstripeaganza_symm">0</real>
<real name="exstripeaganza_seed">0</real>
</node>
<node name="internal_params">
<real name="weight" />
<real name="up" />
<real name="down" />
<real name="symm" />
<real name="seed" />
</node>
<int name="num_unit_randoms">1</int>
<string name="winter_init_function">
<![CDATA[
exstripeaganza_init_result(exstripeaganza, exstripeaganza_up ,exstripeaganza_down ,exstripeaganza_symm ,exstripeaganza_seed)
]]>
</string>
<string name="winter_eval_function">
<![CDATA[
let
y=
if p_in.y<0 then
pow(invpi(), 1 / log(up)) - 1 + quartpi()
else
pow(invpi(), 1 / log(down)) - 1 + quartpi()
a = toReal(truncateToInt(y * p_in.x + seed))
thing = p_in * hash_shadertoy(a * 4, a * 2, exp(seed/100000))
thing2=
if symm > 0 then
if abs(thing.x) < symm / 2 then
if unit_rnd_0 < 0.5 then
vec2(thing.x, thing.y)
else
vec2(thing.x, -thing.y)
else
thing
else
thing
in
thing2 * weight
]]>
</string>
</transform_def>
</user_transforms>