9콘 필터 샘플링
반응형
16박스 필터 샘플링은 텍셀 간격이 텍셀 2칸 이었지만 9콘 필터 샘플링은 텍셀 한칸을 간격으로 샘플링 한다.
그럼으로 인해서 얻을 수 있는 이점은 흐려지는 양이 적고 퀄리티도 좋아진다.
그림1 : 텍셀 합성 가중치 값
이 9콘 필터 샘플링에서 재미있는 점은 텍셀로부터 읽어들이는데 가중치를 둔다는 것이다.
가운데 픽셀에서는 100%을 받아 들이고 상하좌우에서는 50%를, 각 모서리로부터는 25%의 가중치를 둔다.
이 샘플링의 합성 텍셀 강도를 높이 그래프로 그리면 중앙이 강하고 주변이 낮은
형태가 나오며 9개의 텍셀을 사용하기 때문에 9와 cone을 붙여 9콘 필터 샘플링이라고 한다.
그림 3 : 샘플링 위치에 따라 읽혀지는 텍셀의 위치.
네개의 샘플링 위치(파란색)이 읽어들이는 텍셀의 위치(빨간색)은 위와 같다.
위 네개의 그림을 겹쳐보면 아래와 같이 된다.
그럼으로 인해서 얻을 수 있는 이점은 흐려지는 양이 적고 퀄리티도 좋아진다.
1 | 2 | 1 |
2 | 4 | 2 |
1 | 2 | 1 |
이 9콘 필터 샘플링에서 재미있는 점은 텍셀로부터 읽어들이는데 가중치를 둔다는 것이다.
가운데 픽셀에서는 100%을 받아 들이고 상하좌우에서는 50%를, 각 모서리로부터는 25%의 가중치를 둔다.
이 샘플링의 합성 텍셀 강도를 높이 그래프로 그리면 중앙이 강하고 주변이 낮은
형태가 나오며 9개의 텍셀을 사용하기 때문에 9와 cone을 붙여 9콘 필터 샘플링이라고 한다.
그림 2 : 샘플링 위치
샘플링 위치가 이렇게 되어 있다고 생각해 보자.
이는 버텍스 셰이더 에서 이렇게 표현 된다.
Out.Tex0 = Tex + float2( 0.0f/WIDTH, 0.0f/HEIGHT);
Out.Tex1 = Tex + float2( 1.0f/WIDTH, 0.0f/HEIGHT);
Out.Tex2 = Tex + float2( 0.0f/WIDTH, 1.0f/HEIGHT);
Out.Tex3 = Tex + float2( 1.0f/WIDTH, 1.0f/HEIGHT);
네개의 샘플링 위치(파란색)이 읽어들이는 텍셀의 위치(빨간색)은 위와 같다.
위 네개의 그림을 겹쳐보면 아래와 같이 된다.
이 텍셀은 "그림 1"에서 본 것과 일치한다.
즉 가운데 있는 텍셀은 4번 중복되어 읽혀지고 이 텍셀(가운데 있는 텍셀)을 기준으로 상하좌우에 있는 텍셀은
2번 중복되며 각 모서리에 있는 텍셀들은 한번 읽혀진다.
중복되어 지는 정도는 빨간색 원의 뚜렷함으로 알 수 있다.
참고 : DirectX 9 셰이더 프로그래밍
제가 잘못 이해하고 있다면 제발 댓글을 달아 주세요 ^^a...
'Study > Graphics ' 카테고리의 다른 글
BRDF (Bidrectional Reflectance Distributing Function) (0) | 2012.12.06 |
---|---|
64박스 필터 샘플링 (0) | 2012.01.30 |
Ambient Aperture Lighting (0) | 2011.07.14 |
빛의 감쇠 계산 (0) | 2011.06.22 |
조명효과 - 램버트 확산 조명 (0) | 2011.05.05 |
TAGS.