KoreanFoodie's Study

[OpenGL ES] 1강 : 그래픽스 개론, 모델링, 리깅, 애니메이션, 렌더링 본문

Game Dev/OpenGL ES

[OpenGL ES] 1강 : 그래픽스 개론, 모델링, 리깅, 애니메이션, 렌더링

GoldGiver 2023. 4. 11. 00:08

이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다.

요약 :

1. 그래픽스 작업 과정은 모델링 -> 리깅 -> 애니메이션 -> 렌더링 -> 포스트 프로세싱으로 나누어 볼 수 있다.

2. 실시간 그래픽스에서는 애니메이션 재생, 렌더링, 포스트 프로세싱을 처리한다.

3. 게임엔진은 그래픽스 API 를 사용하는데, 그래픽스 API 는 GPU 를 가동하는데 필요한 소프트웨어 인터페이스라고 생각하면 된다!

그래픽스 개론

컴퓨터 그래픽스의 연산은 오프라인과 런타임으로 나뉘는데, modeling 과 rigging, animation 처리는 그래픽 아티스트들이 오프라인에서, rendering 과 post-processing 은 컴퓨터 프로그램이 런타임에 연산한다. 물론 animation 재생도 런타임에 동작한다.

 

모델은 오브젝트의 표상이며, 일반적으로 폴리곤 메시로 이루어져 있다. 이 폴리곤 메시들은 가장 작은 단위인 삼각형인 경우가 일반적이다.

모델링은 텍스쳐를 포함하는데, 텍스쳐는 이미지의 속성을 의미한다고 생각해도 된다.

 

그래픽 디자이너는 rigging 을 통해 특정 스켈레톤이 움직였을 때 플레이어의 폴리곤 메시가 어떻게 변할지를 정의한다.

 

그래픽 아티스트는 스켈레톤들이 움직이는 씬을 시퀀스로 만들어 놓고, 런타임에 이 스켈레톤들이 움직이면서 매 프레임마다 폴리곤 메시가 움직이게 된다. 이러한 애니메이션을 만드는데 주로 사용하는 프로그램으로는 Autodesk 3ds 나 마야가 있다.

 

렌더링은 3D 씬으로부터 2D 이미지를 만들어내는 과정이다. 실제와 같은 렌더링을 위해서는 라이팅과 텍스쳐링(Fragment Shader 가 담당함)이 필수적이며, 섀도잉도 필요하다(강의 최후반부에 다룰 것이다).

 

선택사항이긴 하지만, post-processing 작업이 때론 필요하기도 하다. 위처럼, 야구 선수가 배트를 빠르게 움직이는 경우, 배트에 모션 블러를 주어 배트의 속도감을 표현하면 더 사실적인 렌더링이 가능할 것이다.

 

모델링과 리깅, 그리고 애니메이션 생성은 오프라인에서 이루어지지만, 애니메이션 재생과 렌더링, 후처리 작업은 런타임에 이루어 진다.

게임 엔진은 일반적으로 Direct3D 나 OpenGL 같은 그래픽스 API 위에서 돌아간다(OpenGL ES 는 Embedded System 을 위한 OpenGL 임, Khronos 등이 있다). 이러한 그래픽스 API 는 GPU 를 가동하는데 필요한 Software Interface 라고 이해하면 된다!

Comments