IT/컴퓨터그래픽스

[Chapter 01] OpenGL로 배우는 3차원 컴퓨터 그래픽스

Nellie29 2024. 4. 1. 23:48


1️⃣ 컴퓨터 그래픽스의 응용

💜 컴퓨터 그래픽스

  • 컴퓨터를 사용하여 그림을 생성하는 기술
  • 수작업 vs 컴퓨터
  • 생성=창조 (cf. 영상처리)
    • 영상처리와의 차이
      • 그래픽스는 백지에서 창조하는 것, 영상처리는 그림에서 정보를 찾아내서 변형하는 것

💜 CAD (Computer Aided Design)

  • 설계에 필요한 인력, 시간, 노력등을 단축함
    • 캐드의 장점
      • 동일 사양에서는 복붙 가능 (Ctrl C + Ctrl V)
      • 물체 회전을 통해 모든 view 확인 가능
      • 시뮬레이션 기능 (실수 ↓)
  • 설계 효율 향상
  • CAM (Computer-Aided Manufacturing)
    • Numerical Control Machine (수치 제어 기계) → 자동화 (제품 설계 데이터가 NCM으로 입력되어 있음)
    • 자동 생산에 따라 효율 ↑, 가공의 정밀도 ↑

💜 프레젠테이션 그래픽스

  • 막대 차트, 선 그래프, 파이 차트, 입체 그래프
  • 백문이 불여일견 → 한눈에 확인 가능

💜 가상 현실

  • 존재하지 않는 가상의 환경 구성 but 현실과 똑같이 느껴지도록
  • 기술적 요소
    • 입체 화면 (3D), 3차원 입체 음향, 데이터 장갑 (캔까지 이동하는 좌표, 캔을 잡는 느낌 구현)
    • 장면 데이터베이스 (문 열면 A환경 → B환경), 그래픽 소프트웨어 (변화되는 주변모습들 화면에 출력)
  • 인지 과학
    • 내 시선이 어디 있는지
  • 전자 공학, 기계 공학 → 디바이스 제작
    • 헤드번트 DP (가상 환경 접속)
  • 음향학
    • 3차원 음향

💜 Virtual Walkthrough (VR)

  • Augmented Reality (AR)
    • 증강현실 (포켓몬 고)
      • 현실세계에서 가상물체 접촉
  • VR과 AR의 차이
    • VR → new 공간 창조
    • AR → 현실세계 + 가상현실

💜 미술

  • 무선 스타일러스 펜
  • 그래픽 소프트웨어
    • 영상처리+그래픽스 접목

💜 애니메이션 및 게임

  • 캐릭터, 배경화면, 애니메이션
    • 모두 그래픽스로 만들어내야 함
  • 상호자와 프로그램 사이의 상호작용 설계
    • 사용자가 컨트롤 하는대로 움직여야 함
  • 상호작용에 걸리는 시간을 최소화
    • 실시간이 중요함
  • 시장성 면, 무한한 가능성
    • 스토리의 차별성, 그래픽 등등

💜 교육 및 훈련

  • 컴퓨터 보조 학습 CAI (Computer Aided Instruction)
    • 학습 보조도구로 컴퓨터 활용
    • ex. 분해 조립도
    • 컴퓨터의 추론 기능 + 지식 데이터베이스 사용
    • 텍스트 + 시각 정보 활용
  • 시뮬레이션
    • 사고 위험 ↓
    • 자원 절약

💜 자연 과학 가시화

  • SCI VIS (Scientific Visualization)
    • 대용량 정보분석
    • 자연 현상 시각화 + 현상 내부 패턴 & 추세 직관적 파악

실제 기류 뷴석을 시각화하여 기류가 어떤지 파악

💜 그래픽 사용자 인터페이스 (GUI)

  • 메뉴, 스크롤바, 아이콘 등등 사용자 편의를 고려함

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

💜 그래픽 히스토리 ‘60

  • 이반 서더런트
    • 컴퓨터 그래픽 창시자
    • 대화형 컴퓨터 그래픽 개념 정립 : 라이트 펜으로 의사 전달
      • 사용자 → input, 컴퓨터 → output
    • 스케치 패드 프로젝트에 의해 확립 (컴퓨터가 스케치북 역할을 할 수 있게)
    • 현대 컴퓨터에서 사람-컴퓨터 사이 상호작용에 사용되는 모든 기본 방법론 확립
    • 직선, 원호 등 기본적 그래픽 요소 사용 → 물체 표현
    • 기본 물체 조합해 큰 물체 모델링 한다는 계층구조 모델링
    • 물체 선택 이동 방식
    • 팝업 메뉴에 의한 사용자 입력

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

💜 컴퓨터 그래픽스 구성 요소

  • 컴퓨터 그래픽스의 2가지 구성 요소
    • 모델링
    • 렌더링
  • 모델링 (무엇을 그릴 것?)
    • 그래픽으로 표현하고자 하는 장면의 내부 물체 정의 작업
    • 선분의 끝점, 다각형 정점 정의
  • 렌더링 (어떻게 그릴 것?)
    • 정의될 물체 그리기
    • 와이어 프레임 렌더링
      • 직선을 많이 그려서 원으로 보이게 함
      • 주로 골조를 볼 때 사용
      • 정점의 개수가 많을수록 (모델링을 할 수록) 정교해짐
    • 솔리드 렌더링
      • 정점들을 잇는 면적을 칠함
      • 표면 확인 가능
      • 주로 전체적인 결과물 볼 때 사용
      • 속은 비어있음

💻 Reference

 

IT CookBook, OpenGL로 배우는 컴퓨터 그래픽스

그래픽스의 이론적 요소, 수학적 요소, 프로그램적 요소를 조합시켜 내용을 전개하고 있으며, OpenGL의 그래픽 파이프라인 처리 순서에 입각하여 좌표계 변환, 조명과 음영, 텍스쳐 등 컴퓨터 그

m.hanbit.co.kr