Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프로그래밍
- Direct3D Init
- C언어
- UE4
- 다이렉트X 튜토리얼
- View
- swapchain
- 게임수학
- GPU
- RenderTargetView
- vertex
- 코딩
- Input Assembler
- c
- 다이렉트X
- engine
- DirectX
- 다이렉트 초기화
- DESC
- CommandList
- Direct3D
- C++
- CPU
- 전처리문
- 동기화
- DirectX12
- 다중표본화
- Direct Init
- DirectXTK
- 세팅
Archives
- Today
- Total
비타Cpp
다중 표본화의 이론 본문
모니터의 픽셀들이 무한히 작지는 않기 때문에, 모니터에 임의의 선을 완벽하게 표현할 수는 없다. 흔히 '계단현상'이라고 하는 앨리어싱(Aliasing) 효과가 아래의 그림이다.
선을 픽셀들의 배열로 '근사'하다 보면 이런 현상이 생긴다. 삼각형의 변에서도 이와 비슷한 앨리어싱 효과가 나타난다.
이러한 계단현상을 바로잡을 수 있는 기법이 안티앨리어싱(Anti-Aliasing)기법이다. 이러한 기법의 하나가 초과 표본화(Supersampling)이다. 초과 표본화에서는 후면 버퍼와 깊이 버퍼를 화면 해상도보다 4배(가로, 세로 두 배씩) 크게 잡고, 3차원 장면을 4배 크기의 해상도에서 후면 버퍼에 렌더링 한다. 이미지를 화면에 제시할 때가 되면 후면 버퍼를 원래 크기의 버퍼로 환원(Resolving)한다. 하향 표본화(Downsampling)이라고 부르는 이 환원 공정은 4픽셀 블록의 네 색상의 평균을 그 블록에 해당하는 픽셀의 최종 색상으로 사용한다. 본질적으로, 초과 표본화는 화면 해상도를 소프트웨어에서 증가하는 것이라 할 수 있다.
초과 표본화는 픽셀 처리량과 메모리 소비량이 네 배라서 비용이 높다. Direct3D는 다중표본화(Multisampling)라는 절충적인 앨리어싱 제거 기법을 지원한다. 다중 표본화는 일부 계산 결과를 부분 픽셀(subpixel)들 사이에서 공유하기 때문에 초과 표본 효과보다 비용이 낮다.
'DirectX12 > 메모' 카테고리의 다른 글
상주성(Residency) (0) | 2021.07.26 |
---|---|
기능 지원 점검(CheckFeatureSupport) (0) | 2021.07.26 |
Resource & Descriptor(자원과 서술자) (0) | 2021.07.18 |
깊이 버퍼링(Depth Buffer) (0) | 2021.07.09 |
SwapChain 과 페이지 전환 (0) | 2021.07.09 |
Comments