summaryrefslogtreecommitdiff
path: root/doc/shaders/brush.txt
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2016-04-10 11:16:29 -0400
committerJules Laplace <jules@okfoc.us>2016-04-10 11:16:29 -0400
commitb1ce05901e15b7859f33b46c21e92755a622ea3d (patch)
tree04bfa7a957ba0bc54ee5672aa9e655f56dbc16f9 /doc/shaders/brush.txt
parenta396ed84ead4d55a6edd57731205db6274740439 (diff)
split up sample canvas and brush shaders
Diffstat (limited to 'doc/shaders/brush.txt')
-rw-r--r--doc/shaders/brush.txt126
1 files changed, 126 insertions, 0 deletions
diff --git a/doc/shaders/brush.txt b/doc/shaders/brush.txt
new file mode 100644
index 0000000..8a5f672
--- /dev/null
+++ b/doc/shaders/brush.txt
@@ -0,0 +1,126 @@
+BRUSH SHADERS
+=============
+
+Unless noted, these shaders were written to work on the brush itself.
+Make sure "brush" is selected and "animate" is checked.
+
+
+>> distressed texture brush
+
+Sample use of the "choice" function to get a random color.
+
+var char = choice(" abcdef ")
+lex.bg = +choice("0124")
+lex.fg = +choice("01234")
+lex.char = char
+lex.opacity = char == " " ? 0 : 1
+
+
+
+>> foggy terrain brush
+
+var char = choice(" abcdef ")
+lex.bg = choice([14,15])
+lex.fg = choice("367")
+lex.char = char
+lex.opacity = char == " " ? 0 : 1
+
+
+
+>> mirror brush (left-right)
+
+NOTE: Animate this on the canvas, then draw:
+
+if (x > w/2) {
+ lex.assign( canvas.aa[y][w-x] )
+}
+
+
+
+>> mirror brush (up-down)
+
+NOTE: Animate this on the canvas, then draw:
+
+if (x > h/2) {
+ lex.assign( canvas.aa[h-y][x] )
+}
+
+
+
+>> rainbow stardust brush
+
+Uncheck BG and animate this to brush:
+
+lex.fg = hue(t)
+lex.char = choice(" ,'.,.','****** ")
+
+
+
+>> noise brushes, works on a black background:
+
+lex.bg = max(5, yellow(randint(t)))
+lex.opacity = lex.bg == colors.black ? 0 : 1
+
+
+
+>> simple rainbow:
+
+if (lex.bg != 1) lex.bg = randint(t)
+lex.opacity = lex.bg == colors.black ? 0 : 1
+
+
+
+>> self-erasing:
+
+if (lex.bg != 1) lex.bg = yellow(randint(t))
+lex.opacity = lex.bg == colors.black ? 0 : 1
+
+
+
+>> cycling rainbow brush
+
+if (lex.bg != 1) lex.bg = hue( all_color_hue_order.indexOf( color_names[ lex.bg ] ) + 1 )
+lex.opacity = lex.bg == colors.black ? 0 : 1
+
+
+
+>> "stars" brush.. set your brush to paint just the character "#"
+
+if (lex.char == "#") {
+ lex.fg = hue(randint(15))
+ lex.char = random() > 0.1 ? " " : "+@*.,\"+'*-"[randint(10)]
+}
+
+
+
+>> use fg char to mask mask what you're drawing on the bg
+
+if (lex.char != "/") { lex.bg = 1 }
+
+
+
+>> sharded glitch brush
+
+Example: http://asdf.us/z/kksnvs.png
+
+Use on a brush:
+
+lex.bg = t/y/x
+lex.opacity = lex.bg % 1 ? 0 : 1
+
+
+
+>> incremental brush
+
+Set your brush to be the ^ character, square, about 10x10
+Draw "char" only
+Then animate this shader on the canvas:
+
+if (lex.char=="^") {
+ lex.bg += 1
+ lex.char = " "
+}
+lex.bg += 1
+
+
+