* Creates a neutral 3D LUT. * * @param {Number} size - The sidelength. * @return {LookupTexture} A neutral 3D LUT.
(size)
| 441 | */ |
| 442 | |
| 443 | static createNeutral(size) { |
| 444 | |
| 445 | const data = new Float32Array(size ** 3 * 4); |
| 446 | const sizeSq = size ** 2; |
| 447 | const s = 1.0 / (size - 1.0); |
| 448 | |
| 449 | for(let r = 0; r < size; ++r) { |
| 450 | |
| 451 | for(let g = 0; g < size; ++g) { |
| 452 | |
| 453 | for(let b = 0; b < size; ++b) { |
| 454 | |
| 455 | const i4 = (r + g * size + b * sizeSq) * 4; |
| 456 | data[i4 + 0] = r * s; |
| 457 | data[i4 + 1] = g * s; |
| 458 | data[i4 + 2] = b * s; |
| 459 | data[i4 + 3] = 1.0; |
| 460 | |
| 461 | } |
| 462 | |
| 463 | } |
| 464 | |
| 465 | } |
| 466 | |
| 467 | const lut = new LookupTexture(data, size); |
| 468 | lut.name = "neutral"; |
| 469 | |
| 470 | return lut; |
| 471 | |
| 472 | } |
| 473 | |
| 474 | } |
no outgoing calls
no test coverage detected