쉐이더(Shader)는 픽셀의 색을 정하는 함수를 말한다.
그치만 조금 더 아트 관점의 시각을 첨가해서 말하면, 쉐이더(Shader)는 오브젝트의 음영과 색상을 계산하여 다양한 재질을 표현하는 것을 말한다.
랜더링은 다음과 같은 순서로 이루어진다.
버텍스는 그래픽스에서 정보를 가진 점들을 말한다.
버텍스는 위치, 인덱스, UV, Normal, color 등의 정보를 가지고 있다.
GPU는 이 버텍스 정보들을 받아, 버텍스 쉐이더를 통해 좌표 변환을 시켜준다.
처음에 버텍스 정보들은 각각의 Object가 중심인 Object 공간에서 Local 위치 좌표를 가지고 있다.
이를 (0, 0, 0) 좌표가 중심인 World 좌표로 변환을 시킨다. 유니티에서는 이 World 좌표를 Model 이라고 부른다.
여기서 World 좌표를 카메라 중심의 좌표로 변환한다. 이 때 이 행렬을 view 행렬이라고 한다. 또한 이를 Orthographic Projection 이라 부르기도 한다.
여기서 원근감을 추가하고 싶으면 Projection 행렬을 곱해준다.
버텍스 정보에 modelviewprojection matrix 를 곱해주는게 방금까지의 과정이다.
3D 오브젝트를 모니터에 보이도록 픽셀화하는 것.
사진을 찍는 순간 3D 오브젝트가 2D 이미지가 되는 것을 생각하면 된다.
조명, 텍스처, 그림자와 각종 특수효과 등을 연산한다.
(출처 : 테크니컬 아티스트를 위한 유니티 쉐이더 스타트업, 정종필 저, 비엘북스)
벡터공간(Vector Space)과 어파인공간(Affine Space) (0) | 2024.01.19 |
---|---|
유니티 아키텍쳐 (0) | 2024.01.18 |
[유니티 꿀팁] 유니티가 에디터랑 연결이 안 될때 해결방법 (0) | 2021.10.23 |
Unity FPS 표시 (0) | 2021.10.08 |
Mac OS X 에서 Unity Plugins 빌드하기 (0) | 2021.03.18 |