From dd8a053f9845d4adeb8540f24d1e8d46def35ad3 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sat, 22 Nov 2014 11:44:05 -0500 Subject: shader --- js/shader.js | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'js/shader.js') diff --git a/js/shader.js b/js/shader.js index a6937b7..b829a0d 100644 --- a/js/shader.js +++ b/js/shader.js @@ -1,7 +1,29 @@ -(function(){ +var shader = (function(){ + var fn_str, fn, lex + var exports = {} + + exports.init = function(){ + lex = new Lex (0, 0) + exports.build(demo_shader.innerHTML) + } + exports.build = function (fn_str){ + new_fn = new Function('lex', 'x', 'y', fn_str) + try { + new_fn(lex, 0, 0) + } + catch (e) { + throw 'Shader execution error' + } + exports.fn = fn = new_fn + return fn + } + exports.run = function(canvas){ + canvas.forEach(function(lex, y, x){ + fn(lex, x, y) + lex.build() + }) + } + + return exports - var fn_str = demo_shader.innerHTML - var shader = new Function('lex', 'x', 'y', fn_str) - - window.shader = shader -})() \ No newline at end of file +})() -- cgit v1.2.3-70-g09d2