본문 바로가기

프로그래밍/공부관련

SetSamplerState

텍스쳐는 스크린 좌표에서 삼각형에 입혀 진다.

일반적으로 텍스쳐 삼각형과 스크린 삼각형의 크기는 서로 다른 경우가 많으며

이 때 텍스쳐 삼각형이 스크린 삼각형보다 작은 경우

텍스쳐 삼각형을 확대하여 크기를 맞추고,

텍스쳐 삼각형이 더 큰경우에는 텍스쳐 삼각형을 축소한다.

이 두가지 경우 모두 얼마간의 왜곡이 발생하는데,

필터링을 통해 이러한 왜곡현상을 줄이고,

부드럽게 이미지를 만들어 내기 위해 SetSamplerState를 이용 할 수 있다.

 

ex ) SetSamplerState(0,                                // 0 번 텍스쳐 스테이지

                              D3DSAMP_MAGFILTER, // 확대 필터 사용

                              D3DTEXF_LINEAR          // 선형 필터링 사용

                               )

 

ARG1의 텍스쳐 스테이지는 0번 부터 7번까지 총 8개 이용이 가능하다.

필터링 종류

- 근접점 샘플링 (Nearest point sampling) : default 필터링 방식이며 가장 떨어지는 품질을

                       만들어 내지만 대신 속도가 가장 빠르다.

         -> D3DTEXF_POINT

- 선형 필터링 (Linear filtering) : 비교적 높은 품질을 만들어 낸다. 성능에 비해 속도도

                      빠른편이다.

         -> D3DTEXF_LINEAR

- 비등방성 필터링 (Anisotropic filtering) : 가장 높은 품질을 만들어 내지만, 속도는 가장

                      느리다.

         -> D3DTEXF_ANISOTROPIC