Skip to content

Instantly share code, notes, and snippets.

@mikolalysenko
Last active December 19, 2015 22:09
Show Gist options
  • Save mikolalysenko/6025734 to your computer and use it in GitHub Desktop.
Save mikolalysenko/6025734 to your computer and use it in GitHub Desktop.
Generated ambient occlusion code for ao-mesher
var s0 = SS[0]
, s1 = SS[1]
, s2 = SS[2]
, q0 = t3[2] | 0
, q1 = 2 * t3[2] | 0
, q2 = t3[1] | 0
, q3 = t3[1] + t3[2] | 0
, q4 = t3[1] + 2 * t3[2] | 0
, q5 = 2 * t3[1] | 0
, q6 = 2 * t3[1] + t3[2] | 0
, q7 = 2 * t3[1] + 2 * t3[2] | 0
, q8 = t3[0] | 0
, q9 = t3[0] + t3[2] | 0
, q10 = t3[0] + 2 * t3[2] | 0
, q11 = t3[0] + t3[1] | 0
, q12 = t3[0] + t3[1] + t3[2] | 0
, q13 = t3[0] + t3[1] + 2 * t3[2] | 0
, q14 = t3[0] + 2 * t3[1] | 0
, q15 = t3[0] + 2 * t3[1] + t3[2] | 0
, q16 = t3[0] + 2 * t3[1] + 2 * t3[2] | 0
, q17 = 2 * t3[0] | 0
, q18 = 2 * t3[0] + t3[2] | 0
, q19 = 2 * t3[0] + 2 * t3[2] | 0
, q20 = 2 * t3[0] + t3[1] | 0
, q21 = 2 * t3[0] + t3[1] + t3[2] | 0
, q22 = 2 * t3[0] + t3[1] + 2 * t3[2] | 0
, q23 = 2 * t3[0] + 2 * t3[1] | 0
, q24 = 2 * t3[0] + 2 * t3[1] + t3[2] | 0;
p0 |= 0;
p1 |= 0;
p2 |= 0;
p3 |= 0;
var i0 = 0
, i1 = 0
, i2 = 0
, d0s0 = t0[2]
, d0s1 = t0[1] - s2 * t0[2]
, d0s2 = t0[0] - s1 * t0[1]
, d1s0 = t1[2]
, d1s1 = t1[1] - s2 * t1[2]
, d1s2 = t1[0] - s1 * t1[1]
, d2s0 = t2[2]
, d2s1 = t2[1] - s2 * t2[2]
, d2s2 = t2[0] - s1 * t2[1]
, d3s0 = t3[2]
, d3s1 = t3[1] - s2 * t3[2]
, d3s2 = t3[0] - s1 * t3[1];
for (i2 = 0; i2 < s0; ++i2) {
for (i1 = 0; i1 < s1; ++i1) {
for (i0 = 0; i0 < s2; ++i0) {
var l4 = a3[p3];
var l5 = a3[p3 + q0];
var l6 = a3[p3 + q1];
var l7 = a3[p3 + q2];
var l8 = a3[p3 + q3];
var l9 = a3[p3 + q4];
var l10 = a3[p3 + q5];
var l11 = a3[p3 + q6];
var l13 = a3[p3 + q8];
var l14 = a3[p3 + q9];
var l15 = a3[p3 + q10];
var l16 = a3[p3 + q11];
var l17 = a3[p3 + q12];
var l18 = a3[p3 + q13];
var l19 = a3[p3 + q14];
var l20 = a3[p3 + q15];
var l22 = a3[p3 + q17];
var l23 = a3[p3 + q18];
var l25 = a3[p3 + q20];
var l26 = a3[p3 + q21];
a0[p0] = Y0(l4, l5, l6, l7, l8, l9, l10, l11, a3[p3 + q7], l13, l14, l15, l16, l17, l18, l19, l20, a3[p3 + q16]);
a1[p1] = Y0(l4, l13, l22, l5, l14, l23, l6, l15, a3[p3 + q19], l7, l16, l25, l8, l17, l26, l9, l18, a3[p3 + q22]);
a2[p2] = Y0(l4, l7, l10, l13, l16, l19, l22, l25, a3[p3 + q23], l5, l8, l11, l14, l17, l20, l23, l26, a3[p3 + q24]);
p0 += d0s0;
p1 += d1s0;
p2 += d2s0;
p3 += d3s0;
}
p0 += d0s1;
p1 += d1s1;
p2 += d2s1;
p3 += d3s1;
}
p0 += d0s2;
p1 += d1s2;
p2 += d2s2;
p3 += d3s2;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment