본문 바로가기
그래픽스

[Graphics] 알파 블렌딩(Alpha Blending)의 문제점과 해결 방법

728x90
반응형

🎲 알파 블렌딩 이란?

    그래픽 렌더링시에 다른 오브젝트에 가려지는 부분은 오클루젼 컬링을 통해 지워지지만, 알파 블렌딩은 앞에 위치한 픽셀이 알파값을 가질 경우 뒤의 픽셀값을 지우지 않고 알파값을 적용하여 픽셀값을 계산하여줍니다. 예를 들어 픽셀값이 (250, 128, 0)인 곳에 (64, 64, 64, 128)을 덮어 씌울경우 {(250, 128, 0) X (256 - 128)/256} + {(64, 64, 64) X (128/256)} = (157, 96, 32)가 나오게 됩니다.

 

 
 
 

🍳 알파 블렌딩의 문제점은?

    오버드로우(한 프레임내에 같은위치의 픽셀을 두 번 이상 계산하는것)가 일어나기 쉽기 때문에 퍼포먼스 저하를 야기합니다.

 

🍳 알파 블렌딩의 과부화 해결법

    🎨 알파 테스팅 : 픽셀의 알파값이 특정 수치(보통 127)를 넘을 경우 블렌딩 없이 해당 픽셀값을 대입하여주고 특정 수치 보다 적을 경우 해당 픽셀을 무시하는 방식입니다. 오버드로우를 피할 수 있다는 장점이 있지만 디테일한 표현은 불가능하기 때문에 나뭇잎이나 나뭇가지 등의 표현에 사용됩니다.

알파 테스팅

 

 
 

    🎨 알파 소팅 : 일반 오브젝트들 부터 먼저 렌더타겟에 그려준 다음에 반투명 오브젝트를 렌더타겟에 마저 그려줍니다. 이렇게 하면 일반 오브젝트들 때문에 오버드로우가 생기는것은 방지할 수 있습니다.

반응형