본문 바로가기

기타/컴퓨터 그래픽스 & OpenGL

컴퓨터 그래픽스 / 2022.10.22

* 출처 : OpenGL로 배우는 3차원 컴퓨터 그래픽스, 한빛아카데미

 

1.  컴퓨터 그래픽스의 응용

컴퓨터 그래픽스 (Computer Graphics) 란?

- 컴퓨터를 사용하여 그림을 생성하는 기술

- 과거의 수작업에서 벗어나 신속하고 경제적인 비용

- 아무런 입력이 없는 상태에서 새로운 그림을 만들어 낼 수 있음

 

영상 처리 (Digital Image Processing) 이란?

- 기존의 존재하는 그림을 개선하거나 인식하는 분야

컴퓨터 그래픽스 응용

1-1) 캐드 (CAD : Computer Aided Design)

- 건물, 자동차, 비행기, 선박 등의 설계에 이용하는 소프트웨어

- 설계에 필요한 인력이나 시간, 노력 등을 단축하여 설계 효율을 높여줌

- 설계된 부품이 제대로 작동하는지를 미리 시뮬레이션 해볼 수 있음

 

1-2) 캠 (CAM : Computer Aided Manufacturing)

- 제품 설계 데이터가 직접 수치 제어 기계로 입력되어 부품을 가공하는 기계를 제어

- 자동 생산에 따른 경제적인 효율과 가공의 정밀도 향상

 

1-3) 프레젠테이션 그래픽스 (Presentation Graphics)

- 시연을 위해 사용되는 그래픽

- 막대 차트, 선 그래프, 파이 차트, 입체 그래프 등 주로 통계 데이터 정보를 나타내기 위해 사용

- 정보 전달의 효율성 극대화

 

그래프

 

1-4) 가상 현실 (Virtual Reality)

- 존재하지 않는 가상의 환경을 구성하되, 마치 현실과 똑같이 느껴지도록 만듬

- 여러 가지 기술적 요소가 필요 (입체 화면, 3차원 입체 음향, 촉각을 느끼게 하는 장비 등)

- HMD (Head-Mount Display) : 머리에 쓰고 다니는 모니터, 넓은 시야의 입체 영상을 볼 수 있음.

- 데이터 장갑 : 내부에 장착된 센서로 사용자의 손가락, 손목, 팔꿈치 등의 움직임 포착 -> 가상 현실 공간에서 사용자 움직임으로 전환 가능, 반대로 가상 현실 공간에서 느끼는 촉감을 데이터 장갑으로 출력 가능

 

HMD와 데이터 장갑

1-5) 미술

- 무선 스타일러스 펜

- 소프트웨어로 수채화나 파스텔 혹은 유화 효과를 낼 수도 있음.

 

미술 효과 적용

1-6) 애니메이션 및 게임

- 그래픽 기술은 2차원 또는 3차원 애니메이션 영화를 제작하는 데 사용 -> 현실감 향상

- 많은 양의 인적, 물적 자원 필요

 

1-7) 교육 및 훈련

- 컴퓨터 보조 학습 (CAI : Computer Aided Instruction) : 학습 효율 향상

- 분해 조립도 (Exploded View) : 그래픽을 이용하여 기계 부품의 조립 과정을 설명 -> 상대적으로 이해가 쉬워짐

분해 조립도

- 비행 시뮬레이션 (Flight Simulation) : 경제적 효용성이 매우 높음

비행 시물레이션

1-8) 과학 분야의 가시화

- 싸이 비즈 (SCI VIS : Scientific Visualization) : 대용량 정보를 분석, 어떤 현상을 시각화하여 나타낼 경우 그 현상 내부의 패턴이나 추세를 직관적으로 파악 가능

- 의료 그래픽스 (Medical Graphics) : 디지털화된 컴퓨터 영상, 진단, 모의 수술, 수술 계획에 사용, 정밀도를 높이는 방법이 가장 중시됨

디지털화된 컴퓨터 영상

1-9) 그래픽 사용자 인터페이스 (GUI : Graphics User Interface)

- 스크롤 바, 메뉴 바 등 시각적인 사용자 인터페이스의 중요성은 작업 효율과 직결됨

- 시각적이고 효율적인 인터페이스를 제공함으로써 사용자 편의를 도모

 

2. 컴퓨터 그래픽스 기술의 변천

2-1) 1960년대

- 1963년 Ivan Sutherland : 컴퓨터 그래픽의 제반 개념을 확립

- 1965년 Douglas Englebart : 선분 그리기 알고리즘 개발

- 1968년 Ivan Sutherland : 최초의 HMD 개발

 

2-2) 1970년대

- 1971년 Gouraud : 구로 셰이딩 알고리즘 개발

- 1974년 Bui-Tong Phong : 퐁 셰이딩 알고리즘 개발

- 1976년 Jim Blinn : 주변 매핑, 범프 매핑 이론 제창

 

2-3) 1980년대

- 1980년 Turner, Whitted : 레이 트레이싱 알고리즘 개발

- 1985년 Pixar Animation Studio : 'Luxo Junior' 개발 (PIXAR 최초 작품)

- 1987년 IBM : VGA 그래픽 카드 개발

- 1989년 IBM : SVGA 그래픽 카드 개발

 

2-4) 1990년대

- 1990년 Gary Yost : 3D Studio 개발

- 1992년 Silicon Graphics : OpenGL 사양 발표

- 1995년 Microsoft : DirectX API 사양 발표

- 1999년 NVDIA : GeForce 256 GPU 개발

 

3. 컴퓨터 그래픽스 구성 요소

3-1) 모델링 (What to Draw)

- 무엇을 그릴것인가

- 장면 내부의 물체를 정의하는 작업

- 평면 다각형의 집합으로 다각형 정점의 위치를 명시하는 작업

- 선분의 양 끝점 위치를 명시하는 작업

 

3-2) 렌더링 (How to Draw)

- 모델링에 의해 정의된 물체를 어떻게 그릴 것인가

- 우리가 화면에서 보는 모든 그림은 렌더링의 결과

- 와이어 프레임 렌더링, 솔리드 렌더링

 

모델링과 렌더링