summaryrefslogtreecommitdiff
path: root/shader-gif.html
diff options
context:
space:
mode:
Diffstat (limited to 'shader-gif.html')
-rw-r--r--shader-gif.html8
1 files changed, 6 insertions, 2 deletions
diff --git a/shader-gif.html b/shader-gif.html
index 8d8d63b..8af2057 100644
--- a/shader-gif.html
+++ b/shader-gif.html
@@ -71,6 +71,7 @@ div { display: inline-block; padding: 10px;}
<script type="text/javascript" src="js/vendor/canvasquery.js"></script>
<script type="text/javascript" src="js/canvasquery.dither.js"></script>
<script type="text/javascript" src="js/color.js"></script>
+<script type="text/javascript" src="js/image.js"></script>
<script type="text/javascript" src="js/util.js"></script>
<script type="text/javascript">
@@ -172,14 +173,17 @@ function shade(frame, t){
if (window.gif) frame = giveImage(t)
var f = $("#shader").val()
if (!f.length) return;
- var shader = new Function('x','y','t', f)
+ var shader = new Function('x','y','t','d', f)
var imageData = frame.ctx.getImageData(0,0,w,h)
var data = imageData.data
+
+ var cloneData = frame.ctx.getImageData(0,0,w,h)
+ var clone = cloneData.data
for (var x = 0; x < w; x++) {
for (var y = 0; y < h; y++) {
q = 4*(y*w+x)
r = data[q], g = data[q+1], b = data[q+2], a = data[q+3]
- result = shader(x,y,t)
+ result = shader(x,y,t,clone)
data[q] = r
data[q+1] = g
data[q+2] = b