@phaserjs/phaser
Version:
8 lines (7 loc) • 477 B
JavaScript
import { Matrix4 } from "./Matrix4";
export function Mat4RotateY(matrix, angle, out = new Matrix4()) {
const s = Math.sin(angle);
const c = Math.cos(angle);
const [a00, a01, a02, a03, a10, a11, a12, a13, a20, a21, a22, a23, a30, a31, a32, a33] = matrix.data;
return out.set(a00 * c - a20 * s, a01 * c - a21 * s, a02 * c - a22 * s, a03 * c - a23 * s, a10, a11, a12, a13, a00 * s + a20 * c, a01 * s + a21 * c, a02 * s + a22 * c, a03 * s + a23 * c, a30, a31, a32, a33);
}