칼라키를 사용한 투명 구현

일반적으로 투명처리는 알파 블렌딩, 알파 테스트, 재질값을 조정하여 오브젝트 전체를 투명처리 하는 방법들이 존재한다.
이 외에도 한가지 방법이 있다. 텍스쳐 로딩시 칼라키를 지정하면 그 칼라는 그리지 않는다.

아래 왼쪽 그림은 칼라키 처리하지 않은 그림이고 오른쪽은 칼라키 0xff000000를 사용해 투명처리한 결과이다.

                    

 칼라키를 사용하기 위해서는 D3DXCreateTextureFromFile() 함수 대신 D3DXCreateTextureFromFileEx()를 사용한다.

 

11번째 파라메터를 보면 0xff000000 값(검은 불투명)이 칼라키로 들어가 있다. 칼라키와 일치하는 칼라는 그리지 않는다. 칼라키를 지정할 때, 알파값도 지정해야 된다는걸 잊지 말아야 한다.

칼라키를 사용하기 위해서는 알파블랜딩을 설정할 때와 똑같은 렌드 상태를 설정한다.

마지막 라인은 텍스쳐로부터 알파값은 텍스쳐로 결정한다.