오다기리 박의 알고리즘 노트

[OpenGL로 배우는 컴퓨터 그래픽스] Chapter 01. 컴퓨터 그래픽스란? 본문

컴퓨터 그래픽스/OpenGL

[OpenGL로 배우는 컴퓨터 그래픽스] Chapter 01. 컴퓨터 그래픽스란?

오다기리 박 2019. 2. 14. 20:58

OpenGL로 배우는 3차원 컴퓨터 그래픽스

 

Chapter 01. 컴퓨터 그래픽스란?

Section 01 컴퓨터 그래픽스의 응용

 

컴퓨터 그래픽스란 컴퓨터를 사용해서 그림을 그리는 기술을 말한다.

그래픽스의 한 분야라고 할 수 있는 영상처리는 이미 있는 그림을 개선(Enhancement) 하거나 인식(Machine Perception) 하는 분야를 말한다. 그래픽스의 응용분야는 다양한데 그중에서도 대표적으로 다음과 같이 분류된다.

 

 

 

 

Autodesk Inventor

 

  • CAD(Computer Aided Design)
    • CAD란 그래픽스 기술을 건물, 자동차, 비행기, 선박 등의 설계에 이용하는 기술 또는 프로그램을 말한다.
    • 제품을 설계하기 위한 데이터가 직접 수치제어 기계(Numerical Control Machine)로 입력되어 이것이 부품을 가공하는 기계를 제어하게 된다.
    • CAD와 비슷하게 CAM(Computer Aided Manufaturing)도 널리 사용되는데 CAM의 경우에는 자동생산에 따른 경제적인 효율과 함께 가공의 정밀도를 기할 수 있다.

 

  • 프레젠테이션 그래픽스
    • 시연을 위해 사용되는 그래픽, 막대 차트, 선 그래프, 파이 차트, 입체 그래프, 통계 데이터 정보를 나타내기 위한 그래픽, 데이터를 비주얼하게 표현하는 등 여러 기술이 포함된다.

 

  • 가상현실
    • 가상현실은 사실적인 입체화면과 3차원 입체 음향, 촉각을 위한 장비, 장면 내부의 물체에 관한 정보를 저장한 데이터베이스, 그래픽 소프트웨어 등의 요소를 모두 활용한 기술이다. 여러 가지 기술적 요소가 필요한 기술이다.
    • 존재하지 않는 가상의 환경을 구성하되 그것이 마치 현실과 똑같이 느껴지도록 하는 것이 주 목적이다.
    • 가상현실에서는 현실감을 증폭 시키기 위해 인지과학, 전자공학, 기계공학, 음향학 등을 적용시키는 것이 중요하다.
    • 가상현실은 공학, 과학, 의료, 교육 등 다양한 분야에 응용 가능하다.

 

  • 미술
    • 상업적, 순수 예술적 목적으로 그래픽 활용

 

  • 애니메이션 및 게임
    • 영화의 경우에는 사실적인 캐릭터 묘사를 위해 복잡한 모델링, 고화질의 렌더링이 필요하다.

 

  • 교육 및 훈련
    • 교육 및 훈련 분야에서는 컴퓨터 보조학습(CAI : Computer Aided Instruction) 기술이 사용되는데, 학습 보조도구로서 컴퓨터를 활용하는 분야를 말한다.
  • 과학 분야의 가시화
    • 자연 과학 분야에서도 그래픽스가 응용된다. 주로 기류 분석, 분자 구조 가시화, 초음파 촬영 등에 사용된다. 
    • 사이비즈(SCI VIS, Scientific Visualization) : 과학 및 공학 분야에서 발생하는 제반 현상의 대용량 정보 분석
    • 해양 그래픽스 : 침식되는 해안선 모습 가시화
    • 분자 그래픽스 : 분자구조 모델링
    • 3차원 볼륨 렌더링
    • 의료 그래픽스

 

 

 

  • 그래픽 사용자 인터페이스 (GUI)
    • 컴퓨터 소프트웨어의 설계에 적용되는 분야를 말한다.

 

 

Section 02 그래픽스 기술의 변천

 

  • 1950 ~ 1960년대
    • 디스플레이 프로세서 즉 그래픽 프로세서가 만들어진 시기이다

 

  • 1970년대
    • 이때에는 초보적인 수준의 래스터 그래픽 장비가 사용되었으며 다음과 같은 기술이 개발되었다.
    • Gouraud 셰이딩
    • 텍스쳐 매핑
    • Z-버퍼 알고리즘
    • 전반사 하이라이트
    • 베지에 표면 메쉬를 이용한 주전자 모델
    • 프랙탈 이론
    • 환경 매핑, 범프 매핑 이론
    • 안티 앨리어싱 알고리즘
    • 투명 물체 렌더링

 

  • 1980년대
    • 개인용 컴퓨터가 보급된 시기이다. 향상된 기능의 래스터 그래픽 장비가 보급되었으며 그래픽 처리 성능 또한 대폭 향상되었다. 이로 인해 레이 트레이싱 알고리즘이 개발되었다.
    • AutoCAD와 닌텐도가 개발되었다.
    • VGA 그래픽 카드, SVGA 그래픽 카드가 개발되었다.

 

  • 1990년대
    • 이 시기에는 고해상도 컬러 그래픽을 지원하는 개인용 컴퓨터가 개발되었다. 사실적인 그래픽 영상을 개발하는데 주목했던 시기이기도 하다.
    • NVIDIA의 첫 지포스 생산라인인 GeForce 256 그래픽 프로세서가 만들어졌는데 초당 1500만 개의 폴리곤을 처리해서 4억 8천만 개의 화소를 채우며 변환(Transformation), 절단(Clipping), 조명(Lighting) 등의 작업을 하드웨어적으로 처리가 가능해졌다.
    • 그래픽 메모리로는 프레임 버퍼, A-버퍼, 스텐실 버퍼가 출현했다.
    • 그래픽 영상 기술이 발전되던 시기이기 땜누에 토이스토리와 같은 애니메이션 제작도 활성화되었다.

 

GeForce 256

 

 

  • 2000년대
    • 게임, 영화 제작 분야에 진전이 많이 있던 시기이다. 개인용 컴퓨터만으로도 다양한 3차원 그래픽 처리가 가능해졌으며 레이 트레이싱 기법을 GPU에 적용하기 시작했다.

 

레이트레이싱 기술

 

 

 

Section 03 그래픽스 구성요소

 

  • 그래픽스를 구성하는 두 가지 큰 요소가 있다. 바로 모델링과 렌더링 분야이다.
    • 모델링은 무엇을 그릴까에 대한 문제로써, 그래픽으로 표현하고자 하는 장면(Scene) 내부의 물체(Object)를 정의하는 작업이다. 가상 물체를 표현할 수 있는 자료구조와 해당 자료구조를 처리할 수 있는 알고리즘이 모델링의 핵심이다.
    • 렌더링은 모델링에 의해 정의된 물체를 어떻게 그릴까에 대한 문제이다. 조명, 관찰자, 사상(Projection), 물체의 재질(Material) 등이 중요한 요소가 된다.