나는 사전 곱셈 알파와 함께 현재 XNA 3.1을 사용합니다 (네이티브 사전 곱셈 알파 지원은 4.0에서 추가되었습니다).
대부분의 경우 시간이 절약되고 이미지의 투명 영역에 올바른 색상이 적용됩니다. 또한 기본적으로 사전 곱셈을 수행하는 Silverlight로 포팅합니다.
XNA에는 사전 파이프 라인 된 알파 전처리를 매우 쉽게 추가 할 수있는 컨텐츠 파이프 라인이 있습니다.
이 링크에는 변환을 수행하기위한 코드가 포함되어 있습니다. 모든 픽셀에 대해 :
c.R = (byte)(c.R * c.A / 255);
c.G = (byte)(c.G * c.A / 255);
c.B = (byte)(c.B * c.A / 255);
콘텐츠 파이프 라인을 가지고 있다고 할 말이 많습니다. XNA를 사용하지 않고 Visual Studio를 사용하는 경우 직접 함께 던질 수 있습니다. 다른 IDE / 빌드 프로세스도 가능해야합니다.
마지막으로 빌드에 컨텐츠 처리 단계가 없으면 (그리고 어쨌든 컨텐츠가 많지 않은 경우) 텍스처를로드 할 때 런타임에 사전 곱셈을 쉽게 수행 할 수 있습니다. 텍스처로드 시간에 일정한 요소를 추가합니다.
(의미가 명확하지 않은 경우 : 미리 곱셈 된 알파 이미지를 편집 하지 않아야 합니다. 가능한 경우 미리 곱셈 된 이미지를 내보내거나 더 잘 처리하십시오.)