쉐이더의 종류

Vertex Shader (버텍스 쉐이더, 정점 쉐이더)
 
- 물체의 정점 정보에 수학적인 연산을 함으로써 물체에 특별한 효과를 주는데 사용되는 쉐이더.
- 정점은 3차원의 위치를 나타내는 x, y, z좌표나 색상, 텍스쳐, 조명 정보 등의 정보를 가짐.
- 버텍스 쉐이더는 정점의 정보값들을 변화시켜서 물체를 특별한 위치로 옮기거나 텍스쳐를 바꾸거나 색상을 바꾸는 등의    작업을 수행.
- 기존의 정점을 삭제하거나 새로운 정점을 추가하는 등의 작업은 불가능.

 
 

Pixel Shader (픽셀 쉐이더, PS)
 
- 렌더링 될 각각의 픽셀들의 색을 계산하는 방식의 쉐이더.
- 최종적으로 픽셀이 어떻게 보일지를 결정 함.
- 언제나 같은 색을 출력하는 간단한 일로부터 텍스쳐로부터 색을 읽어 오거나 빛을 적용하는 것, 범프 맵핑, 그림자, 반사광, 투명처리 등 복잡한 현상 등을 수행하는 것이 가능.
 
- 각각의 픽셀들이 렌더링될 때 수행되므로 다른 픽셀들과 아무런 연관이 없음.
- 오직 픽셀만을 연산하므로 주변의 픽셀 혹은 그리는 도형에 대한 정보를 알 수 없음.
- 매우 복잡한 효과를 생성하는 것은 불가능.
- 픽셀의 색 이외에 깊이(Z버퍼)나 다른색(다른 렌더 목표물)의 출력이 가능.

 
 

Geometry Shader (지오메트리 쉐이더)
 
- 버텍스 쉐이더가 수행된 후, 수행 됨.
- 버텍스 쉐이더를 거쳐온 도형 정보를 입력받아 출력 함.
  정점 3개가 지오메트리 쉐이더에 입력되면 쉐이더는 정점을 모두 없앨 수도 있고 더 많은 도형을 만들어 내보내는 것도 가능.
- 지오메트리 쉐이더를 지나간 도형 정보는 레스터라이즈를 거친 뒤 픽셀 쉐이더를 통과하게 됨.
 
- 버텍스 쉐이더에서 할 수 없는 점이나, 선, 삼각형 등의 도형 생성 가능. 
 
- 지오메트리 쉐이더는 테셀레이션이나 그림자 효과, 큐브 맵을 한번의 처리로 렌더링 하는데 주로 사용 됨.



이 글을 공유하기

댓글

Designed by JB FACTORY