summaryrefslogtreecommitdiff
path: root/shader-picker.html
diff options
context:
space:
mode:
Diffstat (limited to 'shader-picker.html')
-rw-r--r--shader-picker.html39
1 files changed, 28 insertions, 11 deletions
diff --git a/shader-picker.html b/shader-picker.html
index 65a1a11..8449935 100644
--- a/shader-picker.html
+++ b/shader-picker.html
@@ -32,6 +32,7 @@ form { display: inline-block; }
#gallery-images { display: block; max-height: 210px; overflow-y: auto; }
#gallery-images img, #gallery-images canvas { max-width: 200px; height: 100px; margin: 5px; cursor: pointer; }
#username { width: 40px; }
+a { color: #00f; }
</style>
</head>
<body>
@@ -80,13 +81,16 @@ form { display: inline-block; }
<br>
<br>
<button id="help">help</button>
+<!--
<button id="demo">demo</button>
- <button id="dither-demo">dither</button>
+ -->
<button id="test-js">test js</button>
<span id="shaders"></span>
<button id="add-shader">+</button>
<button id="remove-shader">x</button>
<br>
+ <br>
+ <a href="http://asdf.us/im/gallery/?tag=shader" target="_blank">Photoblaster Gallery</a>
</div>
<div id="workspace"></div>
@@ -122,6 +126,7 @@ form { display: inline-block; }
<script type="text/javascript" src="js/user.js"></script>
<script type="text/javascript" src="js/shader.js"></script>
<script type="text/javascript" src="js/util.js"></script>
+<script type="text/javascript" src="shaders.json"></script>
<script type="text/javascript">
var cc = cq(0,0).appendTo("#workspace")
@@ -138,8 +143,7 @@ function init(){
$("#pause").click(pause)
$("#step-forward").click(step_forward)
$("#add-frame").click(add_frame)
- $("#demo").click(function(){ demo("#first") })
- $("#dither-demo").click(function(){ demo("#second") })
+// $("#demo").click(function(){ demo("#first") })
$("#frames").sortable({
start: drag_start,
stop: drag_stop
@@ -175,7 +179,7 @@ function init(){
})
$("#instructions").disableSelection();
- demo('#first')
+// demo('#first')
load()
$(window).on("scroll", function(){ scrolling = true })
@@ -187,6 +191,7 @@ function init(){
if (user.username.length) {
console.log("signed in as ", user.username)
}
+
$("#test-js").click(function(){
var script = $("#shader").val()
var params = {script: script, verbose: 1}
@@ -198,7 +203,6 @@ function init(){
$("#rendered").append($pre)
console.log(data)
})
-
})
document.getElementById('shader').addEventListener('input', shader_build);
@@ -217,12 +221,12 @@ function load(){
var imageURL = $("#url").val()
loadImage(imageURL, ready)
}
-function demo(el){
- $el = $(el)
- s = $el.html()
- $("#shader").html(s)
- shader_build()
-}
+// function demo(el){
+// $el = $(el)
+// s = $el.html()
+// $("#shader").html(s)
+// shader_build()
+// }
function drag_start(){ dragging = true; $(this).addClass("dragging") }
function drag_stop(){ dragging = false; $(".dragging").removeClass("dragging") }
@@ -440,6 +444,19 @@ function save (){
var blob = dataUriToBlob(lastGif)
saveAs(blob, filename);
}
+function saveJSON (data, filename) {
+ var bytes = JSON.stringify(data)
+ var buf = new ArrayBuffer(bytes.length);
+ var arr = new Uint8Array(buf);
+ for (var i = 0; i < bytes.length; i++) {
+ arr[i] = bytes.charCodeAt(i);
+ }
+
+ var blob = new Blob([arr], { type: "text/json" });
+ blob.slice = blob.slice || blob.webkitSlice;
+
+ saveAs(blob, filename);
+}
function upload(){
var filename = get_filename()