10강최적화 가속화

51
10 강 최최최 / 최최최

Upload: jp-jung

Post on 25-May-2015

6.703 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 10강최적화 가속화

10 강 최적화 / 가속화

Page 2: 10강최적화 가속화

선행학습 : 렌더링 프로세스

렌더링이란 무엇인가 ?

그래픽 카드에서 렌더링이 되는 과정에 대해 배워 보자

과정을 외울 것 까지는 없고 , 용어와 과정 , 개념을 이해하도록 하자

아 , 용어는 외워야지 . 용어는 유용하다 .

Render

미국 · 영국 [|rend (r)] ə

1. ( 어떤 상태가 되게 ) 만들다

출처 : 네이버 어학사전

Page 3: 10강최적화 가속화

렌더링 프로세스 렌더링 파이프라인 / 아키텍쳐

Page 4: 10강최적화 가속화

정점 데이터 / 삼각형 분할 정점 데이터 / 삼각형 분할

Page 5: 10강최적화 가속화

정점쉐이더 (Vertex Shader)

변환 (Transform) Local World Camera Projection ( 투영 )

Page 6: 10강최적화 가속화

정점쉐이더 (Vertex Shader)

변환 (Transform) Local World Camera Projection ( 투영 )

+ 추가적인 Vertex shader 연산 가능

Page 7: 10강최적화 가속화

렌더링 프로세스 렌더링 파이프라인

Page 8: 10강최적화 가속화

클리핑 / 후면선별 / 레스터라이징

Clipping Back face Culling Rasterizing

Page 9: 10강최적화 가속화

렌더링 프로세스 렌더링 파이프라인

Page 10: 10강최적화 가속화

알파테스트 / 깊이테스트

Page 11: 10강최적화 가속화

스텐실 테스트 / 포그 / 알파블렌딩

http://game.dongguk.ac.kr/new/members/cke/class/2006-2/cgp/Part2_chap8.pdf

Page 12: 10강최적화 가속화

스텐실 테스트 / 포그 / 알파블렌딩

Page 13: 10강최적화 가속화

렌더링 프로세스 렌더링 파이프라인

Page 14: 10강최적화 가속화

2 부 . 최적화와 가속화

Page 15: 10강최적화 가속화

최적화 최적화란 ? : 쓸데없는 낭비를 줄인다 최적화의 방법은 ? 최적화를 하면 좋은 점과 나쁜 점은 ?

Page 16: 10강최적화 가속화

하드웨어

http://blog.naver.com/xmgortk66/110017163160

http://hydramist.net/blog/hardware-old-and-new/

http://www.diytrade.com/china/4/products/2877282/graphic_card.html

http://www.alexrruiz.com/

http://www.myce.com/news/hdd-evolution-may-force-windows-xp-retirement-27042/

Page 17: 10강최적화 가속화

하드웨어 CPU GPU

물리 메모리 그래픽 메모리 하드 디스크

BUS 병목 현상

BUSCPU

Hard Disk

Memory

Graphic CardGPU

Memory

Page 18: 10강최적화 가속화

최적화

http://developer.nvidia.com/docs/IO/8230/BatchBatchBatch.pdf

타겟 하드웨어 결정 게임 특징을 고려한 공간관리 기법 결정 파트별 오브젝트 / 폴리곤 / 용량 배분 파트별 사용량을 즉각 카운팅 가능하게 해주는 도구 제작 후 배포 이 모든 것들을 프로그램 &3D 디자이너들에게 스파르타 교육 http://grayogre.egloos.com/

Page 19: 10강최적화 가속화

그래픽이 할 수 있는 최적화

그래픽이 할 수 있는 일반적인 최적화: 줄여라 줄여라 줄여라

DP Call 을 줄여라 !!! = DrawPrimitive( ) / 드로우 콜 ? 오브젝트 개수를 줄여라 텍스쳐 개수를 줄이거나 합쳐라

텍스쳐 사이즈를 줄여라 Bone 을 줄여라 폴리곤을 줄여라

Page 20: 10강최적화 가속화

최적화 / 가속화

Page 21: 10강최적화 가속화

가속화 가속화란 ? : 더욱 빨리 돌아가게 만든다 . 가속화의 방법은 ? 가속화를 하면 좋은 점과 나쁜 점은 ?

Page 22: 10강최적화 가속화

가속화 기법 LOD / 빌보드 공간 자료 구조 선별 기법

Page 23: 10강최적화 가속화

가속화 LOD (Level of Detail)

오브젝트 LOD Bone LOD Shader LOD Static LOD / 지형 LOD Update LOD

빌보드 (Billboard) ( 굳이 따지자면 ) 가속화 기법은 아님

Page 24: 10강최적화 가속화

가속화 LOD (Level of Detail)

오브젝트 LOD

http://www.opensg.org/wiki/Tutorial/OpenSG2/NodeCores

Page 25: 10강최적화 가속화

가속화 LOD (Level of Detail)

오브젝트 LOD

http://blenderartists.org/forum/showthread.php?t=117868

Page 26: 10강최적화 가속화

가속화 가속화 기법

LOD (Level of Detail) 오브젝트 LOD

Page 27: 10강최적화 가속화

가속화 LOD (Level of Detail)

Bone LOD

http://udn.epicgames.com/Three/CreatingAnimations.html

Page 28: 10강최적화 가속화

가속화 LOD (Level of Detail)

Bone LOD

Page 29: 10강최적화 가속화

가속화 LOD (Level of Detail)

Shader LOD

적절한 예는 아니지만…

Page 30: 10강최적화 가속화

가속화 LOD (Level of Detail)

Shader LOD

http://artmouse.egloos.com/3642745#

Page 31: 10강최적화 가속화

가속화 LOD (Level of Detail)

Static LOD / 지형 LOD

Page 32: 10강최적화 가속화

최적화 / 가속화 LOD (Level of Detail)

Update LOD 업데이트를 하지 않음 . 프레임을 저하시키는 느낌

Page 33: 10강최적화 가속화

가속화 빌보드 (Billboard)

엄밀히 따져서 가속화 기법은 아님

Page 34: 10강최적화 가속화

가속화 빌보드 (Billboard)

엄밀히 따져서 가속화 기법은 아님

http://www.cgarchitect.com/news/Reviews/Review011_1.asp

Page 35: 10강최적화 가속화

가속화 빌보드 (Billboard)

가속화 기법으로 사용될 수도 있음

http://vegetation.icandy.dk/

Page 36: 10강최적화 가속화

최적화 / 가속화 빌보드 (Billboard)

가속화 기법은 아님

http://ps3media.ign.com/ps3/image/article/614/614786/vision-gran-turismo-20050516072907456.jpg

Page 37: 10강최적화 가속화

최적화 / 가속화 빌보드 (Billboard)

가속화 기법은 아님

http://systemlink.gamersguidetolife.com/2010/09/loch-ness-monster-invades-gran-turismo.html

Page 38: 10강최적화 가속화

최적화 / 가속화 빌보드 (Billboard)

가속화 기법은 아님

http://www.ingame.de/files/2010/08/gran-turismo-5-rome-6.jpg

Page 39: 10강최적화 가속화

최적화 / 가속화 빌보드 (Billboard)

가속화 기법은 아님

http://www.ingame.de/files/2010/08/gran-turismo-5-rome-6.jpg

Page 40: 10강최적화 가속화

가속화 기법 LOD / 빌보드

공간 자료 구조 선별 기법

Page 41: 10강최적화 가속화

가속화 공간 자료 구조

BVH ( 바운딩 볼륨 계층구조 : Bounding Volume Hierarchies) 바운딩 박스

BSP Tree ( 이진 공간 분할 처리 : Binary space par-titioning tree) 쿼드트리 옥트리

Page 42: 10강최적화 가속화

가속화 BVH ( 바운딩 볼륨 계층구조 : Bounding Volume Hierar-

chies) 바운딩 박스

마우스 피킹 이동충돌 카메라 충돌 렌더링

Page 43: 10강최적화 가속화

가속화 BVH ( 바운딩 볼륨 계층구조 : Bounding Volume Hierarchies)

바운딩 박스 마우스 피킹 이동충돌 카메라 충돌 렌더링

Page 44: 10강최적화 가속화

가속화 BSP Tree ( 이진 공간 분할 처리 : Binary space

partitioning tree) 쿼드트리 옥트리

Page 45: 10강최적화 가속화

가속화 BSP Tree ( 이진 공간 분할 처리 : Binary space

partitioning tree) 쿼드트리 옥트리

Page 46: 10강최적화 가속화

가속화 기법 LOD / 빌보드 공간 자료 구조

선별 기법

Page 47: 10강최적화 가속화

가속화 선별 기법

Culling Frustum Culling ( 시각 절두체 ) Backface Culling ( 후면 ) Occlusion Culling ( 차폐 ) Hierarchical View Frustum Culling ( 계층 ) Potal

Clipping

Page 48: 10강최적화 가속화

가속화 Culling

Frustum Culling ( 시각 절두체 ) Backface Culling ( 후면 ) Occlusion Culling ( 차폐 )

http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&fname=/SGI_Developer/Optimizer_PG/ch05.html

Page 49: 10강최적화 가속화

가속화 Culling

Frustum Culling ( 시각 절두체 ) Backface Culling ( 후면 ) Occlusion Culling ( 차폐 )

http://vr.kaist.ac.kr/_r011.htm

Page 50: 10강최적화 가속화

최적화 / 가속화 Culling

Frustum Culling ( 시각 절두체 )

Backface Culling ( 후면 )

Occlusion Culling ( 차폐 )

Hierarchical View Frustum Culling ( 계층 )

Potal

Page 51: 10강최적화 가속화

최적화 / 가속화 Clipping

진짜로 자른다 !