예지의 테크 로그포스 (Yeji's Tech Log Force)
[Graphics Study] 컴퓨터 그래픽스 본문
고려대학교 컴퓨터학과 한정현 교수님의 강의를 듣고 나름대로 정리를 해보려고 한다.
https://www.youtube.com/watch?v=Jvz0XPSRbx4&list=PLYEC1V9tJOl03WLDoUEKbiYW_Xt4W6LTl&index=1
1. 3D Computer Graphics
3차원 물체를 입력 받아 2차원 영상(Frame)으로 출력.
프레임을 얼마나 빨리 만드느냐에 따라 실시간 그래픽, 비실시간 그래픽으로 나뉜다.
- 실시간 그래픽: Game, AR/VR, UIs. 초당 30frame이상
- 비실시간 그래픽: 영화 특수효과. photorealistic image를 목표
2. 개발 단계
실시간, 비실시간 그래픽 각각에 사용되는 알고리즘은 다를지라도, 개발단계는 공통된다.
Modeling -> Rigging -> Animation -> Rendering -> Post-processing
1. Modeling
컴퓨터가 이해하도록 물체를 표현하는 과정.
기법은 여러가지이나 주로 Polygon meshes를 사용. Triangle Meshes가 가장 보편적.
+ Mesh에 입힐 Texture도 필요. Texture Image를 만들어 입힌다.(Texturing)
2. Rigging
모델링을 한 후 움직이게 하려면? Skeleton 사용. 말 그대로 뼈대를 넣는다.
- Skeleton을 Polygon Meshes에 넣음
- 꼭짓점과 Skeleton의 상관관계를 적당히 정리
하면 애니메이션을 만들 수 있다.
3. Animation
그래픽 아티스트가 Skeleton Motions의 시퀀스를 만들면 런타임에서 애니메이션을 재생
4. Rendering
3차원 Scene으로 2차원 Image를 만들어내는 과정.
-> Texturing + Lighting(빛과 물체의 상호작용)이 필요.
컴퓨터가 animate하려면 애니메이션재생+렌더링이 필요.
5. Post-processing
영상을 더 사실적으로(혹은 더 나은 퀄리티로) 보이게 하는 선택적인 과정.
대표적인 예시는 Motion blur.
현실세계에서 빠르게 지나가는 물체는 흐릿하게 보인다. 컴퓨터에서도 모션블러를 사용해 빠른 물체를 흐리게 처리하면 더 사실적으로 보일 것.
3. Graphics API
1~3단계는 그래픽 아티스트가 오프라인에서 처리(3Ds Max나 Maya등을 활용),
3~5단계는 Application Program이 런타임에서처리
- Application Program
게임 분야에서는 보통 Animation, Rendering등 기능이 종합적으로 있는 Game Engine을 사용한다.
(Unity, Unreal 등..)
- Graphics API
Game Engine 하위에는 Graphics API가 있다.
대표적인 인터페이스로는 Direct 3D, OpenGL이 있죵
임베디드 시스템을 위한 OpenGL인 OpenGL ES도 있다
OpenGL ES하위에는 GPU가 있는 것이다.
'CS > Computer Graphics' 카테고리의 다른 글
그래픽스 구성요소, 그래픽 시스템 (0) | 2023.04.23 |
---|---|
[Graphics Study] 변환 - 3D (0) | 2022.11.09 |
[Graphics Study] 변환 - 2D (0) | 2022.11.09 |
[Graphics Study] 모델링 (0) | 2022.10.17 |
[Graphics Study] 수학 기초 (0) | 2022.10.17 |