CGI와 그래픽
· 약 5분
CGI 용어
- 프레임, frame: 연속된 이미지의 한 장면
- 잔상, persistence of vision: 다음 프레임과 적절하게 배합하면 마치 사물이 움직이는 것처럼 보이는 현상
- 트위닝, tweening: 두 프레임 사이의 중간 프레임을 생성하는 기술
- 셀 애니메이션, cel animation: 프레임마다 그림을 그려서 애니메이션을 만드는 기법
- 픽셀, pixel: 화소, 화면을 구성하는 가장 작은 단위
- 가색법, addictive color mixing: 빛의 색을 혼합하는 방법, RGB 색상 모델, 세 가지 모두 최대 명도를 가지면 흰색.
- 감색법, subtractive color mixing: 물체의 색을 혼합하는 방법
- 비트맵, bitmap: 색 데이터들의 바이트 목록, 이 바이트의 집합(블록)을 나타냄
- 해상도, resolution: 이미지(비트맵)의 높이와 너비를 픽셀 단위로 표현한 것
- 화면 버퍼, display buffer: 디지털 화면의 각 픽셀 색을 저장하는 공간
- 화면 좌표, screen coordinate: 화면의 픽셀 위치를 나타내는 좌표계, 일반적으로 왼쪽 상단이 원점
- 모델, model: 3D 객체의 기하학적 표현, 점, 선, 면 등으로 구성됨
- 로컬 좌표, local coordinate: 모델의 좌표계, 모델의 중심을 원점으로 하는 좌표계
- 제어점, control point: 모델의 형태를 정의하는 점, 곡선이나 곡면을 정의하는 데 사용
- 보간, interpolation: 두 점 사이의 값을 계산하는 방법, 선형 보간, 곡선 보간 등, 트위닝 기법에서 사용
- 스케일링, scaling: 모델의 크기를 조정하는 과정, 각 좌표에 특정 숫자를 곱하거나 나눠서 구현
- 포지셔닝, positioning: 모델의 위치를 조정하는 과정, 각 좌표에 특정 값을 더하거나 빼서 구현
- 레스터라이즈, rasterize: 벡터 그래픽을 픽셀로 변환하는 과정, 모델의 각 점을 화면 좌표로 변환
- 톱니바퀴, jaggies: 레스터라이즈 과정에서 발생하는 계단 현상, 픽셀 단위로 표현되기 때문에 발생
- 에일리어싱, aliasing: 연속적인 모델과 비연속적인 비트맵 사이에 발생하는 불일치
- 안티에일리어싱, anti-aliasing: 톱니바퀴 현상을 줄이기 위한 기술, 주변 픽셀의 색을 평균내어 부드러운 경계를 만듦 (흰색 바탕의 경우 겹치는 픽셀에 회색 추가)
- 알파 수준, alpha level: 각 픽셀이 모델에 겹치는 정도에 따라 투명도 조정
- 알파 채널, alpha channel: 비트맵에 있는 모든 픽셀의 알파 수준, 비트맵은 모델에 의해 겹쳐지는 픽셀을 색으로 표현한 것이고 알파 채널은 각 픽셀의 투명도를 표현한 것
- 렌더링, rendering: 모델을 최종 이미지로 바꾸는 작업
- 렌더러, renderer: 렌더링을 수행하는 소프트웨어
- 영화수준 렌더링, movie-quality rendering: 고품질 렌더링, 많은 시간과 계산 필요
- 월드 좌표, world coordinate: 3D 공간에서 모델의 위치를 나타내는 좌표계, 로컬 좌표를 월드 좌표로 변환하는 과정이 필요
- 뷰포인트, viewpoint: 카메라의 위치와 방향, 3D 공간에서 2D 화면으로 모델을 투영하는 데 사용
- 투영, projection: 3D 모델을 2D 화면으로 변환하는 과정
- 거리 효과, distance effect: 3D 모델의 깊이를 표현하기 위한 기술, 원근법을 사용하여 멀리 있는 객체는 작게, 가까이 있는 객체는 크게 표현
- 확산 효과, diffusion effect: 빛의 입사각에 따라 밝기가 달라지는 현상, 빛이 표면을 비추는 각도에 따라 달라지지만 뷰포인트에 따라선 달라지지 않음.
- 거울 반사, mirror reflection: 빛의 입사각이 반사각과 일치하는 지점에 나타남, 빛 반사는 빛이 표면에 비치는 각도와 시점 각도에 달라지고, 뷰포인트에 따라 다른 위치에 나타남
- 직접 조명, direct lighting: 빛이 광원으로부터 나와 물체의 표면을 직접 비추는 것
- 간접 조명, indirect lighting: 빛이 다른 물체에 반사되어 물체의 표면을 비추는 것
- 전역 조명 모델, global illumination model: 간접 조명을 포함한 조명 모델, 물체의 표면이 다른 물체에 반사된 빛을 고려하여 조명을 계산
- 감색법, subtractive color: 색이 섞이면 어두운 색조가 되는 것, CMY 색상 모델, 세 가지 모두 최대 명도를 가지면 검은색
- 광선 추적법, ray tracing: 빛 추적시 비효율을 줄이기 위해 렌더러가 뷰포인트부터 시작해서 빛을 반대로 추적하는 방법
- 뷰포인트부터 시작되는 가상의 선이 픽셀 격자의 가운데를 지나가도록 설정
- 장면의 모든 모델의 기하학적 구조가 가상의 선과 교차하는지 확인
- 뷰포인트로부터 가장 가까이 있는 교차점은 보이는 표면을 나타내며 이 표면의 색으로 픽셀을 채움
- 해당 보이는 점으로부터 시작해서 더 많은 선을 그리고 어떤 광선이 직접 또는 간접적으로 이동해서 빛의 출발점에서 끝나는지를 찾아냄
- 거울반사를 확인하기 위해 동일 각도로 튕기는 광선을 추적, 확산 반사를 위해 임의 각도로 여러 번 튕기는 광선을 추적
- 그림자, shadow: 뷰포인트를 기준으로 광선을 추적했을 때 광선이 닿지 않는 부분
- 전체 장면 에일리어싱 방지, full-scene anti-aliasing: 전체 장면의 에일리어싱을 방지하기 위한 기술, 광선을 픽셀 중앙으로만 보내지 않고, 픽셀 나머지 공간으로도 보내어 각 픽셀의 최종 색을 중앙 광선과 모서리 부분의 광선을 섞어서 결정
- 디지털합성, digital compositing: 여러 이미지를 합성하여 최종 이미지를 만드는 기술, 이미지를 프레임단위로 조합하여 프레임마다 알파를 적용해서 윤곽과 배경을 자연스럽게 합성
- 디졸브, dissolve: 다음 장면으로 넘어갈 때 이전 장면과 다음 장면을 겹쳐서 자연스럽게 장면을 바꾸는 효과, 자막처럼 화면 위에 글자가 표시되는 것도 디졸브
그래픽 용어
모든 것은 직선이며 곡선은 없다.
- 폴리곤, polygon: 다각형, 3D 모델의 기본 단위, 삼각형으로 구성
- 시야, field of view: 눈에서 멀어질 수록 작아지는 시각적 효과, 가상 월드의 뷰포인트와 투영 화면 사이의 거리를 조정하여 시야를 조정 가능
- 화가 알고리즘, painter algorithm: 장면에 있는 모든 삼각형에 뷰포인트로부터의 거리를 기준으로 순서를 부여하고, 위치 상 우선순위가 정해지면 뒤에서부터 앞으로 그리는 방식
- 깊이 버퍼, depth buffer: 각 필셀의 깊이 즉 뷰포인트로부터 떨어진 거리를 저장하는 공간, 이를 통해 렌더러는 장면 상에 있는 모든 물체의 순서를 자유롭게 변경 가능
- 픽셀을 렌더링하기 전 렌더러가 해당 픽셀의 깊이 버퍼를 확인
- 깊이 버퍼가 새로운 픽셀 (화면 버퍼에 있는 픽셀)의 앞이나 뒤인지를 확인
- 새로운 픽셀이 화면 버퍼 상에서 기준 픽셀의 뒤에 있다면 렌더러는 건너뛰고 다음 픽셀 처리
- 앞에 있다면 화면 버퍼의 픽셀을 새로운 픽셀로 교체하고 깊이 버퍼 업데이트
- 깊이 버퍼를 통해 중복된 작업을 방지하고 투영을 효율적으로 처리, 모델의 렌더링 순서를 자유롭게 조절할 수 있으므로 그래픽 프로세서 병렬 처리 가능
- 픽셀 셰이딩, pixel shading: 각 픽셀의 색을 계산하는 과정, 조명, 재질, 텍스처 등을 고려하여 최종 색상을 결정
- 삼각형과 수직을 이루는 수직선을 다른 방향으로 휘어 평면 삼각형의 빛 반사를 제어하여 곡면 구현
- 그림자 맵, shadow map: 빛의 시작점을 뷰포인트로 해서 화면 버퍼 없이 깊이 버퍼만 계산한 이미지
- 그림자 수준, shadow quality: 그림자 맵의 해상도, 해상도가 높을수록 그림자가 더 선명하게 표현