GDIPlus混合函数使用预乘以alpha通道的RGB位图以提高效率。然而,由于必须逐个像素地处理,预乘以alpha是非常昂贵的。
看起来它是SSE汇编的好选择。这里有没有人想分享他的实现?我知道这很辛苦,所以才会问。我不是想窃取你的工作。如果你能分享这个,你将得到我的所有考虑。
编辑:我不是试图通过软件进行alpha混合。我正在尝试将图像中每个像素的每个颜色分量都乘以其alpha值。我这样做是因为alpha混合是通过公式完成的:dst=src*src.alpha+dst*(1-dst.alpha),然而AlphaBlend Win32函数实现了dst=src+dst*(1-dst.alpha)以优化性能。为了获得正确的结果,在调用AlphaBlend之前,需要使src等于src*src.alpha。
对我来说写这个需要一些时间,因为我很少了解汇编语言,所以我在问是否有人想分享他的实现。在论文中,通过软件进行alpha混合的收益是300%,所以SSE会很棒。
看起来它是SSE汇编的好选择。这里有没有人想分享他的实现?我知道这很辛苦,所以才会问。我不是想窃取你的工作。如果你能分享这个,你将得到我的所有考虑。
编辑:我不是试图通过软件进行alpha混合。我正在尝试将图像中每个像素的每个颜色分量都乘以其alpha值。我这样做是因为alpha混合是通过公式完成的:dst=src*src.alpha+dst*(1-dst.alpha),然而AlphaBlend Win32函数实现了dst=src+dst*(1-dst.alpha)以优化性能。为了获得正确的结果,在调用AlphaBlend之前,需要使src等于src*src.alpha。
对我来说写这个需要一些时间,因为我很少了解汇编语言,所以我在问是否有人想分享他的实现。在论文中,通过软件进行alpha混合的收益是300%,所以SSE会很棒。