DirectX의 텍스쳐 맵핑에 관해서는 이전 포스팅으로 충분히 배웠다. 그렇다면, 만약, 한 폴리곤 내의 맵핑을 2~3개 만들 수는 없을까? 그 것이 바로. MultiTexture를 이용하면된다.
 개념도 간단하고, 바로 예제로 넘어가 보자.


먼저 버텍스 설정이다. 보면, 텍스쳐uv가 2개가 있다. 바로 텍스쳐를 2장 사용할 것이기 때문이다. 저 Flags를 보면 TEX2를 쓰는 것도 같은 이유다. 현재 8장까지는 지원가능하지만, 보통 그렇게 많이는 쓰지않고, 3~4장만 쓴다.


loadTexture에서는 역시 2가지 텍스쳐를 다 로드한다.


랜더의 스테이트 설정 부분이다. 각 스테이지 별로 설정을 따로 해준다. 그리고, 아래쪽의 STAGE2 부분에서는 Modulate를 설정하는 부분이 있는데, 색을 섞을 때, Modulate로 설정하면, 각 픽셀의 색을 곱하고, 그 외에 Add를 선택하면, 더하기 연산으로 픽셀의 색을 정한다.


스테이지 1과 2가 내용이 다른 것을 알 수 있다. 그리고 스테이지 0에는 처음 색은 TEXTURE를 쓰고, 스테이지 1에서는 CURRENT를 쓴 것이 다르다.


그리고, SetTexture에 0번에는 0번 텍스쳐, 1번에는 1번 텍스쳐를 설정하면된다.


그러면 2가지 텍스쳐가 합쳐져서 나오게 된다. 지금 이 것이 Modulate 된 것이고,

 


이 것이 Add된 것이다. 같은 텍스쳐라도 설정에 따라 다르게 표현되는 것이 재밌는 점이다..
Posted by 바람처럼..
|