2025.03.18 - [Graphics] - [Graphics] vertex, face, normal란 무엇인가?
[Graphics] vertex, face, normal란 무엇인가?
오늘 다루어볼 주제는 Graphics에서 3D 오브젝트의 각 요소들에 대해서 다루어 보겠습니다.이 주제를 선정하게된 계기타 부서 사람들과 협업을 해보면서 Graphic을 잘 모르는 사람들에게 vertex, face, n
develophyun.tistory.com
위 글에서 보듯이 Vertex, Face, Mesh, Normal에 대해 이야기를 다룬 적이 있는데요. Normal에 따른 Light의 변화에 대해 조금 더 자세하게 알기 위해 글을 다시 정리하게 되었습니다.
여러 Light Model에 대한 정보, 글을 통해 Light에 대한 기본 개념을 이해하기위해 작성한 것으로 많은 의견 주시면 반영하도록 하겠습니다.
Normal이란?
하나의 Vertex(정점), Mesh, Face 등이 바라보고 있는 방향을 의미합니다. 이 바라보고 있는 방향에 따라 빛이 반사되는 양이 다르고, Normal에 따라 각 Vertex, Mesh, Face에 비추어지는 빛의 양이 달라진다고 정의합니다.
여기서 '빛의 양이 달라진다' 라는 키워드에 집중해 보면서 이 글을 시작하겠습니다.
Normal이 달라짐에 따라 빛의 세기가 달라진다 하면 항상 따라오는 Light Model이 있습니다.
바로 램버트 조명 모델(Lambertian reflection Model)이 있습니다.
Lambertian reflection Model
관찰자의 시야각에 상관없이 Vertex, Mesh에서 보여지는 빛의 세기는 동일하며, 빛이 들어오는 방향 또는, 해당 Vertex, Mesh의 Normal에 따라 빛의 세기가 달라지는 반사 모델입니다.
현실 세계의 reflection Model도 이와 동일하다고 볼 수있습니다.
ex) 어떤 한 지점을 비추고있는 가로등이 있다고 가정할 때 이를 어느 방향에서 보아도 그 빛이 바닥에 반사되는 세기는 변하지 않음.
이제부터 빛이 들어오는 방향과, 면이 보고 있는 방향에 따라 왜 빛의 세기가 달라지는지 확인해 보겠습니다.
아래 그림은 컴퓨터 그래픽에서 Light의 확산 방식에 대한 간단한 이미지입니다.
- 빛이 어떤 면에 들어오게 되면, Lambertian reflection에 의해 모든 관찰자 시각에 따른 빛의 세기가 동일하기 때문에 더 많은 방향으로 빛이 반사됩니다.
- 이때 들어오는 빛의 방향과 면이 바라보는 방향을 내적 하게 되면 사이각 θ 에 대한 Cos θ 값이 나오게 됩니다.
- 이 Cos θ의 값이 -1 ~ 1 사이의 값을 가지게 됩니다.
- 이 때 Cos θ 값이 음수라면 해당 면이 빛의 영향을 아예 못 받는 위치를 보고 있어, 빛을 받는 세기가 0이 됩니다.
- 이 Cos θ값이 1에 가까워질수록 면이 보는 방향으로부터 빛이 들어오고 있어, 더 좁은 영역으로 빛이 diffuse reflection 되기 때문에 빛의 세기는 커지고, 빛의 영향을 받는 영역(면)이 좁아지게 되는 것입니다.
따라서 Light의 방향이 고정되어 있을 때 오브젝트 구성하는 면, 정점의 Normal에 따라
두 Vector(빛의 방향, Normal)를 구성하는 θ 사잇각이 달라 Viewer가 보았을 때 빛이 반사되는 영역 및, 빛의 세기(Intensity)가 변화하게 됩니다.
'Graphics' 카테고리의 다른 글
[Graphics] MVP(Model View Projection Matrix) (1) | 2025.03.31 |
---|---|
[Graphics] vertex, face, normal란 무엇인가? (0) | 2025.03.18 |