UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

39 lines (31 loc) 1.4 kB
const _lut_array_buffer = new ArrayBuffer(84); /** * Mapping from 3 plane bitfield, corresponding to intersection point of the planes * @type {number[]} */ export const triplanar_corner_mapping = new Uint8Array(_lut_array_buffer, 0, 43); triplanar_corner_mapping[0b010101] = 0; triplanar_corner_mapping[0b100101] = 1; triplanar_corner_mapping[0b011001] = 2; triplanar_corner_mapping[0b101001] = 3; triplanar_corner_mapping[0b010110] = 4; triplanar_corner_mapping[0b100110] = 5; triplanar_corner_mapping[0b011010] = 6; triplanar_corner_mapping[0b101010] = 7; /** * Mapping from 2 plane bitfield to 2 corner bitfield, corresponding to corner indices of intersecting planes * @type {number[]} */ export const biplanar_edge_mapping = new Uint8Array(_lut_array_buffer, 43, 41); biplanar_edge_mapping[0b000101] = 0 | (1 << 3); biplanar_edge_mapping[0b000110] = 4 | (5 << 3); biplanar_edge_mapping[0b001001] = 2 | (3 << 3); biplanar_edge_mapping[0b001010] = 6 | (7 << 3); biplanar_edge_mapping[0b010100] = 0 | (4 << 3); biplanar_edge_mapping[0b011000] = 2 | (6 << 3); biplanar_edge_mapping[0b100100] = 1 | (5 << 3); biplanar_edge_mapping[0b101000] = 3 | (7 << 3); biplanar_edge_mapping[0b010001] = 0 | (2 << 3); biplanar_edge_mapping[0b010010] = 4 | (6 << 3); biplanar_edge_mapping[0b100001] = 1 | (3 << 3); biplanar_edge_mapping[0b100010] = 5 | (7 << 3);