#776·gpu.js

生产环境中的"未处理声明"

作者: mikhailsdv创建于 2022年9月3日更新于 2022年10月23日

const createKernel = outputLength => new window.GPU({ mode: "gpu", }).createKernel( function (videoPixels, emojiPixels, emojiPixelsLength, brightness) { let lowestDistanceIn3d = Infinity let lowestDistanceEmojiPixelIndex = 0 for (let j = 0, i = 0; j < emojiPixelsLength; j += 3) { const emojiPixel = [emojiPixels[j], emojiPixels[j + 1], emojiPixels[j + 2]]

        const videoPixelOffset = this.thread.x * 4
        const videoPixel = [
            videoPixels[videoPixelOffset],
            videoPixels[videoPixelOffset + 1],
            videoPixels[videoPixelOffset + 2],
        ]

        const distanceIn3d = Math.sqrt(
            Math.pow(emojiPixel[0] - videoPixel[0] * brightness, 2) +
                Math.pow(emojiPixel[1] - videoPixel[1] * brightness, 2) +
                Math.pow(emojiPixel[2] - videoPixel[2] * brightness, 2)
        )
        if (lowestDistanceIn3d > distanceIn3d) {
            lowestDistanceIn3d = distanceIn3d
            lowestDistanceEmojiPixelIndex = i
        }
        i++
    }
    return lowestDistanceEmojiPixelIndex
},
{