컴퓨터 그래픽스

컴퓨터 그래픽스(, 약칭:CG, )은 컴퓨터를 이용해 실제 세계의 영상을 조작하거나 새로운 영상을 만들어내는 기술을 가리킨다. 하지만 최근에는 일반적으로 3차원 컴퓨터 그래픽스를 컴퓨터 그래픽스로 부르기도 한다.

컴퓨터 그래픽스에는 가상 세계에 구축된 모델로부터, 계산에 의해서, 씬을 시뮬레이션 하는 경우, 실세계의 화상 정보를 가공해 화상을 조작하는 경우, 화상과는 직접 관계가 없는 데이터 등을 가시화하는 경우가 있다.

모양과 색을 수치로 변화하여 디지털로 나타내는 논리적 표현 방법이다. 확대, 축소, 회전 등의 변환이 가능하고 색의 변경이 쉽고, 3차원 공간에서 자유자재로 이동하면서 다각도에서도 볼 수 있다. 광원의 위치에서 물체 각 면의 밝기를 나타낼 수 있고, 표면의 재질감과 투명감 등 다양하고 섬세한 묘사가 가능하다. 이렇듯 시간과 공간을 자유롭게 조작할 수 있다는 점이 강점이다.

컴퓨터 그래픽스의 비예술적인 부분은 컴퓨터 과학의 연구 주제이다.

역사 
컴퓨터 그래픽스는 1961년에 처음으로 등장하였으며 1970년대 후반부터는 매우 빠른 속도로 발전하기 시작하였다. 이후 1982년 제작된 영화 TRON에서는 최초로 CG 기술을 도입하여 제작하였으며, 그 이후 일부 영화들이 특수 효과에 컴퓨터 애니메이션 및 영상 처리 기술을 이용했다. 당시의 기술 수준으로 구성한 장면은 미니어쳐에 의해 구성된 장면보다 훨씬 현실감이 없었기 때문에 주로, 폭발을 강조해 줄 추가적인 시각 효과나 그림 합성, 변형 등에 주로 이용되었다. 그리고 1995년 세계 최초로 3차원 모델링, 3차원 렌더링에 의해 생성된 CG로만 구성된 영화인 《토이 스토리》가 픽사에서 제작되었다. 컴퓨터 게임, 가상 현실에서의 CG 사용 또한 CG 기술 발전에 큰 역할을 했다.

게임, 가상현실의 초창기인 1970년대 후반부터 1990년대 초반까지는 장면 생성에 필요한 모든 계산이 중앙 처리 장치(CPU)를 통해 이루어졌기 때문에 간단한 3차원 영상 및 2차원 영상들이 주로 사용되었지만, 1990년대 중반 이후부터는 그래픽 처리 장치(GPU)가 보편화 되기 시작하면서, 보다 정교하고 현실적인 3차원 영상을 보여줌과 동시에 다양한 효과를 제공할 수 있게 되었다.

하위 분야

계산기하학 

디지털 공간에서 물체를 표현하고 이에 관련된 다양한 연산을 다룬다. 모양을 변형 시키거나, 여러 물체가 참여하는 대한 연산, 질의 등의 계산이 계산기하학에 포함된다.

컴퓨터 애니메이션 

움직이는 영상을 컴퓨터로 제작하는 기법을 다룬다. 3차원 공간에서 움직이는 물체나 사람을 표현하는 기법을 연구하므로 이 분야의 연구결과는 컴퓨터 게임이나 영화 제작에서 많이 응용된다. 실제 배우의 3차원 움직임을 포착하여 컴퓨터로 저장하는 기법인 모션 캡처 또한 이 분야의 연구 대상이다.

물이나 공기 등의 유체의 움직임을 시뮬레이션하는 것 또한 크게 분류하면 이 범주에 포함된다.

렌더링 

렌더링은 그래픽 데이터를 실제 이미지로 나타내는 과정을 연구한다. "사실적 묘사"(Photorealistic)와 "비사실적 묘사"(Non-Photorealistic)로 나누는데, 사실적 묘사 기법 중 Radiosity 기법은 1950년에 알려진 "열-전달"(Heat-Transfer)에 관한 생각을 광자에 도입한 것으로 코넬 대학교 연구진에 의해 1984년에 발표되었다. 이 기법은 계산해야 할 정보가 많아 당시의 컴퓨터로는 상용화하기 힘들었다. 최근의 3차원 장면 생성 프로그램(예: 3ds Max, Maya, Softimage, Rhino 등)은 Radiosity 기법뿐만 아니라 정확한 정반사에 의한 조도 표현을 위한 레이-캐스팅(Ray-Casting) 기법, 부드러운 그림자를 표현하기 위한 그림자 맵핑 기법 등을 함께 사용할 수 있도록 만들어져 있다.

컴퓨터 그래픽은 3차원 물체의 렌더링만을 다루는 것은 아니며, 과거의 유명 화가들의 채색 기법을 표현해 내기도 하는 등 2차원 사진이나 그림의 렌더링 기법 또한 연구한다.

실시간 렌더링 

실시간 렌더링은 3차원 이미지를 빠른 시간에 렌더링하여 사용자의 입력에 즉시 반응하는 애니메이션을 만들어내는 기술이다. 컴퓨터 게임 등 인터랙티브 응용 프로그램에 주로 사용된다. 최근에는 그래픽 처리 장치의 발전으로 그 품질이 나날이 좋아지고 있다.

CG로 제작한 영화나 애니메이션 등은 보다 정교한 이미지를 렌더링하기 위해 실시간 렌더링과는 다른 분야의 기술이 많이 사용되므로, GPU는 별로 사용하지 않는다.

응용 분야 
시뮬레이션 분야에서, 시뮬레이션과 관련된 각종 매개 변수들을 가시화해 주는 용도로 이용된다. 이러한 시뮬레이션으로는 상태의 변화, 유체 안에서의 물체의 운동, 음파의 전파, 객체간 충돌 등이 있다.

영화에서는 실세계에 존재하지 않는 사물이나 사람을 장면에 인위적으로 삽입하거나, 폭발 등 특수 효과로 이용되기도 하며, 현대에는 장면 전체를 CG로 구성한 CG 애니메이션으로도 이용된다.

같이 보기 

 3차원 모델링
 2차원 컴퓨터 그래픽스
 컴퓨터그래픽스운용기능사
 디지털 이미지
 그래픽스 소프트웨어