이번에는 Geometry Processing의 첫 번째 단계인 Vertex Shading에 대해 알아보자. Vertex Shading은 Application 단계에서 준비된 Local 좌표계의 Object 정점 정보를 Clip 좌표계로 변환하는 역할을 한다. 보통 vertex shader를 통해 이 단계를 구현한다.
Vertex Shading 과정에서 보통 Model-View-Projection (MVP) Matrix 변환을 적용하며, 각 행렬의 역할은 다음과 같다:
벡터(특히 Normal Vector)의 변환에는 단순히 MVP 변환을 사용하는 것이 아니라, Model-View-Projection 행렬의 역행렬의 전치(Inverse Transpose)를 적용해야 한다.
이 행렬은 M이 MVP 행렬일 때 다음과 같이 정의된다:

Vertex Shading 단계에서 변환되는 정점 정보들은 다음과 같다:
Vertex Shading에서는 정점 속성에 애니메이션이나 물리적 효과를 적용할 수도 있다. 대표적인 예시는 다음과 같다:
이 외에도 다양한 물리적 효과를 Vertex Shader 단계에서 적용할 수 있다.
위 과정들을 통해 변환된 정점 정보들은 다음 단계로 전달된다. Vertex Shading은 정점의 위치, 법선, 텍스처 좌표, 그리고 기타 필요한 정보를 Clip 좌표계로 변환하여 Geometry Processing의 후속 작업이 가능하도록 준비하는 핵심 단계이다.
| Geometry Processing - Screen Mapping (0) | 2024.11.29 |
|---|---|
| Geometry Processing - Clipping (0) | 2024.11.29 |
| Geometry Processing - Geometry Shading (1) | 2024.11.29 |
| Geometry Processing - Tesselation (0) | 2024.11.29 |
| Graphics Pipeline 개요 (0) | 2024.11.29 |