정점 셰이더에서는 되는데 픽셀 셰이더에서는 안되는 것은 폴리곤의 형태를 바꾸는 것이다.
1. 픽셀 셰이더에서는 주어진 픽셀에 대한 색을 계산하는 것만 가능하므로, 픽셀의 위치를 움직일 수 없다.
2. 정점 셰이더에서는 원하는 위치로 정점을 움직일 수 있고, 포그 색도 정점 셰이더에서 결정한다.
3. 정점 셰이더에서는 입력 데이터로 폴리곤의 정점 데이터가 들어 온다.
예를 들어, 로컬 좌표 값이나 법선 벡터, 정점 색이 된다. 픽셀 셰이더에서는 정점 셰이더로부터 건네 받은 색이 적당하게 보간되어 받아 진다. 정점 셰이더의 출력 데이터는 투영 공간에서의 좌표 값, 픽셀 셰이더에서는 픽셀의 색 등이 된다. 덧붙여 HLSL에서는 입력 레지스터나 출력 레지스터에 대해 구조체 형태로 자유롭게 이름을 붙일 수 있다.
* 정점 셰이더도 픽셀 셰이더도 하는 일이 크게 다르지 않다. 기본적으로, 입력 레지스터에 데이터를 받아, 산술 연산 유닛을 사용해 입력 데이터를 가공, 출력 레지스터에 출력한다.
버텍스 셰이더는 그래픽 카드의 GPU에서 실행되는 프로그램이며 고정 기능 파이프
라인의 변환과 조명 단계 를 대체하는 역할을 담당한다(하드웨어에서 버텍스 셰이더
를 지원하지는 경우에는 Direct3D 런타임에서 소프트웨어로 애뮬레이트하므로
100퍼센트 정확한 정의는 아니다)
픽셀 셰이더는 각 픽셀의 레스터라이즈 과정을 위해 그래픽 카드의 GPU에서 실행되
는 프로그램으로(버텍스 셰이더와는 달리 Direct3 는 소프트웨어적으로 픽셀 셰이더
의 기능을 에뮬레이트 하지 않는다), 고정 기능 파이프라인의 멀티 텍스처링 단계를
대체하며, 각각의 픽셀을 직접 처리하고 픽셀의 텍스쳐 좌표에 접근하는 능력을 제공
한다. 픽셀과 텍스처 좌표에 대한 직접적인 접근은 멀티 텍스처링이나 픽셀 당 조명
,필드 깊이, 구름 시뮬레이션, 불 시뮬레이션, 그리고 복잡한 그림자 테크닉과 같
은 특수효과를 가능하게 해준다.
https://codeonwort.tistory.com/233
[Marco Scabia] 03 정점 셰이더와 픽셀 셰이더
원문 http://www.adobe.com/devnet/flashplayer/articles/vertex-fragment-shaders.html 이 글에서는 셰이더를 소개합니다. 셰이더는 Stage3D 렌더링 파이프라인의 심장입니다. 여러분은 정점 셰이더와 픽셀 셰이더가 무
codeonwort.tistory.com
'게임개발 > 스터디' 카테고리의 다른 글
[스터디] Physics2D.Raycast (0) | 2024.06.24 |
---|---|
[스터디] 유니티 LineRenderer (0) | 2024.06.23 |
[스터디] DirectX9의 메모리 풀 (0) | 2024.06.20 |
[스터디] Unity) Android SDK Build-tools component is not found (0) | 2024.06.19 |
[스터디] 교착상태란? (0) | 2024.06.18 |