(a, b)
| 293 | |
| 294 | // Verify by checking M * M^-1 = I |
| 295 | function multiplyMatrices(a, b) { |
| 296 | const result = new Float32Array(16); |
| 297 | for (let row = 0; row < 4; row++) { |
| 298 | for (let col = 0; col < 4; col++) { |
| 299 | let sum = 0; |
| 300 | for (let k = 0; k < 4; k++) { |
| 301 | sum += a[row + k * 4] * b[k + col * 4]; |
| 302 | } |
| 303 | result[row + col * 4] = sum; |
| 304 | } |
| 305 | } |
| 306 | return result; |
| 307 | } |
| 308 | |
| 309 | console.log('\n=== VERIFICATION: TransformLink * IBM should = Identity ==='); |
| 310 | const verify1 = multiplyMatrices(tlColMajor, ibmCorrect); |