본문으로 이동

3차원 컴퓨터 그래픽스

위키백과, 우리 모두의 백과사전.

3D 컴퓨터 그래픽(3D computer graphics, three-dimensional computer graphics)은 2차원 컴퓨터 그래픽스와 달리, 컴퓨터에 저장된 모델의 각 점의 위치를 높이, , 깊이 3축의 공간 좌표를 활용하는 기하학적 데이터를 이용해 3차원적으로 표현한 뒤에 2차원적 결과물로 처리, 출력하는 컴퓨터 그래픽스이다.

이러한 차이점에도 불구하고 3차원 그래픽은, 와이어-프레임 모델의 경우엔 2차원 벡터 그래픽과, 최종 출력물의 경우엔 2차원 래스터 그래픽과 공통된 알고리즘이 많다. 컴퓨터 그래픽 소프트웨어에서 이 두 개념의 차이점은 때때로 구별이 모호해지기도 하는데, 그 예로 2차원 프로그램이 조명 효과 같은 결과물을 얻기 위해 3차원 계산법을 사용한다거나 3차원 프로그램이 반대로 2차원 기술을 쓸 수 있는 경우가 있다.

3차원 컴퓨터 그래픽은 때때로 3차원 모델링을 가리키기도 한다. 출력물과는 별개로, 모델은 그래픽 데이터 파일에 포함되어 있다. 하지만, 이들은 분명 다른 개념이다. 3차원 모델은 3차원적인 물체의 수학적 표현이고, 모델은 시각적으로 나타내지기 전에는 기술적으로 그래픽이 아니다. 3차원 프린터 덕분에, 3차원 모델은 가상 공간에만 갇혀있지 않게 됐다. 모델은 3차원 렌더링이라는 과정을 통해 2차원적인 그림으로 나타날 수 있고, 혹은 보이지 않는 컴퓨터 시뮬레이션 또는 계산에 쓰이기도 한다. 에서 사용되기도 하였다.

역사

[편집]

1960년대, 윌리엄 페터보잉사에서의 작업을 설명하기 위해 컴퓨터 그래픽이라는 용어를 만들어낸 것으로 알려져 있다.[1] 이와 함께 최초의 컴퓨터 애니메이션으로 거론되는 것은 인간의 얼굴과 손의 움직임이 포함된 A Computer Animated Hand (1972) 으로, 유타 대학교에드윈 캐트멀프레드 파크가 제작하였다. 이 애니메이션은 Futureworld 에서 사용되기도 하였다.

개관

[편집]

3차원 컴퓨터 그래픽의 제작 과정은 기본적으로 세 단계로 나뉜다.

  1. 3차원 모델링 : 컴퓨터에서 물체의 형태를 구성하는 과정
  2. 레이아웃과 애니메이션 : 물체를 작업 공간에 배치하고 그것의 움직임을 설정하는 과정.
  3. 3차원 렌더링 : 만들어진 장면을 컴퓨터가 조명의 배치와 면의 특성, 기타 다른 설정들을 바탕으로 계산하여 그림을 생성하는 과정

모델링

[편집]
오크바의 모스크솔리드웍스를 이용하여 구성한 3D 모델.

여기서 모델은 물체의 형태가 어떻게 이루어져 있는지를 알려준다. 3D 모델이 만들어지는데는 보통 두가지 과정을 따르는데, 첫째는 예술가나 기술자가 3D 모델링 도구를 이용하여 만드는 것이고, 둘째는 실존하는 물체를 스캔하여 컴퓨터에 모델을 입력하는 것이다. 모델들은 또한 일련의 연산이나 물리적 시뮬레이션으로부터 만들어지기도 한다. 기본적으로 3D 모델은 그 형태를 결정하고 폴리곤(다각형)을 형성하는 버텍스라고 하는 점들로 구성되어있다. 모델로서의 전반적인 완성도와 애니메이션을 위한 형태적 안정성은 폴리곤의 구조가 얼마나 잘 짜여 있는가에 의존한다.

레이아웃과 애니메이션

[편집]

만들어진 물체(모델)들은 렌더링하여 그림으로 나타내기 전에 작업 공간(또는 scene→장면)에 적절히 배치되어야 한다. 이는 위치나 크기 등, 물체들 사이의 공간적 관계를 결정한다. 애니메이션은 물체가 나타내는 순간 순간의 특징, 즉 시간이 흐름에 따라 어떻게 움직이고 어떤 형태로 변화하는가를 뜻한다. 대표적인 방법으로는 키 프레임 방식과 역기구학, 모션 캡처를 이용한 방식이 있으며, 이러한 기술들은 종종 함께 쓰인다. 모델링과 마찬가지로, 물리적 시뮬레이션 역시 물체의 동작을 특징짓는다.

렌더링

[편집]

렌더링은 준비한 모델을 그림으로 변환하는 것으로서, 빛의 흐름을 계산하여 실사 이미지를 얻거나, 반대로 특정 기술을 이용한 반실사 렌더링(NPR, Non-photorealistic rendering)으로 결과물을 얻는 과정이다. 실사 렌더링을 구현하는 기본 연산 과정에는 빛의 운반(Transport, 한 곳에서 다른 곳으로 얼마나 많은 양의 빛이 전달되는가)과 빛의 분산(Scattering, 표면이 빛에 어떻게 반응하는가)이 있다. 이 과정은 보통 3D 컴퓨터 그래픽 소프트웨어3D 그래픽 API를 사용하여 진행된다. 또한 렌더링에서 장면을 알맞은 형태의 결과물로 변환하는 것에는 3차원의 이미지를 2차원 평면에 나타내는 3D 투영법도 포함된다.

왼쪽: 블렌더야파레이 소프트웨어를 사용하여 광선 추적앰비언트 오클루전을 적용한 3D 렌더링.

가운데: 플랫셰이딩으로 표현된 됭케르크급 전함의 3D 모델.

오른쪽: 3D 렌더링 과정에서, 원하는 시각 효과를 얻기 위해 여러 가지 각기 다른 속성들을 적용할 수 있고, 그만큼 많은 수의 "광선" 반사를 계산하게 된다. 코발트로 렌더.

같이 보기

[편집]

각주

[편집]
  1. “An Historical Timeline of Computer Graphics and Animation” (영어). 2008년 3월 10일에 원본 문서에서 보존된 문서. 2012년 1월 29일에 확인함.