UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

26 lines 1.48 kB
/** * Compute barycentric coordinates for triangle intersection * Operates on edges, this is optimized for raytracing, as same edges are required to reconstruct various attributes later on * NOTE: most of the code is inlined for speed to avoid allocation and function calls * @see https://github.com/erich666/jgt-code/blob/master/Volume_02/Number_1/Moller1997a/raytri.c * @source https://en.wikipedia.org/wiki/M%C3%B6ller%E2%80%93Trumbore_intersection_algorithm (Möller and Trumbore, « Fast, Minimum Storage Ray-Triangle Intersection », Journal of Graphics Tools, vol. 2,‎ 1997, p. 21–28) * @param {number[]} result * @param {number} origin_x * @param {number} origin_y * @param {number} origin_z * @param {number} direction_x * @param {number} direction_y * @param {number} direction_z * @param {number} ax * @param {number} ay * @param {number} az * @param {number} edge1_x * @param {number} edge1_y * @param {number} edge1_z * @param {number} edge2_x * @param {number} edge2_y * @param {number} edge2_z * @return {boolean} */ export function computeTriangleRayIntersectionBarycentricEdge(result: number[], origin_x: number, origin_y: number, origin_z: number, direction_x: number, direction_y: number, direction_z: number, ax: number, ay: number, az: number, edge1_x: number, edge1_y: number, edge1_z: number, edge2_x: number, edge2_y: number, edge2_z: number): boolean; //# sourceMappingURL=computeTriangleRayIntersectionBarycentricEdge.d.ts.map