@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
26 lines • 1.48 kB
TypeScript
/**
* 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