aboutsummaryrefslogtreecommitdiff
path: root/demos
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-09-28 21:43:07 -0700
committeralon@honor <none@none>2010-09-28 21:43:07 -0700
commit6cd9fc881bce4f51f5c548f12d6ec8f5b235aedf (patch)
treea05f0fc4cba6666607b4fec415c3ee3d45600752 /demos
parent13110f1a19e4cea2136461e15dd5d73730247faf (diff)
raytrace demo tweaks
Diffstat (limited to 'demos')
-rw-r--r--demos/raytrace.html29
1 files changed, 15 insertions, 14 deletions
diff --git a/demos/raytrace.html b/demos/raytrace.html
index 7e98901b..74d701f0 100644
--- a/demos/raytrace.html
+++ b/demos/raytrace.html
@@ -10,21 +10,21 @@
document.getElementById('output').innerHTML = text;
}
- var drawing = false;
- var hasSceneData = false;
+ var drawingNow = false;
+ var calcedDepth = -1;
// Do everything - initialize SDL, set up canvas, render
- function render(size) {
- if (drawing) return;
- drawing = true;
- if (!hasSceneData) {
- print('Generating scene data, please wait...');
+ function render(size, depth) {
+ if (drawingNow) return;
+ drawingNow = true;
+ if (calcedDepth != depth) {
+ print('<b>Generating scene data, please wait...</b>');
}
setTimeout(function() {
- if (!hasSceneData) {
- run(['5']);
- _SDL_Init(32);
- hasSceneData = true;
+ if (calcedDepth != depth) {
+ run([depth.toString()]);
+ calcedDepth = depth;
}
+ _SDL_Init(size);
var canvas = document.getElementById('canvas');
canvas.width = canvas.height = size;
HEAP[_screen] = _SDL_SetVideoMode(canvas.width, canvas.height, 32, 0, canvas);
@@ -37,7 +37,7 @@
setTimeout(arguments.callee, 1);
} else {
print('');
- drawing = false;
+ drawingNow = false;
}
}
drawLine();
@@ -48,8 +48,9 @@
<body>
<canvas id='canvas' width=1 height=1></canvas>
<hr>
- <form onsubmit="setTimeout(function() { render(parseInt(size.value)) }); return false">
- Size (pixels): <input type="text" name="size" value="128">
+ <form onsubmit="setTimeout(function() { render(parseInt(size.value), parseInt(depth.value)) }); return false">
+ Rendered width/height (pixels): <input type="text" name="size" value="128">(use less for slower machines)<br>
+ Scene recursion (child spheres/sphere): <input type="text" name="depth" value="5">(use less for slower machines; careful with values > 6!)<br>
<input type="submit" value="Go!">
</form>
<div id="output" style="font-family: Courier New,Courier,monospace;"></div>