kimkijun

Chapter 01) Introduction 본문

관심주제

Chapter 01) Introduction

kimkijun 2019. 12. 9. 03:00

Computer Graphics
Introduction


  • 3D Computer Graphics 란?

    • 3차원으로 된 물체를 입력을 받아서 2차원 Image을 출력하는 작업. (called frames)

  • 실시간 그래픽스와 비 실시간 그래픽스로 나누어짐. 

    • 실시간 그래픽스에서는 Game, Virtual/Augmented Reality, Interactive user Interface에서 사용.

    • 비 실시간 그래픽스에서는 특수 효과(Visual effects)에 사용. 영화 특수 효과의 목표는 실사 영상과 구분되지 않게 끔 사실적인 영상을 표현하는 기법. (연산량이 매우 많음)

    • 실시간 그래픽스와 비 실시간 그래픽스를 구분할 때 실제로 사용되는 알고리즘은 서로 다름.

  • modeling -> rigging -> animation -> rendering -> post-processing

    • modeling, rigging, animation 은 Graphic artists의 몫.

    • animation을 실시간으로 재생 rendering -> post-processing 은 run-time에 이루어 짐.

      computer program이 자동적으로 실행.

  • Modeling

    • 모델을 컴퓨터가 이해하고 처리할 수 있는 것을 모델이라 함.

    • 모델링은 모델을 생성하는 process.

    • 대부분의 실시간 3D model들은 "polygon mesh"를 사용.

      • 다각형 중 가장 간단한 표현이 삼각형이니 triangle mesh를 가장 널리 사용.

    • Texture = Offline에서 Graphic Artists가 Image Texture를 만들게 되면 run-time에 polygon mesh 표면에 입혀지게 됨.

  • Rigging

    • 뼈를 만들고 뼈와 polygon mesh의 상관관계를 정하는 작업.

  • Animation

    • 뼈를 이용한 skeletal motions

      run-time에 재생.

    • Autodesk 3ds Max, Autodesk maya etc...

  • Rendering

    • 3차원 장면으로부터 2차원 영상으로 만들어지는 단계.

    • Texturing, Lighting 수행되어야 함.

  • Post-Processing

    • As an optional-step.

    • Motion blur, Ambient-Oclussion, Bloom, etc...

    • 사실성을 높이거나, 흐릿함을 넣는 작업 등등...

  • In games, game engine...

    • game engine -> anmation, rendering, post-processing... 을 통합하여 수행.

  • In general,

    • Direct3D, OpenGL, OpenGL ES(OpenGL for Embedded Systems)

game program (app)

game engine

graphics API (OpenGL ES)

GPU

  • graphics API를 통해 실제 GPU를 가동하게 됨.

  • 즉, graphics API는 GPU에 대한 software interface.

반응형

'관심주제' 카테고리의 다른 글

ml-mnist  (0) 2020.11.05
Game Engine Architecture  (0) 2020.05.05
Game Engine Architecture  (0) 2020.05.05
Chapter 02) Mathematics: Basics  (0) 2020.01.06
DirectX Tutorial  (0) 2019.12.11