| 57 | const DEFAULT_GRID_RGBA: readonly [number, number, number, number] = [1, 1, 1, 0.15]; |
| 58 | |
| 59 | const createIdentityMat4Buffer = (): ArrayBuffer => { |
| 60 | // Column-major identity mat4x4 |
| 61 | const buffer = new ArrayBuffer(16 * 4); |
| 62 | new Float32Array(buffer).set([ |
| 63 | 1, 0, 0, 0, // col0 |
| 64 | 0, 1, 0, 0, // col1 |
| 65 | 0, 0, 1, 0, // col2 |
| 66 | 0, 0, 0, 1, // col3 |
| 67 | ]); |
| 68 | return buffer; |
| 69 | }; |
| 70 | |
| 71 | const generateGridVertices = (gridArea: GridArea, horizontal: number, vertical: number): Float32Array => { |
| 72 | const { left, right, top, bottom, canvasWidth, canvasHeight } = gridArea; |