SlideShare a Scribd company logo
리얼타임 렌더링
Technical Challenges for Real-Time Rendering
20171308 권필성
리얼 타임 렌더링이란
리얼 타임 렌더링이란
• Real-Time (실시간)
• Rendering (렌더링)
• 실시간으로 렌더링하는 것을 말합니다. (당연하게도..)
• 별로 거창한 발표 아닙니다. 정말로.
리얼 타임 렌더링이란
• 일반적인 영상 매체 (영화, 애니메이션) 는 Real-Time Rendering 이 아님
• 게임은 맞음
• 게임은 언제까지 무슨 일이 생길지 모르고. (매 프레임마다 렌더)
• 영상은 언제까지 무슨 일이 생길지 알기 때문. (미리 렌더됨)
리얼 타임 렌더링이란
https://youtu.be/J3ue35ago3Y
스타워즈 : 리플렉션 테크데모
고품질 리얼 타임 렌더링
두 그래픽의 차이점?
고품질 리얼 타임 렌더링
• 입체의 디테일 차이
• 메쉬 복잡도, 라이팅, 쉐이더, 이펙트, 애니메이션
• 비 입체의 디테일 차이
• 해상도, 포스트 프로세싱, HDR
고품질 리얼 타임 렌더링
• PBR (Physically Based Rendering)
• 물리 기반 렌더링
• 실제 세계의 물리 현상을 모방한 렌더링 기법
• 실사 그래픽의 빠른 제작과 일관성 유지 가능
고품질 리얼 타임 렌더링
• HDRR (High Dynamic Range Rendering)
• 풍부한 색감, 음영을 표현하기 위한 렌더링 기법
• RGB8 (LDR)
• RGB16 (HDR)
• HDR을 지원하지 않는 모니터는 톤 매핑 기법 사용
고품질 리얼 타임 렌더링
• 톤 매핑 기법
• HDR로 렌더한 이미지를 LDR 디스플레이에 압축하여 렌더하는 것.
리얼 타임 렌더링 최적화
사실상 이 발표의 핵심..
인스턴싱
• 다른 장치에서 GPU 로의 자원 이동엔 시간이 오래 걸림
• 중복되는 기하 정보를 가진 객체들은 한 번의 드로우콜에 모아서 그려냄
• 10개가 있다면 5개로 묶어서 2번의 드로우콜을 써서 그릴 수 있다.
• 배칭을 줄이는 것이 핵심. (버텍스 버퍼나 인덱스 버퍼도 포함)
커맨드 버퍼 또는 커맨드 리스트
• 말그대로 명령을 저장하는 공간
• 검은사막 엔진
• 그래픽 커맨드를 커맨드 버퍼에 기록
• 렌더 스레드에서 커맨드 버퍼에 있는 명령을 실행 (DirectX 의 Deferred Context 개념)
• 멀티 스레드 렌더링에서 필수
렌더 스케일링
• 현재 설정된 해상도와 실제 렌더된 이미지 해상도의 비율 차
• 1920 * 1080 (100%) 이라면 1920 * 1080 그대로
• 1920 * 1080 (50%) 이라면 960 * 540 사이즈로 렌더
• 100% 를 초과하는 경우는 업스케일링 (바이큐빅 업샘플링)
• 윈도우 크기를 유지한체 낮은 해상도(좋은 성능)로 플레이하기 위해 이용
레퍼런스
• https://www.slideshare.net/cagetu/ndc11-hdr (NDC 2011 이창
희님 발표)
• https://www.youtube.com/watch?v=O5nJLTCGvEA&t=49s
(Render Scale Comparison - CryBox7 Overwatch 채널)

More Related Content

What's hot

Compute shader DX11
Compute shader DX11Compute shader DX11
Compute shader DX11
민웅 이
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)
MinGeun Park
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)
Bongseok Cho
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
YEONG-CHEON YOU
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?
SangYun Yi
 
5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅JP Jung
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
포프 김
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
Sukwoo Lee
 
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
devCAT Studio, NEXON
 
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010devCAT Studio, NEXON
 
Motion blur
Motion blurMotion blur
Motion blur
changehee lee
 
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들MinGeun Park
 
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
Madumpa Park
 
[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자
MoonLightMS
 
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부
Eunseok Yi
 
모바일 게임 최적화
모바일 게임 최적화 모바일 게임 최적화
모바일 게임 최적화
tartist
 
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
강 민우
 
Screen space reflection
Screen space reflectionScreen space reflection
Screen space reflection
Bongseok Cho
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
Yongha Kim
 

What's hot (20)

Compute shader DX11
Compute shader DX11Compute shader DX11
Compute shader DX11
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?
 
5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
 
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
 
Motion blur
Motion blurMotion blur
Motion blur
 
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
 
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
 
카툰 렌더링
카툰 렌더링카툰 렌더링
카툰 렌더링
 
[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자
 
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부
 
모바일 게임 최적화
모바일 게임 최적화 모바일 게임 최적화
모바일 게임 최적화
 
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
 
Screen space reflection
Screen space reflectionScreen space reflection
Screen space reflection
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
 

Similar to 리얼타임 렌더링에 대해

Direct x 11 입문
Direct x 11 입문Direct x 11 입문
Direct x 11 입문
Jin Woo Lee
 
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록 [KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
JiUng Choi
 
KGC 2007 소프트웨어 렌더러 개발
KGC 2007  소프트웨어 렌더러 개발KGC 2007  소프트웨어 렌더러 개발
KGC 2007 소프트웨어 렌더러 개발
SeongWan Kim
 
3D Engine (ICON 2007)
3D Engine (ICON 2007)3D Engine (ICON 2007)
3D Engine (ICON 2007)
SeongWan Kim
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
Chang W. Doh
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012devCAT Studio, NEXON
 
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
WonKee Kim
 
2015.12.10 defferd renderring_
2015.12.10 defferd renderring_2015.12.10 defferd renderring_
2015.12.10 defferd renderring_
재현 최
 
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
Chang W. Doh
 
Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .
YEONG-CHEON YOU
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
changehee lee
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱MinGeun Park
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
YEONG-CHEON YOU
 
Vr 기술
Vr 기술Vr 기술
Vr 기술
Eui hwan Hyeon
 
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례Junki Kim
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4
민웅 이
 
Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5
YEONG-CHEON YOU
 
[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유
Hwan Min
 

Similar to 리얼타임 렌더링에 대해 (20)

Direct x 11 입문
Direct x 11 입문Direct x 11 입문
Direct x 11 입문
 
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록 [KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
 
KGC 2007 소프트웨어 렌더러 개발
KGC 2007  소프트웨어 렌더러 개발KGC 2007  소프트웨어 렌더러 개발
KGC 2007 소프트웨어 렌더러 개발
 
3D Engine (ICON 2007)
3D Engine (ICON 2007)3D Engine (ICON 2007)
3D Engine (ICON 2007)
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
 
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
 
2015.12.10 defferd renderring_
2015.12.10 defferd renderring_2015.12.10 defferd renderring_
2015.12.10 defferd renderring_
 
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
 
Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
 
Vr 기술
Vr 기술Vr 기술
Vr 기술
 
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4
 
Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5
 
[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유
 

리얼타임 렌더링에 대해

  • 1. 리얼타임 렌더링 Technical Challenges for Real-Time Rendering 20171308 권필성
  • 3. 리얼 타임 렌더링이란 • Real-Time (실시간) • Rendering (렌더링) • 실시간으로 렌더링하는 것을 말합니다. (당연하게도..) • 별로 거창한 발표 아닙니다. 정말로.
  • 4. 리얼 타임 렌더링이란 • 일반적인 영상 매체 (영화, 애니메이션) 는 Real-Time Rendering 이 아님 • 게임은 맞음 • 게임은 언제까지 무슨 일이 생길지 모르고. (매 프레임마다 렌더) • 영상은 언제까지 무슨 일이 생길지 알기 때문. (미리 렌더됨)
  • 7.
  • 9. 고품질 리얼 타임 렌더링 • 입체의 디테일 차이 • 메쉬 복잡도, 라이팅, 쉐이더, 이펙트, 애니메이션 • 비 입체의 디테일 차이 • 해상도, 포스트 프로세싱, HDR
  • 10. 고품질 리얼 타임 렌더링 • PBR (Physically Based Rendering) • 물리 기반 렌더링 • 실제 세계의 물리 현상을 모방한 렌더링 기법 • 실사 그래픽의 빠른 제작과 일관성 유지 가능
  • 11.
  • 12. 고품질 리얼 타임 렌더링 • HDRR (High Dynamic Range Rendering) • 풍부한 색감, 음영을 표현하기 위한 렌더링 기법 • RGB8 (LDR) • RGB16 (HDR) • HDR을 지원하지 않는 모니터는 톤 매핑 기법 사용
  • 13. 고품질 리얼 타임 렌더링 • 톤 매핑 기법 • HDR로 렌더한 이미지를 LDR 디스플레이에 압축하여 렌더하는 것.
  • 14.
  • 15. 리얼 타임 렌더링 최적화 사실상 이 발표의 핵심..
  • 16. 인스턴싱 • 다른 장치에서 GPU 로의 자원 이동엔 시간이 오래 걸림 • 중복되는 기하 정보를 가진 객체들은 한 번의 드로우콜에 모아서 그려냄 • 10개가 있다면 5개로 묶어서 2번의 드로우콜을 써서 그릴 수 있다. • 배칭을 줄이는 것이 핵심. (버텍스 버퍼나 인덱스 버퍼도 포함)
  • 17.
  • 18. 커맨드 버퍼 또는 커맨드 리스트 • 말그대로 명령을 저장하는 공간 • 검은사막 엔진 • 그래픽 커맨드를 커맨드 버퍼에 기록 • 렌더 스레드에서 커맨드 버퍼에 있는 명령을 실행 (DirectX 의 Deferred Context 개념) • 멀티 스레드 렌더링에서 필수
  • 19. 렌더 스케일링 • 현재 설정된 해상도와 실제 렌더된 이미지 해상도의 비율 차 • 1920 * 1080 (100%) 이라면 1920 * 1080 그대로 • 1920 * 1080 (50%) 이라면 960 * 540 사이즈로 렌더 • 100% 를 초과하는 경우는 업스케일링 (바이큐빅 업샘플링) • 윈도우 크기를 유지한체 낮은 해상도(좋은 성능)로 플레이하기 위해 이용
  • 20.
  • 21. 레퍼런스 • https://www.slideshare.net/cagetu/ndc11-hdr (NDC 2011 이창 희님 발표) • https://www.youtube.com/watch?v=O5nJLTCGvEA&t=49s (Render Scale Comparison - CryBox7 Overwatch 채널)