Home 1강~3강 랜더링 파이프라인OT
Post
Cancel

1강~3강 랜더링 파이프라인OT

1강~3강 랜더링 파이프라인OT

1강 OT

동기 부여

[1]

회사는 다양한 직군을 잘 아는 개발자를 원한다

실무 면접에서 다음과 같은 내용의 질문이 많다

랜더링에 대해 배우는 것이 면접 공부에도 도움이 될 것

  • 랜더링 파이프라인
  • Diffuse, Ambient, Specular
  • Double Buffering
  • Tangent Space
  • 그림자 원리
  • 짐벌락 현상
  • Quaternion

공부 방식

자세한 것 하나하나보다는 전체 숲을 보면서 공부하는 식의 공부를 추천


2강 그래픽스 OT

영화 촬영과 비교하기

  1. 영화 촬영 무대
  2. 조명 = 게임의 조명
  3. 배우 = 게임의 오브젝트
  4. 카메라 = 게임의 카메라
  • 카메라로 촬영한 결과물 = 게임의 장면

영화 감독이 할 일 ⇒ 위 조건에서 대사, 카메라맨 조정, 조명 조절

그래픽스

[1]

게임의 화면 구성 ⇒ 픽셀로 이루어져 있다

[2]

애니메이션과 게임의 비교

애니메이션 : 고정된 카메라로 딱 한번만 *한 장면만 표현(계산)하면 끝

↔게임 : 실시간 랜더링, 고정되지 않은 카메라 (플레이어의 이동에 따라 카메라가 변화)

DirectX

DirectX 로 할 일 :

  • 촬영 무대와 게임 오브젝트를 이용해 게임 화면을 (보이도록) 구성하는 것
  • 3D 환경을 2D 화면으로 그려주는 일

3강 랜더링 파이프라인 OT

모든 물체들은 삼각형 단위로 그려져있다

  • 확인해보기
    • 유니티의 뷰포트에서 Shaded → Wireframe 모드로 게임 화면을 보면

      큐브 하나가 삼각형들로 이루어져 있다

Untitled

🔼 와이어프레임 모드에서 삼각형으로 표현되는 큐브

현대 게임에서 CPU의 역할

  • 고전 게임에서 정점 갯수가 얼마 없는 캐릭터는 가능했지만 요즘 게임에서는 불가하다고 보면 됩니다

GPU와 랜더링 파이프 라인

CPU와 GPU의 구조 차이

Untitled

CPU : ALU가 그닥 없음

  • 서로 연관이 있는 복잡한 연산 위주
  • =고급 인력

GPU : 대부분 영역을 ALU가 차지함 (단순 연산을 하는 ALU)

  • 서로 연관성이 없는 단순 연산 위주
  • = 외주 인력
  • 마이크로소프트와 협력하여, DirectX 스펙에 맞춰 제품을 만든다

DirectX : 마이크로소프트에서 제공하는 GPU 외주 라이브러리

랜더링 파이프 라인 한눈에 보기

Input Assembler Stage : 정점 정보를 전달하기 (물체를 구성하는)

Vertex Shader Stage : 정점 관련 연산, 정점 변환 (정점 이동 등)

Tessellation Stage : 새로운 정점들을 생성, 멀리있는, 가까운 물체들을 서로 다르게 표현하기, 주로 지형 단위 위주

  • Hull Shader Stage
  • Tessellator Stage
  • Domain Shader Stage

Geometry Shader Stage : 새로운 정점들을 생성, 작은 규모의 삼각형 단위 위주

( Stream Output Stage )

Rasterizer Stage : 정점 데이터를 기반으로 픽셀 단위로 표현한다. 삼각형 단위의 색상을 보간하는 작업 등을 한다

Pixel Shader Stage : 최종적으로 픽셀에 생상을 입히는 단계

Output-Merger Stage : 마무리로 윗단계들의 결과들을 바탕으로 색상을 표현하는 단계

This post is licensed under CC BY 4.0 by the author.