@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
32 lines (24 loc) • 885 B
JavaScript
import { vec3 } from "gl-matrix";
import { GetTexCoord } from "./GetTexCoord.js";
import { fabsf } from "../../../../core/math/fabsf.js";
const t1 = vec3.create();
const t2 = vec3.create();
const t3 = vec3.create();
/**
* returns the texture area times 2
* @param {SMikkTSpaceContext } pContext
* @param {number[]} indices
* @param {number} indices_offset
* @returns {number}
*/
export function CalcTexArea(pContext, indices, indices_offset) {
GetTexCoord(t1, pContext, indices[indices_offset ]);
GetTexCoord(t2, pContext, indices[indices_offset + 1]);
GetTexCoord(t3, pContext, indices[indices_offset + 2]);
const t21x = t2[0] - t1[0];
const t21y = t2[1] - t1[1];
const t31x = t3[0] - t1[0];
const t31y = t3[1] - t1[1];
const fSignedAreaSTx2 = t21x * t31y - t21y * t31x;
return fabsf(fSignedAreaSTx2);
}