aboutsummaryrefslogtreecommitdiff
path: root/demos/raytrace.js
diff options
context:
space:
mode:
Diffstat (limited to 'demos/raytrace.js')
-rw-r--r--demos/raytrace.js702
1 files changed, 0 insertions, 702 deletions
diff --git a/demos/raytrace.js b/demos/raytrace.js
deleted file mode 100644
index 9da9b744..00000000
--- a/demos/raytrace.js
+++ /dev/null
@@ -1,702 +0,0 @@
-//====================================================================================
-// Auto-generated code. Original source + changes are
-// sphere flake bvh raytracer (c) 2005, thierry berger-perrin <tbptbp@gmail.com>
-// (c) 2010, azakai (Emscripten)
-// this code is released under the GNU Public License.
-//
-// Optimized using Closure Compiler
-//====================================================================================
-
-function l() {
- return function() {
- }
-}
-function m() {
-}
-FUNCTION_TABLE = [];
-var o = [];
-function q(a, b) {
- if(!a) {
- b = "Assertion failed: " + b;
- print(b + ":\n" + Error().stack);
- throw"Assertion: " + b;
- }
-}
-ALLOC_NORMAL = 0;
-ALLOC_STACK = 1;
-ALLOC_STATIC = 2;
-function r(a, b, c) {
- function d(g) {
- if(!g || g.length === undefined || typeof g === "function") {
- return[g]
- }
- return g.map(d).reduce(function(i, j) {
- return i.concat(j)
- }, [])
- }
- b = b ? b : 0;
- if(a === HEAP) {
- return b
- }
- a = d(a);
- c = [_malloc, aa, u][c ? c : ALLOC_STATIC](Math.max(a.length - b, 1));
- for(var e = 0;e < a.length - b;e++) {
- var h = a[b + e];
- if(typeof h === "number" || typeof h === "boolean") {
- IHEAP[c + e] = h;
- FHEAP[c + e] = h
- }else {
- HEAP[c + e] = h
- }
- }
- return c
-}
-function ba(a) {
- a = {e:IHEAP, d:a};
- for(var b = "", c = 0, d;;) {
- if(a.d + c >= a.e.length) {
- break
- }
- d = String.fromCharCode(a.e[a.d + c]);
- if(d == "\u0000") {
- break
- }
- b += d;
- c += 1
- }
- return b
-}
-PAGE_SIZE = 4096;
-if(!this.f) {
- _malloc = u;
- _free = l()
-}
-__Znwm = __Znam = __Znaj = __Znwj = _malloc;
-__ZdaPv = __ZdlPv = _free;
-function ia() {
- HEAP = x("(null)");
- this.TOTAL_MEMORY || (TOTAL_MEMORY = 52428800);
- if(this.Int32Array) {
- IHEAP = new Int32Array(TOTAL_MEMORY);
- for(var a = 0;a < HEAP.length;a++) {
- IHEAP[a] = HEAP[a]
- }
- }else {
- IHEAP = HEAP
- }
- FHEAP = this.Float64Array ? new Float64Array(TOTAL_MEMORY) : HEAP;
- STACK_ROOT = STACKTOP = Math.ceil(10 / PAGE_SIZE) * PAGE_SIZE;
- this.TOTAL_STACK || (TOTAL_STACK = 1048576);
- STACK_MAX = STACK_ROOT + TOTAL_STACK;
- STATICTOP = Math.ceil(STACK_MAX / PAGE_SIZE) * PAGE_SIZE
-}
-function ja(a, b, c) {
- for(var d = 0;d < c;d++) {
- HEAP[a + d] = HEAP[b + d];
- IHEAP[a + d] = IHEAP[b + d];
- FHEAP[a + d] = FHEAP[b + d]
- }
-}
-_llvm_memcpy_p0i8_p0i8_i32 = _llvm_memcpy_i64 = ja;
-_llvm_memset_p0i8_i32 = function(a, b, c) {
- for(var d = 0;d < c;d++) {
- HEAP[a + d] = IHEAP[a + d] = FHEAP[a + d] = b
- }
-};
-PRINTBUFFER = "";
-function x(a) {
- for(var b = [], c = 0;c < a.length;) {
- b.push(a.charCodeAt(c));
- c += 1
- }
- b.push(0);
- return b
-}
-function aa(a) {
- var b = STACKTOP;
- q(a > 0);
- STACKTOP += a;
- STACKTOP = Math.ceil(STACKTOP / 4) * 4;
- q(STACKTOP < STACK_ROOT + STACK_MAX);
- return b
-}
-function u(a) {
- var b = STATICTOP;
- q(a > 0);
- STATICTOP += a;
- STATICTOP = Math.ceil(STATICTOP / 4) * 4;
- return b
-}
-var ka = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16];
-this.__defineGetter__("_screen", function() {
- delete _screen;
- return _screen = r([0], 0, ALLOC_STATIC)
-});
-this.__defineGetter__("__ZStL8__ioinit", function() {
- delete __ZStL8__ioinit;
- return __ZStL8__ioinit = r([0], 0, ALLOC_STATIC)
-});
-var la = 0;
-this.__defineGetter__("__ZL5light", function() {
- delete __ZL5light;
- return __ZL5light = r([0, 0, 0], 0, ALLOC_STATIC)
-});
-this.__defineGetter__("__ZL4pool", function() {
- delete __ZL4pool;
- return __ZL4pool = r([0], 0, ALLOC_STATIC)
-});
-this.__defineGetter__("__ZL3end", function() {
- delete __ZL3end;
- return __ZL3end = r([0], 0, ALLOC_STATIC)
-});
-this.__defineGetter__("__ZL4grid", function() {
- delete __ZL4grid;
- return __ZL4grid = r([[-1, -0.3333333333333333], [0.3333333333333333, -1], [-0.3333333333333333, 1], [1, 0.3333333333333333]], 0, ALLOC_STATIC)
-});
-m = function() {
- B()
-};
-_sqrt = Math.sqrt;
-__ZNSt8ios_base4InitC1Ev = function() {
- __ZSt4cout = 1;
- __ZSt4cerr = 2
-};
-___cxa_atexit = function(a) {
- o.push(a)
-};
-__ZNSt8ios_base4InitD1Ev = function() {
- __ZSt4cout = 1;
- __ZSt4cerr = 2
-};
-_cos = Math.cos;
-_sin = Math.sin;
-_SDL_LockSurface = function(a) {
- var b = SDL_SURFACES[a];
- b.a = b.c.getImageData(0, 0, b.width, b.height);
- for(var c = b.a.data.length, d = 0;d < c;d++) {
- IHEAP[b.b + d] = b.a.data[d]
- }
- IHEAP[a + 5] = b.b
-};
-_SDL_UnlockSurface = function(a) {
- a = SDL_SURFACES[a];
- for(var b = a.a.data.length, c = 0;c < b;c++) {
- a.a.data[c] = IHEAP[a.b + c]
- }
- for(c = 0;c < b / 4;c++) {
- a.a.data[c * 4 + 3] = 255
- }
- a.c.putImageData(a.a, 0, 0);
- a.a = null
-};
-_SDL_Flip = l();
-_SDL_Init = function() {
- SDL_SURFACES = {};
- return 1
-};
-_SDL_SetVideoMode = function(a, b, c, d, e) {
- c = _malloc(14);
- SDL_SURFACES[c] = {width:a, height:b, canvas:e, c:e.getContext("2d"), g:c, b:_malloc(a * b * 4)};
- return c
-};
-_SDL_Delay = l();
-_SDL_Quit = function() {
- return 1
-};
-function B() {
- C(1, 65535)
-}
-FUNCTION_TABLE[0] = B;
-FUNCTION_TABLE[1] = function(a, b) {
- return b
-};
-FUNCTION_TABLE[2] = l();
-function E(a, b) {
- return FHEAP[a] < FHEAP[b] ? b : a
-}
-FUNCTION_TABLE[3] = E;
-function F(a, b) {
- return IHEAP[a] < IHEAP[b] ? b : a
-}
-FUNCTION_TABLE[4] = F;
-var ma = 5;
-FUNCTION_TABLE[5] = function() {
- __ZNSt8ios_base4InitD1Ev(__ZStL8__ioinit)
-};
-function G(a, b, c, d) {
- FHEAP[a] = b;
- FHEAP[a + 1] = c;
- FHEAP[a + 2] = d
-}
-FUNCTION_TABLE[6] = G;
-function H(a, b, c) {
- G(a, FHEAP[b] + FHEAP[c], FHEAP[b + 1] + FHEAP[c + 1], FHEAP[b + 2] + FHEAP[c + 2])
-}
-FUNCTION_TABLE[7] = H;
-function I(a, b, c) {
- G(a, FHEAP[b] - FHEAP[c], FHEAP[b + 1] - FHEAP[c + 1], FHEAP[b + 2] - FHEAP[c + 2])
-}
-FUNCTION_TABLE[8] = I;
-function J(a, b) {
- G(a, 0 - FHEAP[b], 0 - FHEAP[b + 1], 0 - FHEAP[b + 2])
-}
-FUNCTION_TABLE[9] = J;
-function K(a, b, c) {
- G(a, FHEAP[b] * c, FHEAP[b + 1] * c, FHEAP[b + 2] * c)
-}
-FUNCTION_TABLE[10] = K;
-function L(a, b, c) {
- G(a, FHEAP[b + 1] * FHEAP[c + 2] - FHEAP[b + 2] * FHEAP[c + 1], FHEAP[b + 2] * FHEAP[c] - FHEAP[b] * FHEAP[c + 2], FHEAP[b] * FHEAP[c + 1] - FHEAP[b + 1] * FHEAP[c])
-}
-FUNCTION_TABLE[11] = L;
-function M(a, b) {
- return FHEAP[a] * FHEAP[b] + FHEAP[a + 1] * FHEAP[b + 1] + FHEAP[a + 2] * FHEAP[b + 2]
-}
-FUNCTION_TABLE[12] = M;
-function P(a, b) {
- FHEAP[a] = FHEAP[b];
- FHEAP[a + 1] = FHEAP[b + 1];
- FHEAP[a + 2] = FHEAP[b + 2]
-}
-FUNCTION_TABLE[13] = P;
-function Q(a, b, c) {
- FHEAP[a] = FHEAP[b];
- FHEAP[a + 1] = FHEAP[b + 1];
- FHEAP[a + 2] = FHEAP[b + 2];
- a = a + 3;
- FHEAP[a] = FHEAP[c];
- FHEAP[a + 1] = FHEAP[c + 1];
- FHEAP[a + 2] = FHEAP[c + 2]
-}
-FUNCTION_TABLE[14] = Q;
-function R(a) {
- G(a, 0, 0, 0);
- FHEAP[a + 3] = Infinity
-}
-FUNCTION_TABLE[15] = R;
-FUNCTION_TABLE[16] = l();
-function S(a, b, c) {
- FHEAP[a] = FHEAP[b];
- FHEAP[a + 1] = FHEAP[b + 1];
- FHEAP[a + 2] = FHEAP[b + 2];
- FHEAP[a + 3] = c
-}
-FUNCTION_TABLE[17] = S;
-function T(a, b, c) {
- var d = STACKTOP;
- STACKTOP += 3;
- var e = 1 / FHEAP[b + 3];
- I(d, c, b);
- K(a, d, e);
- STACKTOP = d
-}
-FUNCTION_TABLE[18] = T;
-FUNCTION_TABLE[19] = l();
-function U(a, b, c, d) {
- FHEAP[a] = FHEAP[b];
- FHEAP[a + 1] = FHEAP[b + 1];
- FHEAP[a + 2] = FHEAP[b + 2];
- FHEAP[a + 3] = FHEAP[b + 3];
- b = a + 4;
- FHEAP[b] = FHEAP[c];
- FHEAP[b + 1] = FHEAP[c + 1];
- FHEAP[b + 2] = FHEAP[c + 2];
- FHEAP[b + 3] = FHEAP[c + 3];
- IHEAP[a + 8] = d
-}
-FUNCTION_TABLE[20] = U;
-function V(a, b) {
- var c = STACKTOP;
- STACKTOP += 12;
- var d = c + 3, e = c + 6, h = c + 9;
- W(d, b);
- if((FHEAP[d] * FHEAP[d] != 1 != 0 & FHEAP[d + 1] * FHEAP[d + 1] != 1 != 0 & FHEAP[d + 2] * FHEAP[d + 2] != 1) != 0) {
- var g = a + 3;
- FHEAP[g] = FHEAP[d];
- FHEAP[g + 1] = FHEAP[d + 1];
- FHEAP[g + 2] = FHEAP[d + 2];
- if(FHEAP[d + 1] * FHEAP[d + 1] > FHEAP[d] * FHEAP[d]) {
- if(FHEAP[d + 1] * FHEAP[d + 1] > FHEAP[d + 2] * FHEAP[d + 2]) {
- FHEAP[a + 3 + 1] = 0 - FHEAP[a + 3 + 1]
- }else {
- FHEAP[a + 3 + 2] = 0 - FHEAP[a + 3 + 2]
- }
- }else {
- if(FHEAP[d + 2] * FHEAP[d + 2] > FHEAP[d] * FHEAP[d]) {
- FHEAP[a + 3 + 2] = 0 - FHEAP[a + 3 + 2]
- }else {
- FHEAP[a + 3] = 0 - FHEAP[a + 3]
- }
- }
- }else {
- G(c, FHEAP[d + 2], FHEAP[d], FHEAP[d + 1]);
- g = a + 3;
- FHEAP[g] = FHEAP[c];
- FHEAP[g + 1] = FHEAP[c + 1];
- FHEAP[g + 2] = FHEAP[c + 2]
- }
- FHEAP[a] = FHEAP[d];
- FHEAP[a + 1] = FHEAP[d + 1];
- FHEAP[a + 2] = FHEAP[d + 2];
- d = a + 6;
- L(e, a, a + 3);
- FHEAP[d] = FHEAP[e];
- FHEAP[d + 1] = FHEAP[e + 1];
- FHEAP[d + 2] = FHEAP[e + 2];
- e = a + 3;
- L(h, a, a + 6);
- FHEAP[e] = FHEAP[h];
- FHEAP[e + 1] = FHEAP[h + 1];
- FHEAP[e + 2] = FHEAP[h + 2];
- STACKTOP = c
-}
-FUNCTION_TABLE[21] = V;
-function X(a) {
- return M(a, a)
-}
-FUNCTION_TABLE[22] = X;
-function W(a, b) {
- var c = 1 / _sqrt(X(b));
- K(a, b, c)
-}
-FUNCTION_TABLE[23] = W;
-function C(a, b) {
- var c = STACKTOP;
- STACKTOP += 3;
- var d = a == 1;
- a:do {
- if(d) {
- if(b != 65535) {
- break a
- }
- __ZNSt8ios_base4InitC1Ev(__ZStL8__ioinit);
- ___cxa_atexit(ma, 0, la);
- G(c, -0.5, -0.65, 0.9);
- W(__ZL5light, c)
- }
- }while(0);
- STACKTOP = c
-}
-FUNCTION_TABLE[24] = C;
-function Y(a, b) {
- var c = STACKTOP;
- STACKTOP += 3;
- var d, e, h;
- I(c, a, b);
- d = M(b + 3, c);
- e = d * d - X(c) + FHEAP[a + 3] * FHEAP[a + 3];
- if(e < 0) {
- d = Infinity
- }else {
- h = _sqrt(e);
- e = d + h;
- d = d - h;
- if(e < 0) {
- d = Infinity
- }else {
- d = d = d > 0 ? d : e
- }
- }
- d = d;
- STACKTOP = c;
- return d
-}
-FUNCTION_TABLE[25] = Y;
-function Z(a, b) {
- var c = STACKTOP;
- STACKTOP += 9;
- var d = c + 3, e, h, g = c + 6;
- h = IHEAP[__ZL4pool];
- a:for(;;) {
- if(!(h < IHEAP[__ZL3end])) {
- break a
- }
- e = Y(h, a) >= FHEAP[b + 3];
- if(e != 0) {
- h += 9 * IHEAP[h + 8]
- }else {
- e = Y(h + 4, a);
- if(FHEAP[b + 3] > e) {
- FHEAP[b + 3] = e;
- K(c, a + 3, e);
- H(d, a, c);
- e = b;
- T(g, h + 4, d);
- FHEAP[e] = FHEAP[g];
- FHEAP[e + 1] = FHEAP[g + 1];
- FHEAP[e + 2] = FHEAP[g + 2]
- }
- h += 9
- }
- }
- STACKTOP = c
-}
-FUNCTION_TABLE[26] = Z;
-function na(a, b) {
- var c, d, e, h;
- e = IHEAP[__ZL4pool];
- a:for(;;) {
- if(!(e < IHEAP[__ZL3end])) {
- c = 7;
- break a
- }
- d = Y(e, a) >= FHEAP[b + 3];
- if(d != 0) {
- e += 9 * IHEAP[e + 8]
- }else {
- h = Y(e + 4, a);
- if(FHEAP[b + 3] > h) {
- c = 4;
- break a
- }
- e += 9
- }
- }
- if(c == 4) {
- FHEAP[b + 3] = h
- }
-}
-FUNCTION_TABLE[27] = na;
-function oa(a, b) {
- var c = STACKTOP;
- STACKTOP += 29;
- var d;
- d = c + 3;
- var e = c + 6, h = c + 9, g = c + 12, i = c + 15, j, k = c + 19, n = c + 25;
- R(i);
- Z(b, i);
- j = FHEAP[i + 3] != Infinity ? 0 - M(i, __ZL5light) : 0;
- if(j <= 0) {
- d = 0
- }else {
- J(g, __ZL5light);
- K(e, i, 1.0E-12);
- K(c, b + 3, FHEAP[i + 3]);
- H(d, b, c);
- H(h, d, e);
- Q(k, h, g);
- R(n);
- na(k, n);
- d = d = FHEAP[n + 3] == Infinity ? j : 0
- }
- d = d;
- STACKTOP = c;
- return d
-}
-FUNCTION_TABLE[28] = oa;
-function $(a, b, c, d, e, h) {
- var g = STACKTOP;
- STACKTOP += 67;
- var i = g + 3, j = g + 6, k = g + 9, n = g + 12, s = g + 15, ca = g + 18, y = g + 21, v = g + 24, da = g + 27, ea = g + 30, fa = g + 33, ga = g + 36, ha = g + 39, t = g + 42, p = g + 43, D, z = g + 44, w = g + 48, A = g + 52, N = g + 61, O = g + 64;
- a = a;
- c = c;
- S(w, d, h * 2);
- S(z, d, h);
- D = a;
- if(D != 0) {
- a = b > 1 ? c : 1;
- U(D, w, z, a)
- }
- a = D + 9;
- if(!(b <= 1)) {
- IHEAP[p] = 1;
- IHEAP[t] = Math.floor((c - 9) / 9);
- c = IHEAP[F(t, p)];
- V(A, e);
- t = h / 3;
- z = p = 0;
- a:for(;;) {
- if(!(z <= 5)) {
- break a
- }
- w = _cos(p);
- K(ga, A + 6, w);
- w = _sin(p);
- K(ea, A + 3, w);
- K(da, e, -0.2);
- H(fa, da, ea);
- H(ha, fa, ga);
- W(N, ha);
- K(y, N, h + t);
- H(v, d, y);
- a = $(a, b - 1, c, v, N, t);
- p += 1.0471975511965976;
- z += 1
- }
- p -= 0.3490658503988659;
- y = 0;
- a:for(;;) {
- if(!(y <= 2)) {
- break a
- }
- v = _cos(p);
- K(s, A + 6, v);
- v = _sin(p);
- K(k, A + 3, v);
- K(j, e, 0.6);
- H(n, j, k);
- H(ca, n, s);
- W(O, ca);
- K(g, O, h + t);
- H(i, d, g);
- a = $(a, b - 1, c, i, O, t);
- p += 2.0943951023931953;
- y += 1
- }
- }
- b = a;
- STACKTOP = g;
- return b
-}
-FUNCTION_TABLE[29] = $;
-function pa(a, b, c) {
- var d = STACKTOP;
- STACKTOP += 35;
- var e = d + 3, h;
- h = d + 6;
- var g = d + 9, i = d + 10, j = d + 11, k = d + 17, n = d + 29, s = d + 32;
- FHEAP[g] = a;
- FHEAP[i] = b;
- G(h, 0, 0, -4.5);
- P(j, h);
- h = k;
- b = 3;
- a:for(;;) {
- if(b == -1) {
- break a
- }
- h += 3;
- b -= 1
- }
- b = 0;
- a:for(;;) {
- if(!(b <= 3)) {
- break a
- }
- h = b;
- G(e, FHEAP[__ZL4grid + b * 2] * 0.5 + FHEAP[g] / -2, FHEAP[__ZL4grid + b * 2 + 1] * 0.5 + FHEAP[i] / -2, 0);
- h = k + h * 3;
- FHEAP[h] = FHEAP[e];
- FHEAP[h + 1] = FHEAP[e + 1];
- FHEAP[h + 2] = FHEAP[e + 2];
- b += 1
- }
- G(n, 0, c, FHEAP[E(g, i)]);
- _SDL_LockSurface(IHEAP[_screen]);
- c = a;
- a:for(;;) {
- if(c == 0) {
- break a
- }
- g = e = 0;
- b:for(;;) {
- if(!(g <= 3)) {
- break b
- }
- H(d, n, k + g * 3);
- i = j + 3;
- W(s, d);
- FHEAP[i] = FHEAP[s];
- FHEAP[i + 1] = FHEAP[s + 1];
- FHEAP[i + 2] = FHEAP[s + 2];
- e = oa(IHEAP[__ZL4pool], j) + e;
- g += 1
- }
- g = 0;
- b:for(;;) {
- if(!(g <= 2)) {
- break b
- }
- IHEAP[IHEAP[IHEAP[_screen] + ka[5]] + Math.floor((a - FHEAP[n + 1]) * a * 4 + FHEAP[n] * 4) + g] = Math.floor(e * 64);
- g += 1
- }
- FHEAP[n] += 1;
- c -= 1
- }
- _SDL_UnlockSurface(IHEAP[_screen]);
- STACKTOP = d
-}
-FUNCTION_TABLE[30] = pa;
-function qa(a, b) {
- var c = STACKTOP;
- STACKTOP += 11;
- var d = c + 3, e = c + 6, h, g, i, j = c + 9, k = c + 10;
- if(a == 2) {
- IHEAP[k] = 2;
- g = Math.floor(Number(ba(IHEAP[b + 1])));
- IHEAP[j] = g;
- j = IHEAP[F(j, k)]
- }else {
- j = 6
- }
- j = j;
- k = 9;
- i = j;
- a:for(;;) {
- i -= 1;
- g = i > 1;
- if(g == 0) {
- break a
- }
- k = (k + 1) * 9
- }
- k += 1;
- h = k;
- g = i = __Znaj(h * 68);
- h = h - 1;
- a:for(;;) {
- if(h == -1) {
- break a
- }
- g += 9;
- h -= 1
- }
- IHEAP[__ZL4pool] = i;
- IHEAP[__ZL3end] = IHEAP[__ZL4pool] + 9 * k;
- G(d, 0.25, 1, -0.5);
- W(e, d);
- G(c, 0, 0, 0);
- $(IHEAP[__ZL4pool], j, k, c, e, 1);
- return; // XXX
- _SDL_Init(32);
- d = _SDL_SetVideoMode(512, 512, 32, 0);
- IHEAP[_screen] = d;
- d = 511;
- a:for(;;) {
- if(!(d >= 0)) {
- break a
- }
- pa(512, 512, d);
- d -= 1
- }
- STACKTOP = c;
- return 0
-}
-FUNCTION_TABLE[31] = qa;
-function ra(a) {
- function b() {
- for(var h = 0;h < 0;h++) {
- d.push(0)
- }
- }
- ia();
- var c = a.length + 1, d = [r(x("/bin/this.program"), null)];
- b();
- for(var e = 0;e < c - 1;e += 1) {
- d.push(r(x(a[e]), null));
- b()
- }
- d = r(d, null);
- m();
- for(qa(c, d);o.length > 0;) {
- a = o.pop();
- if(typeof a === "number") {
- a = FUNCTION_TABLE[a]
- }
- a()
- }
-}
-
-run = ra;
-__ZL10trace_lineiii = pa;
-