WinCNT

Blending 본문

Blending

색을 섞는 행위

3D 그래픽스에서는 주로 픽셀의 색을 섞는 것을 의미한다

(hue saturation)

 

색을 섞는 행위 자체는 어디에나 일어날 수 있다

 

 

DX에서의 색의 값은 일반적으로 0~1이다

색상 간의 연산은 다양함

 

알파 값은 특별히 Alpha Blending

수많은 색상의 Blending 방법 중 하나일 뿐

 

섞는 방법은 여러가지가 있다

더하고 정규화하면 Hue의 중간 값,

곱하면 광원의 블렌딩 등등

 

 

DX의 Blending

DX에서는 미리 Blending의 형태를 정할 수 있다

Target(보통 렌더 타겟)의 픽셀과 지금 그릴 픽셀

 

BlendState

D3D11_BLEND enumeration

D3D11_BLEND_OP enumeration

 

RenderState와 비슷하게 비리 만들어 두었다가

그리기 직전에 OMSet...등으로 적용하면 됨

 

 

어디에 사용할까?

반투명한 물체, Effect, Props

이유는 이전 픽셀과 섞여야 하기 때문

 

얼음 - 반투명

불 - 광원을 중첩하므로 블렌딩이 유용함

어둠의 마법 - 서브 블렌드(감산 혼합)

(현실 세계에는 없는 블렌딩, 반타 블랙와도 다름)

 

그래서 풀과 나뭇잎과 물과 불이 많이 나오는 게임은 성능이 어마무지하게 든다

(Witness가 블렌딩을 극한으로 사용한 예제)

 

 

 

 

SSS

'게임 프로그래밍(학습 내용 정리) > 3D Game Programming' 카테고리의 다른 글

Post Processing  (0) 2022.05.19
깊이 버퍼(Depth Buffer)  (0) 2022.05.18
Normal Mapping  (0) 2022.05.06
Picking  (0) 2022.05.06
Skinning  (0) 2022.04.29