Computer Graphics

eeldclf25·2022년 5월 28일
0

Graphics

목록 보기
1/2

3D Computer Graphics

  • 3차원 데이터를 입력 받아서 2차원 영상을 출력하는 작업을 말한다.
  • 생성하는 영상을 프레임(frame)이라고도 하는데, 물체의 움직임을 묘사하려면 연속적인 프레임을 보여주면 된다.
  • 이러한 프레임을 빨리 만들어내는 것에 초점을 둔 실시간 그래픽스(게임, 증강현실 등)와 실사같이 정교한 영상을 만드는 것에 초점을 둔 비실시간 그래픽스(영화)로 나뉜다.
  • 그래픽스에 따라 알고리즘, 기법이 많이 다르고 여기서는 실시간 그래픽스에 초점을 둔다.

Computer Graphices Production

  • Computer Graphics 제작 과정은 통상 5개의 단계로 구성된다.
    1. modeling
      • 컴퓨터가 처리할 수 있는 방식으로 표현한 물체를 model이라고 하는데, 이러한 model을 만드는 작업을 총칭해서 modeling라 한다
      • 일반적으로 polygon(다각형)으로 구성된 물체를 사용하는데 이를 polygon mesh라 부르고 이러한 polygon mesh에 입혀질 texture도 제작한다.
    2. rigging
      • 만들어진 polygon mesh의 움직임을 표현하려면 기본적으로 skeleton을 사용하는데 각 polygon하고 bone의 상관관계를 정의해주고 bone을 움직이면 polygon mesh 또한 움직이게 되는데 이러한 작업을 rigging이라 한다.
    3. animation
      • 그래픽 디자이너가 off-line에서 animation을 만들고 runtime에는 그 animation이 재생된다.
    4. rendering
      • 3차원 장면으로부터 2차원 영상, 즉 프레임으로 만드는 작업을 rendering이라 말한다.
      • 물체에 texture를 입히는 texturing, 빛과 물체의 상호 작용을 처리하는 lighting가 rendering의 핵심을 이룬다.
    5. post-processing
      • 마지막으로 motion blur, depth of field(dof) 같은 추가 작업은 post-processing(후처리)을 통해 이루어진다.
      • post-processing은 필수가 아니기 때문에 생략될 수 있다.

Graphics API

  • 앞서 보인 modeling, rigging, animation 작업은 off-line에서 만들어지는 반면, run-time animation, rendering, post-processing 같은 작업은 application이 수행하게 된다.
  • 게임 제작 같은 경우는 게임 엔진을 이용하여 제작하는데, 게임 엔진은 위 3가지와 더불어 사운드, 시뮬레이션 등의 다양한 기능을 갖춘 개발 툴이라 생각하면 된다.
  • 이러한 게임 엔진은 graphics API의 기반으로 제작되는데, graphics API에서 제공하는 함수들은 대부분 GPU(graphics Processing Unit) 하드웨어로 구현되어 있다.
  • 때문에 application이 graphics API의 함수를 호출하면 graphics API는 GPU를 가동하게 되는데 이에 따라 graphics API는 GPU에 대한 소프트웨어 인터페이스라고 할 수 있다.
  • graphics API는 대표적으로 Direct3D와 OpenGL 등이 있다.

0개의 댓글