SlideShare a Scribd company logo
1 of 51
최적화 / 가속화
   렌더링이란 무엇인가?

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

                       Render
   과정을 외울 것 까지는 없고,
    용어와 과정, 개념을        미국·영국 [|rendə(r)]
    이해하도록 하자
                       1. (어떤 상태가 되게) 만들다

   아, 용어는 외워야지.       출처: 네이버 어학사전
    용어는 유용하다.
   렌더링 파이프라인 / 아키텍쳐
   정점 데이터 / 삼각형 분할
   변환 (Transform)
     Local
     World
       Camera
       Projection (투영)
   변환 (Transform)
       Local
       World
     Camera
     Projection (투영)




                        + 추가적인 Vertex shader연산 가능
   렌더링 파이프라인
Clipping   Back face Culling   Rasterizing
   렌더링 파이프라인
http://game.dongguk.ac.kr/new/members/cke/class/2006-2/cgp/Part2_chap8.pdf
   렌더링 파이프라인
   최적화란? : 쓸데없는 낭비를 줄인다
   최적화의 방법은?
   최적화를 하면 좋은 점과 나쁜 점은?
http://www.alexrruiz.com/                             http://hydramist.net/blog/hardware-old-and-new/




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




http://blog.naver.com/xmgortk66/110017163160
                                                           http://www.myce.com/news/hdd-evolution-may-force-windows-xp-retirement-27042/
   CPU          GPU
   GPU       Graphic Card

                             B
                Memory

   물리 메모리
   그래픽 메모리                  U
    하드 디스크
                 CPU         S




   BUS       Memory
   병목 현상
              Hard Disk
   http://developer.nvidia.com/docs/IO/8230/BatchBatchBatch.pdf




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

       DP Call 을 줄여라!!!
         = DrawPrimitive( ) / 드로우 콜 ?
         오브젝트 개수를 줄여라
         텍스쳐 개수를 줄이거나 합쳐라
       텍스쳐 사이즈를 줄여라
       Bone을 줄여라
       폴리곤을 줄여라
   가속화란? : 더욱 빨리 돌아가게 만든다.
   가속화의 방법은?
   가속화를 하면 좋은 점과 나쁜 점은?
 LOD   / 빌보드
   공간 자료 구조
   선별 기법
   LOD (Level of Detail)
     오브젝트 LOD
     Bone LOD
     Shader LOD
     Static LOD / 지형 LOD
     Update LOD


   빌보드 (Billboard)
       (굳이 따지자면) 가속화 기법은 아님
     LOD (Level of Detail)
           오브젝트 LOD




http://www.opensg.org/wiki/Tutorial/OpenSG2/NodeCores
   LOD (Level of Detail)
       오브젝트 LOD




                http://blenderartists.org/forum/showthread.php?t=117868
   가속화 기법
       LOD (Level of Detail)
         오브젝트 LOD
   LOD (Level of Detail)
       Bone LOD




            http://udn.epicgames.com/Three/CreatingAnimations.html
   LOD (Level of Detail)
       Bone LOD
   LOD (Level of Detail)
       Shader LOD




            적절한 예는 아니지만…
   LOD (Level of Detail)
       Shader LOD




                            http://artmouse.egloos.com/3642745#
   LOD (Level of Detail)
       Static LOD / 지형 LOD
   LOD (Level of Detail)
       Update LOD
         업데이트를 하지 않음.
         프레임을 저하시키는 느낌
   빌보드 (Billboard)
       엄밀히 따져서 가속화 기법은 아님
   빌보드 (Billboard)
                  엄밀히 따져서 가속화 기법은 아님




http://www.cgarchitect.com/news/Reviews/Review011_1.asp
    빌보드 (Billboard)
                    가속화 기법으로 사용될 수도 있음




http://vegetation.icandy.dk/
   빌보드 (Billboard)
                  가속화 기법은 아님




http://ps3media.ign.com/ps3/image/article/614/614786/vision-gran-turismo-20050516072907456.jpg
   빌보드 (Billboard)
                   가속화 기법은 아님




http://systemlink.gamersguidetolife.com/2010/09/loch-ness-monster-invades-gran-turismo.html
    빌보드 (Billboard)
                          가속화 기법은 아님




http://www.ingame.de/files/2010/08/gran-turismo-5-rome-6.jpg
    빌보드 (Billboard)
        가속화 기법은 아님




http://www.ingame.de/files/2010/08/gran-turismo-5-rome-6.jpg
   LOD / 빌보드

 공간     자료 구조
   선별 기법
   공간 자료 구조

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

       BSP Tree (이진 공간 분할 처리: Binary space
        partitioning tree)
         쿼드트리
         옥트리
   BVH (바운딩 볼륨 계층구조 : Bounding Volume
    Hierarchies)
       바운딩 박스
            마우스 피킹
            이동충돌
            카메라 충돌
            렌더링
   BVH (바운딩 볼륨 계층구조 : Bounding Volume
    Hierarchies)
     바운딩 박스
        마우스 피킹
        이동충돌
        카메라 충돌
        렌더링
   BSP Tree (이진 공간 분할 처리: Binary space
    partitioning tree)
       쿼드트리
       옥트리
   BSP Tree (이진 공간 분할 처리: Binary space
    partitioning tree)
       쿼드트리
       옥트리
   LOD / 빌보드
   공간 자료 구조

 선별     기법
   선별 기법
       Culling
         Frustum Culling (시각 절두체)
         Backface Culling (후면)
         Occlusion Culling (차폐)
         Hierarchical View Frustum Culling (계층)
         Potal


       Clipping
   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
          Culling
                                 Frustum Culling (시각 절두체)
                                 Backface Culling (후면)
                                 Occlusion Culling (차폐)




http://vr.kaist.ac.kr/_r011.htm
   Culling
     Frustum Culling
      (시각 절두체)
     Backface Culling
      (후면)
     Occlusion Culling
      (차폐)
     Hierarchical View
      Frustum Culling
      (계층)
     Potal
   Clipping
       진짜로 자른다!

More Related Content

What's hot

Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기
JP Jung
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
MinGeun Park
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1
MoonLightMS
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환
Yggdrasil610
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
MinGeun Park
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더
동석 김
 
후처리알아보기
후처리알아보기후처리알아보기
후처리알아보기
종규 우
 

What's hot (19)

스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 
Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환
 
유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석
 
2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑
 
[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art Technologies
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더
 
그림자 이야기
그림자 이야기그림자 이야기
그림자 이야기
 
Gametech2015
Gametech2015Gametech2015
Gametech2015
 
후처리알아보기
후처리알아보기후처리알아보기
후처리알아보기
 
Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리
 
Devtree illu
Devtree illuDevtree illu
Devtree illu
 
Motion blur
Motion blurMotion blur
Motion blur
 
스키닝 애니메이션
스키닝 애니메이션스키닝 애니메이션
스키닝 애니메이션
 

Viewers also liked

[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
MinGeun Park
 

Viewers also liked (8)

[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
 
게임수학 강의노트 1부
게임수학 강의노트 1부게임수학 강의노트 1부
게임수학 강의노트 1부
 
물리기반 모델링 기초 - 강의노트
물리기반 모델링 기초 - 강의노트물리기반 모델링 기초 - 강의노트
물리기반 모델링 기초 - 강의노트
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
Algorithms summary korean
Algorithms summary koreanAlgorithms summary korean
Algorithms summary korean
 
[IGC 2016] 액션스퀘어 문의주 - 언리얼4 아티스트를 위한 실용적인 PBR 가이드
[IGC 2016] 액션스퀘어 문의주 - 언리얼4 아티스트를 위한 실용적인 PBR 가이드[IGC 2016] 액션스퀘어 문의주 - 언리얼4 아티스트를 위한 실용적인 PBR 가이드
[IGC 2016] 액션스퀘어 문의주 - 언리얼4 아티스트를 위한 실용적인 PBR 가이드
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
 
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
 

Similar to 10강최적화 가속화

[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
MinGeun Park
 
전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011
devCAT Studio, NEXON
 
리소스 중심의 서든어택2 실시간 메모리 프로파일링 시스템 개발기
리소스 중심의 서든어택2 실시간 메모리 프로파일링 시스템 개발기리소스 중심의 서든어택2 실시간 메모리 프로파일링 시스템 개발기
리소스 중심의 서든어택2 실시간 메모리 프로파일링 시스템 개발기
Wonha Ryu
 

Similar to 10강최적화 가속화 (20)

프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
 
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) 모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
 
전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011
 
NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요  NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요
 
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와  Oreo 의 개선사항 Android 성능 지표와  Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항
 
MGS 툴세미나
MGS 툴세미나MGS 툴세미나
MGS 툴세미나
 
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술
 
모바일 게임 최적화
모바일 게임 최적화 모바일 게임 최적화
모바일 게임 최적화
 
리소스 중심의 서든어택2 실시간 메모리 프로파일링 시스템 개발기
리소스 중심의 서든어택2 실시간 메모리 프로파일링 시스템 개발기리소스 중심의 서든어택2 실시간 메모리 프로파일링 시스템 개발기
리소스 중심의 서든어택2 실시간 메모리 프로파일링 시스템 개발기
 
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)
 
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
 
Vid2vid
Vid2vidVid2vid
Vid2vid
 
Modern android
Modern androidModern android
Modern android
 
[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가
[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가
[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가
 

More from JP Jung

6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초
JP Jung
 
5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅
JP Jung
 
4강 shader fx 기초실습_텍스쳐 조작2
4강 shader fx 기초실습_텍스쳐 조작24강 shader fx 기초실습_텍스쳐 조작2
4강 shader fx 기초실습_텍스쳐 조작2
JP Jung
 
3강 shader fx 기초실습_텍스쳐 조작
3강 shader fx 기초실습_텍스쳐 조작3강 shader fx 기초실습_텍스쳐 조작
3강 shader fx 기초실습_텍스쳐 조작
JP Jung
 
2강 텍스쳐 포맷과 기초 / 오타수정
2강 텍스쳐 포맷과 기초 / 오타수정2강 텍스쳐 포맷과 기초 / 오타수정
2강 텍스쳐 포맷과 기초 / 오타수정
JP Jung
 
2강 텍스쳐 포맷과 기초
2강 텍스쳐 포맷과 기초2강 텍스쳐 포맷과 기초
2강 텍스쳐 포맷과 기초
JP Jung
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초
JP Jung
 
정종필 팀장이됐어요(더저용량)
정종필 팀장이됐어요(더저용량)정종필 팀장이됐어요(더저용량)
정종필 팀장이됐어요(더저용량)
JP Jung
 

More from JP Jung (10)

Unite2019 _ 학교에서 배우는 게임개발이란
Unite2019 _ 학교에서 배우는 게임개발이란Unite2019 _ 학교에서 배우는 게임개발이란
Unite2019 _ 학교에서 배우는 게임개발이란
 
감마가 어디감마
감마가 어디감마감마가 어디감마
감마가 어디감마
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초
 
5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅
 
4강 shader fx 기초실습_텍스쳐 조작2
4강 shader fx 기초실습_텍스쳐 조작24강 shader fx 기초실습_텍스쳐 조작2
4강 shader fx 기초실습_텍스쳐 조작2
 
3강 shader fx 기초실습_텍스쳐 조작
3강 shader fx 기초실습_텍스쳐 조작3강 shader fx 기초실습_텍스쳐 조작
3강 shader fx 기초실습_텍스쳐 조작
 
2강 텍스쳐 포맷과 기초 / 오타수정
2강 텍스쳐 포맷과 기초 / 오타수정2강 텍스쳐 포맷과 기초 / 오타수정
2강 텍스쳐 포맷과 기초 / 오타수정
 
2강 텍스쳐 포맷과 기초
2강 텍스쳐 포맷과 기초2강 텍스쳐 포맷과 기초
2강 텍스쳐 포맷과 기초
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초
 
정종필 팀장이됐어요(더저용량)
정종필 팀장이됐어요(더저용량)정종필 팀장이됐어요(더저용량)
정종필 팀장이됐어요(더저용량)
 

10강최적화 가속화

  • 2. 렌더링이란 무엇인가?  그래픽 카드에서 렌더링이 되는 과정에 대해 배워 보자 Render  과정을 외울 것 까지는 없고, 용어와 과정, 개념을 미국·영국 [|rendə(r)] 이해하도록 하자 1. (어떤 상태가 되게) 만들다  아, 용어는 외워야지. 출처: 네이버 어학사전 용어는 유용하다.
  • 3. 렌더링 파이프라인 / 아키텍쳐
  • 4. 정점 데이터 / 삼각형 분할
  • 5. 변환 (Transform)  Local  World  Camera  Projection (투영)
  • 6. 변환 (Transform)  Local  World  Camera  Projection (투영) + 추가적인 Vertex shader연산 가능
  • 7. 렌더링 파이프라인
  • 8. Clipping Back face Culling Rasterizing
  • 9. 렌더링 파이프라인
  • 10.
  • 12.
  • 13. 렌더링 파이프라인
  • 14.
  • 15. 최적화란? : 쓸데없는 낭비를 줄인다  최적화의 방법은?  최적화를 하면 좋은 점과 나쁜 점은?
  • 16. http://www.alexrruiz.com/ http://hydramist.net/blog/hardware-old-and-new/ http://www.diytrade.com/china/4/products/2877282/graphic_card.html http://blog.naver.com/xmgortk66/110017163160 http://www.myce.com/news/hdd-evolution-may-force-windows-xp-retirement-27042/
  • 17. CPU GPU  GPU Graphic Card B Memory  물리 메모리  그래픽 메모리 U 하드 디스크 CPU S   BUS Memory  병목 현상 Hard Disk
  • 18. http://developer.nvidia.com/docs/IO/8230/BatchBatchBatch.pdf  타겟 하드웨어 결정  게임 특징을 고려한 공간관리 기법 결정  파트별 오브젝트/폴리곤/용량 배분  파트별 사용량을 즉각 카운팅 가능하게 해주는 도구 제작 후 배포  이 모든 것들을 프로그램&3D 디자이너들에게 스파르타 교육  http://grayogre.egloos.com/
  • 19. 그래픽이 할 수 있는 일반적인 최적화 : 줄여라 줄여라 줄여라  DP Call 을 줄여라!!!  = DrawPrimitive( ) / 드로우 콜 ?  오브젝트 개수를 줄여라  텍스쳐 개수를 줄이거나 합쳐라  텍스쳐 사이즈를 줄여라  Bone을 줄여라  폴리곤을 줄여라
  • 20.
  • 21. 가속화란? : 더욱 빨리 돌아가게 만든다.  가속화의 방법은?  가속화를 하면 좋은 점과 나쁜 점은?
  • 22.  LOD / 빌보드  공간 자료 구조  선별 기법
  • 23. LOD (Level of Detail)  오브젝트 LOD  Bone LOD  Shader LOD  Static LOD / 지형 LOD  Update LOD  빌보드 (Billboard)  (굳이 따지자면) 가속화 기법은 아님
  • 24. LOD (Level of Detail)  오브젝트 LOD http://www.opensg.org/wiki/Tutorial/OpenSG2/NodeCores
  • 25. LOD (Level of Detail)  오브젝트 LOD http://blenderartists.org/forum/showthread.php?t=117868
  • 26. 가속화 기법  LOD (Level of Detail)  오브젝트 LOD
  • 27. LOD (Level of Detail)  Bone LOD http://udn.epicgames.com/Three/CreatingAnimations.html
  • 28. LOD (Level of Detail)  Bone LOD
  • 29. LOD (Level of Detail)  Shader LOD 적절한 예는 아니지만…
  • 30. LOD (Level of Detail)  Shader LOD http://artmouse.egloos.com/3642745#
  • 31. LOD (Level of Detail)  Static LOD / 지형 LOD
  • 32. LOD (Level of Detail)  Update LOD  업데이트를 하지 않음.  프레임을 저하시키는 느낌
  • 33. 빌보드 (Billboard)  엄밀히 따져서 가속화 기법은 아님
  • 34. 빌보드 (Billboard)  엄밀히 따져서 가속화 기법은 아님 http://www.cgarchitect.com/news/Reviews/Review011_1.asp
  • 35. 빌보드 (Billboard)  가속화 기법으로 사용될 수도 있음 http://vegetation.icandy.dk/
  • 36. 빌보드 (Billboard)  가속화 기법은 아님 http://ps3media.ign.com/ps3/image/article/614/614786/vision-gran-turismo-20050516072907456.jpg
  • 37. 빌보드 (Billboard)  가속화 기법은 아님 http://systemlink.gamersguidetolife.com/2010/09/loch-ness-monster-invades-gran-turismo.html
  • 38. 빌보드 (Billboard)  가속화 기법은 아님 http://www.ingame.de/files/2010/08/gran-turismo-5-rome-6.jpg
  • 39. 빌보드 (Billboard)  가속화 기법은 아님 http://www.ingame.de/files/2010/08/gran-turismo-5-rome-6.jpg
  • 40. LOD / 빌보드  공간 자료 구조  선별 기법
  • 41. 공간 자료 구조  BVH (바운딩 볼륨 계층구조 : Bounding Volume Hierarchies)  바운딩 박스  BSP Tree (이진 공간 분할 처리: Binary space partitioning tree)  쿼드트리  옥트리
  • 42. BVH (바운딩 볼륨 계층구조 : Bounding Volume Hierarchies)  바운딩 박스  마우스 피킹  이동충돌  카메라 충돌  렌더링
  • 43. BVH (바운딩 볼륨 계층구조 : Bounding Volume Hierarchies)  바운딩 박스  마우스 피킹  이동충돌  카메라 충돌  렌더링
  • 44. BSP Tree (이진 공간 분할 처리: Binary space partitioning tree)  쿼드트리  옥트리
  • 45. BSP Tree (이진 공간 분할 처리: Binary space partitioning tree)  쿼드트리  옥트리
  • 46. LOD / 빌보드  공간 자료 구조  선별 기법
  • 47. 선별 기법  Culling  Frustum Culling (시각 절두체)  Backface Culling (후면)  Occlusion Culling (차폐)  Hierarchical View Frustum Culling (계층)  Potal  Clipping
  • 48. 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
  • 49. Culling  Frustum Culling (시각 절두체)  Backface Culling (후면)  Occlusion Culling (차폐) http://vr.kaist.ac.kr/_r011.htm
  • 50. Culling  Frustum Culling (시각 절두체)  Backface Culling (후면)  Occlusion Culling (차폐)  Hierarchical View Frustum Culling (계층)  Potal
  • 51. Clipping  진짜로 자른다!