Download beta: xyremap0.5beta.zip v0.5 (beta)
version 0.5: some new RPN functions, a bug fix, and (approximately) gamma-aware interpolation (see http://forum.doom9.org/showthread.ph...01#post1736501)
version 0.4: new x86 RPN compiler; new functionality (see http://forum.doom9.org/showthread.ph...05#post1735605)
Download: xyremap0.3.zip v0.3
version 0.3: new parameter "static" to speed up non-animating remaps
version 0.2: bug fixes to pixel interpolator, min/max functions, added new RPN parameters
See included xyremap.txt for parameters, etc.
See
here and
here for explanations of Reverse Polish Notation
Please note that the RPN parser is not very intelligent when it comes to malformed notation, and may simply return an unexpected result without erroring.
Examples
To make some animated waves:
Code:
xyremap(version.converttorgb32,y="y x 0.1 * n 5 / + sin 8 * +")
To take a trip into the time vortex:
Code:
stackhorizontal(version,version)
stackvertical(last,last)
converttorgb32
xyremap(\
"y h 0.5 * - x w 0.5 * - atan2 n 250 / + TAU + u 1.5 * TAU / * u 0.5 * % u 0.25 * +",\
"1 y h 0.5 * - 2 ^ x w 0.5 * - 2 ^ + sqrt / w 100 * * n + v 0.5 * % v 0.25 * +",\
"y h 0.5 * - 2 ^ x w 0.5 * - 2 ^ + sqrt w 0.5 * /",\
w=640,\
h=360,\
draft=false)
(four "versions" are stacked so the remapper can avoid the image edges, which would otherwise result in some visible edges on the output)