[0108 조진현]출발 소프트웨어 렌더러

34
출출 ! 출출출출출 출출출 출 출출
  • Upload

    -
  • Category

    Documents

  • view

    1.293
  • download

    7

Transcript of [0108 조진현]출발 소프트웨어 렌더러

Page 1: [0108 조진현]출발 소프트웨어 렌더러

출발 ! 소프트웨어 렌더러

조 진현

Page 2: [0108 조진현]출발 소프트웨어 렌더러

신입 게임 프로그래머로 취업하기 위해서는 ?

포트폴리오 !!!

Page 3: [0108 조진현]출발 소프트웨어 렌더러

그렇다면 , 최고의 포트폴리오의 조건은 ?

Page 4: [0108 조진현]출발 소프트웨어 렌더러

소프트웨어 렌더러 제작 경험의 의미 !

3D 에 대한 기본적인 이해

Page 5: [0108 조진현]출발 소프트웨어 렌더러

옛날 옛적에…

Page 6: [0108 조진현]출발 소프트웨어 렌더러

3D 가속 카드의 발전사

Page 7: [0108 조진현]출발 소프트웨어 렌더러

옛날 옛적에는 이랬어요 !! ^^

- 3D 가속 카드는 없었다 .

- 3D API 도 활용할 수 없었다

모든 것을 직접 처리해야 했다 !

Page 8: [0108 조진현]출발 소프트웨어 렌더러
Page 9: [0108 조진현]출발 소프트웨어 렌더러

프로그래머들의 우상 (?) 이라는 이분은…

옛날 옛적부터 직접 만드셨답니다 !!

Page 10: [0108 조진현]출발 소프트웨어 렌더러

중딩 때 , 이 정도 하셨데욤 !

우리의 우상 (?) 인 이분도…

Page 11: [0108 조진현]출발 소프트웨어 렌더러

또 하나의 전설 ?

Page 12: [0108 조진현]출발 소프트웨어 렌더러
Page 13: [0108 조진현]출발 소프트웨어 렌더러

렌더링 종류

- 폴리곤 ( Vertex )

- 곡면 ( Patch )

- 볼륨 ( Voxel )

Page 14: [0108 조진현]출발 소프트웨어 렌더러

폴리곤 렌더링 단위들

- 정점 ( Vertex )

- 삼각형- 메시 ( Mesh )

모든 것은 정점에서 시작된다 !!!

Page 15: [0108 조진현]출발 소프트웨어 렌더러

왜 정점이 기본 렌더링 단위인가 ?

Page 16: [0108 조진현]출발 소프트웨어 렌더러

왜 기본 다각형이 삼각형인가 ?

구현이 쉬우니깐… .

Page 17: [0108 조진현]출발 소프트웨어 렌더러

렌더링 파이프라인의 기본 구성 !

장면 그래프 모듈

좌표 변환 모듈

조명 모듈

삼각형 설정 모듈

주사변환 모듈

Page 18: [0108 조진현]출발 소프트웨어 렌더러

가장 기본적인 소프트웨어 렌더링을 위해서…

좌표 변환 모듈

삼각형 설정 모듈

주사 변환 모듈

Page 19: [0108 조진현]출발 소프트웨어 렌더러

100% 소프트웨어 렌더링은 구현 불가능하다 !

비디오 모드에 접근할 수 없다 !

픽셀을 찍을 수 있는 방법을 강구해야 한다 !

Page 20: [0108 조진현]출발 소프트웨어 렌더러

픽셀 찍기가 허락된 API 들…

3D API

Windows API

Direct2D( ? )

Page 21: [0108 조진현]출발 소프트웨어 렌더러

DIB Section 으로 접근하기 !

Page 22: [0108 조진현]출발 소프트웨어 렌더러
Page 24: [0108 조진현]출발 소프트웨어 렌더러

삼각형을 그려보자 !

Page 25: [0108 조진현]출발 소프트웨어 렌더러

클리핑 선

Page 26: [0108 조진현]출발 소프트웨어 렌더러

클리핑 삼각형

Page 27: [0108 조진현]출발 소프트웨어 렌더러

쉐이딩

Page 28: [0108 조진현]출발 소프트웨어 렌더러

비트맵 출력

Page 29: [0108 조진현]출발 소프트웨어 렌더러

픽셀 연산하기

Pixel Shader ?

Page 30: [0108 조진현]출발 소프트웨어 렌더러

여기까지…

좌표 변환 모듈

삼각형 설정 모듈

주사 변환 모듈

Page 31: [0108 조진현]출발 소프트웨어 렌더러
Page 32: [0108 조진현]출발 소프트웨어 렌더러

행렬을 만들어서 구현해 보자

WorldTM * ViewTM * ProjTM * View-portTM

Page 33: [0108 조진현]출발 소프트웨어 렌더러

투영 행렬

Page 34: [0108 조진현]출발 소프트웨어 렌더러

참고 자료

g-matrix 김성완 선생님