What is shader?
Game programing/Shader / 2012. 10. 31. 16:06
문득 쉐이더가 무엇인지 정확하게 설명할 수 없다는것을 느끼고 정의를 알아 보고 남긴다.
버텍스 쉐이더( 정점 쉐이더)
- 사용자가 만든 정점들의 리스트를이 그래픽카드를 통해서 화면으로 출력되는 과정중 정점처리를 담당하게 된다.
- 쉐이더를 사용하지 않는 고정 파이프라인을 사용하면 그에 해당하는 정보( 월드, 투영, 뷰 등의 변환 )를 직접 지정하게 되는데
SetTrasform()함수로 디바이스에게 직접 보내주게 된다. 그러므로 쉐이더를 사용하게 되면 그 정보를 따로 쉐이더에게 보내줘야한다.
- 버텍스 쉐이더에서는 정점 위치정보, 색정보 등을 직접 변경하거나 수정할 수 있으며 보통은 픽셀쉐이더에서 사용될 정보를 만들고
정점을 변환하는데 사용된다.
픽셀 쉐이더
- 들어온 정점리스트를 통해 삼각형을 만들고 래스터라이저를 통해서 그 삼각형에 포함된 픽셀 만큼 호출된다.
- 버텍스 쉐이더를 통해서 만들어진 정보들과 사용자가 직접 수정하여 필셀값을 결정할 수 있다.
- 픽셀쉐이더를 사용하면서 너무 많은 텍스쳐에 대한 접근을 하거나 필요하게 되면 그에 따른 대역폭에 대한 문제가 발생한다.
'Game programing > Shader' 카테고리의 다른 글
Deferred Rendering ( 지연렌더링 ) - Edge blur (0) | 2012.11.18 |
---|---|
Deferred Rendering ( 지연렌더링 ) (0) | 2012.11.15 |
Deferred Rendering (0) | 2012.10.22 |
hatching rendering (0) | 2011.05.04 |
Shader -Bump + Specular (0) | 2010.02.16 |