이번에는 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 |