1 분 소요

3D 그래픽스에 대한 기초용어 정리

정점(Vertex)

공간 상의 ‘위치’(position)을 나타내는 것
일반적으로 여러 개가 모여 특정한 형태의 오브젝트를 구성하는 요소

폴리곤(Polygon)

3개의 정점이 모여 만들어진 하나의 면(Face)이자 삼각형

변(Edge)

폴리곤에서 정점과 정점을 연결하는 직선을 변 혹은 모서리라 한다

메시(Mesh)

폴리곤이 최소한 3차원 공간상의 ‘면’을 만들지만
사람들이 일반적으로 생각하는 복잡한 3D 물체를 표현하는데에는 1개의 폴리곤만으론 부족
그렇기에 여러 폴리곤을 모아 하나의 3차원 물체를 만들게 되는데 이것이 메시
=> 폴리곤이 모여 만들어진 3차원 공간 상의 객체라 생각

Image


셰이딩(Shading)

폴리곤에 ‘음영’을 넣는 작업
폴리곤이 좌표값을 가진 정점으로 구성되므로
실제로 화면에 표시(Render)되기 위해서는 셰이딩 과정이 필요
(다양한 셰이딩 방식이 존재
ex : 플랫(flat),고로(gouraud),퐁(phong),광선추적(Raytracing) 등)

기법명 구현법
플랫 면의 법선벡터와 조명벡터로 면의 밝기를 계산
고로 정점의 법선 벡터와 조명벡터로 정점의 밝기 계산
픽셀의 법선벡터와 조명벡터로 픽셀의 밝기 계산

텍스쳐(Texture)

3차원 정점만으로 화면에 물체를 나타내는 것은 많은 제약을 가지기에
물체를 섬세하게 표현하려면 매우 많은 정점이 필요하고
이것은 제한된 메모리를 가진 CPU 시스템에서 큰 문제가 된다
-> 따라서 3차원 물체에 2차원의 ‘이미지’를 입혀 더 다양한 표현을 가능하게 하는 것이 텍스쳐

Image

이런식으로 3차원 정점에 2차원 이미지를 입히는 것을 맵핑(Mapping)한다고 함
3차원 물체에 텍스쳐를 입히는 걸 Texture Mapping 이라 한다


깊이 버퍼 (Z-Buffer)

화면에 그려질 하나하나의 픽셀에 대한 ‘깊이 값’을 보관하는 버퍼

World -> Camera -> Projection 과 같은 ‘좌표 변환’의 과정을 가지는
렌더링 파이프라인에서 최종적으로 공간 상의 모든 정점이
(-1,-1,0)~(1,1,1)로 변환된다

이 때, Z 값을 통해, 화면에 그려질 픽셀을 판단하여
겹치는 물체가 있을 때, 어떤 부분을 그릴지 선택할 수 있다

Image

이러한 판별 외에도
DOF (Depth of Field)나, 모션 블러, 그림자 처리 등의 용도로 응용되어 사용된다


참고

  • 3D 게임 프로그래밍 (개정판)

댓글남기기