SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
HDR 소개와
고정 파이프라인상 구현 제안
      김성익(noerror@hitel.net)
      http://digibath.com/noerror

                     2005.03.20
Introduction
    게임 개발에서 타겟 하드웨어
    실시간 게임 비주얼에서의 개성 있는 빛의
    표현         Unreal 3




    HDR 소개
    고정 파이프라인으로 구현 가능한 HDR
2
HDR
    High Dynamic Range Rendering 이란 ?

    실세계에서의 색(반사되는 빛)의 깊이
    실제 인식하는 색의 깊이

    안구의 빛의 정보량 조절
    카메라의 노출(Exposure)
3
HDR Issue
    노출에 따른 색의 표현 (*) Exposure Control
    적당한 노출도 산출

    고 정밀도 텍스처 사용




4
Exposure
    셔터스피드 1/1000, 1/250 초




    노출에 의한 색의 분포 특성
5
Over Exposure
    셔터스피드 1/125, 1/60의 영상




    오버슛 되는 부분의 특성
6
Exposure Image
    셔터스피드가 작은 영상, 셔터스피드가 큰
    영상의 밝기를 조절한 영상 비교




    오버슛되는 부분의 번지는 느낌, 색 깊이
7
AE : Auto Exposure
    카메라의 자동 노출 이미지




    색이 풍부하도록 적당한 노출 값 산출
8
AE : Auto Exposure (2)
    화면 색의 분포에 따른 밝기의 변화




9
Exposure Control (1)
     렌더링 => 글래어 Glare => 톤 매핑 Tone
     Map




     고정밀도 버퍼에 렌더링
     저정밀도 버퍼에 렌더링 + 알파채널 Lum

10
Exposure Control (2)
     글래어 이미지

     톤 매핑 : 다이나믹 레인지 => 고정 범위




11
고 정밀도 텍스처
     다이나믹 레인지에 따라 화질이 손상이 거
     의 없다.




     OpenEXR
     Radiance (.hdr) Format
12
제한적인 HDR
     Direct3D Fixed Pipeline으로 구현가능함
     이 목표

     정석적인 HDR과 비슷한 결과




13
렌더링 파이프라인
     1. HDR 씬 렌더링 => 글래어 => 톤매핑
     2. HDR 씬 렌더링 => 톤매핑 => 글래어
       퀄리티가 1보다 낮음. why


     3. 직접 Lumscale 을 색의 밝기에 적용하여
     렌더링 => 글래어
      렌더링 단계에서 톤매핑의 과정을 포함

14
간략화된 Lumave 계산 – 2 pass
     RenderTarget 을 이용해서 작은 텍스처에
     렌더링
     전체씬을 2 pass 렌더링
     픽셀값이 saturation 되는 일을 막기 위해
     어둡게 렌더링
     적은수의 임의의 위치의 픽셀을 샘플링하
     여 Lumave 계산 어둡게 렌더링한 부분 고려

15
간략화된 Lumave 계산 - 근사
     오브젝트별로 상수 Lum 값과, 크기
     렌더링되는 오브젝트의 Lum, 크기를 이용
     하여 대략적인 Lumave 계산
     빠른 연산가능




16
더 밝게 렌더링
     Lumscale 은 버텍스의 칼라, 혹은 라이트의
     칼라를 이용하여 적용

     텍스처 블랜딩을 3DTOP_MODULATE4X
     을 이용하면 Lumscale 은 0에서 4.0까지 가
     능. 멀티 텍스처링 이용하면 더 범위를 높일 수도 있다.


17
글래어 glare
     렌더링한 프레임 버퍼를 StretchRect 로 다
     운 셈플링
     다른 텍스처에 블러 이미지를 렌더링




     전체화면에 알파로 블러 이미지를 렌더링
18
고정밀도 텍스처 대안
     텍스처는 색이 풍부한 (노출 보정된) 상태
     로 만들며, 텍스처 전체에 대해선 상수 배의
     밝기 값 (bias) 을 가진다




19
단점/장점
     스케일 된 상태로 렌더링 해야 하므로, 픽
     셀 연산에 제약이 생김
     프레임 버퍼에 직접 스케일하여 찍기 때문
     에 1.0을 넘는 표현 불가능 (글래어 이미지의 디
     테일이 떨어짐)
     값이 클리핑이 많이 되어 HDR 특유의 선
     명한 이미지는 표현 안됨
     but, 대중적인 사양에서도 표현 가능
20
질문




21
참고 (1)
      High Dynamic Range Rendering on the
     GeForce 6800 High Dynamic
      GDC2003, 2004 : High Dynamic Range
     Rendering by Masaki Kawase
      Real-Time 3D Scene Post-processing –
     Jason L. Mitchell


22
참고 (2)
      Rendering High Dynamic Range Images
     by Jeffrey M. Dicarlo
      Photographic Tone Reproduction for
     Digital Images by Eric Reinhard
      http://www.debevec.org
      OpenEXR : http://www.openexr.com


23

Contenu connexe

Tendances

Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art TechnologiesSangYun Yi
 
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌민웅 이
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)민웅 이
 
Unite2015 probelight(150417)
Unite2015 probelight(150417)Unite2015 probelight(150417)
Unite2015 probelight(150417)SangYun Yi
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해SangYun Yi
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1MoonLightMS
 
자동 동적 3차원 입체시각
자동 동적 3차원 입체시각자동 동적 3차원 입체시각
자동 동적 3차원 입체시각민웅 이
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정Dae Hyek KIM
 
리얼타임 렌더링 - 조명 입문편 -
리얼타임 렌더링 - 조명  입문편 -리얼타임 렌더링 - 조명  입문편 -
리얼타임 렌더링 - 조명 입문편 -Sukwoo Lee
 
포인트 셰도우
포인트 셰도우포인트 셰도우
포인트 셰도우Sukwoo Lee
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow MappingSukwoo Lee
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4민웅 이
 
Real-Time Global Illumination Techniques
Real-Time Global Illumination TechniquesReal-Time Global Illumination Techniques
Real-Time Global Illumination TechniquesJangho Lee
 
제노블레이도 2 ray marching을사용한 구름 표현
제노블레이도 2 ray marching을사용한 구름 표현제노블레이도 2 ray marching을사용한 구름 표현
제노블레이도 2 ray marching을사용한 구름 표현민웅 이
 
2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링Sukwoo Lee
 
[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)MinGeun Park
 

Tendances (20)

DOF Depth of Field
DOF Depth of FieldDOF Depth of Field
DOF Depth of Field
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art Technologies
 
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
 
Unite2015 probelight(150417)
Unite2015 probelight(150417)Unite2015 probelight(150417)
Unite2015 probelight(150417)
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해
 
Uncharted4 part1
Uncharted4 part1Uncharted4 part1
Uncharted4 part1
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1
 
자동 동적 3차원 입체시각
자동 동적 3차원 입체시각자동 동적 3차원 입체시각
자동 동적 3차원 입체시각
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정
 
리얼타임 렌더링 - 조명 입문편 -
리얼타임 렌더링 - 조명  입문편 -리얼타임 렌더링 - 조명  입문편 -
리얼타임 렌더링 - 조명 입문편 -
 
Bump Mapping
Bump MappingBump Mapping
Bump Mapping
 
포인트 셰도우
포인트 셰도우포인트 셰도우
포인트 셰도우
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4
 
Real-Time Global Illumination Techniques
Real-Time Global Illumination TechniquesReal-Time Global Illumination Techniques
Real-Time Global Illumination Techniques
 
제노블레이도 2 ray marching을사용한 구름 표현
제노블레이도 2 ray marching을사용한 구름 표현제노블레이도 2 ray marching을사용한 구름 표현
제노블레이도 2 ray marching을사용한 구름 표현
 
그림자 이야기
그림자 이야기그림자 이야기
그림자 이야기
 
2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링
 
[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)
 

En vedette

Engines, Tools, and Scripts
Engines, Tools, and ScriptsEngines, Tools, and Scripts
Engines, Tools, and ScriptsKalito Viscra
 
06_자동차물리입문(1)
06_자동차물리입문(1)06_자동차물리입문(1)
06_자동차물리입문(1)noerror
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁noerror
 
11_웹서비스활용
11_웹서비스활용11_웹서비스활용
11_웹서비스활용noerror
 
06_앰비언트어클루전 소개
06_앰비언트어클루전 소개06_앰비언트어클루전 소개
06_앰비언트어클루전 소개noerror
 
KGC06_적응성 있는 자원 흐름 관리
KGC06_적응성 있는 자원 흐름 관리KGC06_적응성 있는 자원 흐름 관리
KGC06_적응성 있는 자원 흐름 관리noerror
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editornoerror
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성noerror
 
15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlasnoerror
 
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집noerror
 

En vedette (11)

Engines, Tools, and Scripts
Engines, Tools, and ScriptsEngines, Tools, and Scripts
Engines, Tools, and Scripts
 
06_자동차물리입문(1)
06_자동차물리입문(1)06_자동차물리입문(1)
06_자동차물리입문(1)
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁
 
11_웹서비스활용
11_웹서비스활용11_웹서비스활용
11_웹서비스활용
 
06_앰비언트어클루전 소개
06_앰비언트어클루전 소개06_앰비언트어클루전 소개
06_앰비언트어클루전 소개
 
KGC06_적응성 있는 자원 흐름 관리
KGC06_적응성 있는 자원 흐름 관리KGC06_적응성 있는 자원 흐름 관리
KGC06_적응성 있는 자원 흐름 관리
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editor
 
Ssao
SsaoSsao
Ssao
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성
 
15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
 
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
 

Similaire à 06_HDR 소개

Devtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdayDevtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdaySangYun Yi
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2JP Jung
 
111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_webCARROTCG
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2Kyoung Seok(경석) Ko(고)
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환Yggdrasil610
 
10_Human Skin Rendering
10_Human Skin Rendering10_Human Skin Rendering
10_Human Skin Renderingnoerror
 
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field종빈 오
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Dae Hyek KIM
 
Ch4 1 digital_image
Ch4 1 digital_imageCh4 1 digital_image
Ch4 1 digital_imageDonghoi Kim
 
컴퓨터 그래픽스 2015-2019년 출석수업대체시험
컴퓨터 그래픽스 2015-2019년 출석수업대체시험컴퓨터 그래픽스 2015-2019년 출석수업대체시험
컴퓨터 그래픽스 2015-2019년 출석수업대체시험Lee Sang-Ho
 
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기YOUNGJO CHO
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법noerror
 
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과WonKee Kim
 
HDR FX 소개서 - 젤리버스
HDR FX 소개서 - 젤리버스HDR FX 소개서 - 젤리버스
HDR FX 소개서 - 젤리버스Sejoong Kim
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius projectWuwon Yu
 
UHD HDR "Dance untold story"
UHD HDR "Dance untold story"UHD HDR "Dance untold story"
UHD HDR "Dance untold story"승윤 이
 

Similaire à 06_HDR 소개 (20)

Devtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdayDevtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stday
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2
 
111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환
 
Color Control
Color ControlColor Control
Color Control
 
10_Human Skin Rendering
10_Human Skin Rendering10_Human Skin Rendering
10_Human Skin Rendering
 
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
 
Ch4 1 digital_image
Ch4 1 digital_imageCh4 1 digital_image
Ch4 1 digital_image
 
컴퓨터 그래픽스 2015-2019년 출석수업대체시험
컴퓨터 그래픽스 2015-2019년 출석수업대체시험컴퓨터 그래픽스 2015-2019년 출석수업대체시험
컴퓨터 그래픽스 2015-2019년 출석수업대체시험
 
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
 
Android camera basics
Android camera basicsAndroid camera basics
Android camera basics
 
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
 
HDR FX 소개서 - 젤리버스
HDR FX 소개서 - 젤리버스HDR FX 소개서 - 젤리버스
HDR FX 소개서 - 젤리버스
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius project
 
UHD HDR "Dance untold story"
UHD HDR "Dance untold story"UHD HDR "Dance untold story"
UHD HDR "Dance untold story"
 

Plus de noerror

NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현noerror
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문noerror
 
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템noerror
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법noerror
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법noerror
 
08_Marching Cube Terrains
08_Marching Cube Terrains08_Marching Cube Terrains
08_Marching Cube Terrainsnoerror
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드noerror
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기noerror
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강noerror
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개noerror
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문noerror
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개noerror
 
05_Reliable UDP 구현
05_Reliable UDP 구현05_Reliable UDP 구현
05_Reliable UDP 구현noerror
 
05_스마트 포인터 구현하기
05_스마트 포인터 구현하기05_스마트 포인터 구현하기
05_스마트 포인터 구현하기noerror
 
05_벡터와 매트릭스
05_벡터와 매트릭스05_벡터와 매트릭스
05_벡터와 매트릭스noerror
 
05_STL컨테이너정리
05_STL컨테이너정리05_STL컨테이너정리
05_STL컨테이너정리noerror
 
05_동기화_개요
05_동기화_개요05_동기화_개요
05_동기화_개요noerror
 
05_글로벌일루미네이션
05_글로벌일루미네이션05_글로벌일루미네이션
05_글로벌일루미네이션noerror
 
05_컴파일러최적화전략(1)
05_컴파일러최적화전략(1)05_컴파일러최적화전략(1)
05_컴파일러최적화전략(1)noerror
 
04_장면 관리 개요
04_장면 관리 개요04_장면 관리 개요
04_장면 관리 개요noerror
 

Plus de noerror (20)

NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문
 
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
 
08_Marching Cube Terrains
08_Marching Cube Terrains08_Marching Cube Terrains
08_Marching Cube Terrains
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개
 
05_Reliable UDP 구현
05_Reliable UDP 구현05_Reliable UDP 구현
05_Reliable UDP 구현
 
05_스마트 포인터 구현하기
05_스마트 포인터 구현하기05_스마트 포인터 구현하기
05_스마트 포인터 구현하기
 
05_벡터와 매트릭스
05_벡터와 매트릭스05_벡터와 매트릭스
05_벡터와 매트릭스
 
05_STL컨테이너정리
05_STL컨테이너정리05_STL컨테이너정리
05_STL컨테이너정리
 
05_동기화_개요
05_동기화_개요05_동기화_개요
05_동기화_개요
 
05_글로벌일루미네이션
05_글로벌일루미네이션05_글로벌일루미네이션
05_글로벌일루미네이션
 
05_컴파일러최적화전략(1)
05_컴파일러최적화전략(1)05_컴파일러최적화전략(1)
05_컴파일러최적화전략(1)
 
04_장면 관리 개요
04_장면 관리 개요04_장면 관리 개요
04_장면 관리 개요
 

06_HDR 소개

  • 1. HDR 소개와 고정 파이프라인상 구현 제안 김성익(noerror@hitel.net) http://digibath.com/noerror 2005.03.20
  • 2. Introduction 게임 개발에서 타겟 하드웨어 실시간 게임 비주얼에서의 개성 있는 빛의 표현 Unreal 3 HDR 소개 고정 파이프라인으로 구현 가능한 HDR 2
  • 3. HDR High Dynamic Range Rendering 이란 ? 실세계에서의 색(반사되는 빛)의 깊이 실제 인식하는 색의 깊이 안구의 빛의 정보량 조절 카메라의 노출(Exposure) 3
  • 4. HDR Issue 노출에 따른 색의 표현 (*) Exposure Control 적당한 노출도 산출 고 정밀도 텍스처 사용 4
  • 5. Exposure 셔터스피드 1/1000, 1/250 초 노출에 의한 색의 분포 특성 5
  • 6. Over Exposure 셔터스피드 1/125, 1/60의 영상 오버슛 되는 부분의 특성 6
  • 7. Exposure Image 셔터스피드가 작은 영상, 셔터스피드가 큰 영상의 밝기를 조절한 영상 비교 오버슛되는 부분의 번지는 느낌, 색 깊이 7
  • 8. AE : Auto Exposure 카메라의 자동 노출 이미지 색이 풍부하도록 적당한 노출 값 산출 8
  • 9. AE : Auto Exposure (2) 화면 색의 분포에 따른 밝기의 변화 9
  • 10. Exposure Control (1) 렌더링 => 글래어 Glare => 톤 매핑 Tone Map 고정밀도 버퍼에 렌더링 저정밀도 버퍼에 렌더링 + 알파채널 Lum 10
  • 11. Exposure Control (2) 글래어 이미지 톤 매핑 : 다이나믹 레인지 => 고정 범위 11
  • 12. 고 정밀도 텍스처 다이나믹 레인지에 따라 화질이 손상이 거 의 없다. OpenEXR Radiance (.hdr) Format 12
  • 13. 제한적인 HDR Direct3D Fixed Pipeline으로 구현가능함 이 목표 정석적인 HDR과 비슷한 결과 13
  • 14. 렌더링 파이프라인 1. HDR 씬 렌더링 => 글래어 => 톤매핑 2. HDR 씬 렌더링 => 톤매핑 => 글래어 퀄리티가 1보다 낮음. why 3. 직접 Lumscale 을 색의 밝기에 적용하여 렌더링 => 글래어 렌더링 단계에서 톤매핑의 과정을 포함 14
  • 15. 간략화된 Lumave 계산 – 2 pass RenderTarget 을 이용해서 작은 텍스처에 렌더링 전체씬을 2 pass 렌더링 픽셀값이 saturation 되는 일을 막기 위해 어둡게 렌더링 적은수의 임의의 위치의 픽셀을 샘플링하 여 Lumave 계산 어둡게 렌더링한 부분 고려 15
  • 16. 간략화된 Lumave 계산 - 근사 오브젝트별로 상수 Lum 값과, 크기 렌더링되는 오브젝트의 Lum, 크기를 이용 하여 대략적인 Lumave 계산 빠른 연산가능 16
  • 17. 더 밝게 렌더링 Lumscale 은 버텍스의 칼라, 혹은 라이트의 칼라를 이용하여 적용 텍스처 블랜딩을 3DTOP_MODULATE4X 을 이용하면 Lumscale 은 0에서 4.0까지 가 능. 멀티 텍스처링 이용하면 더 범위를 높일 수도 있다. 17
  • 18. 글래어 glare 렌더링한 프레임 버퍼를 StretchRect 로 다 운 셈플링 다른 텍스처에 블러 이미지를 렌더링 전체화면에 알파로 블러 이미지를 렌더링 18
  • 19. 고정밀도 텍스처 대안 텍스처는 색이 풍부한 (노출 보정된) 상태 로 만들며, 텍스처 전체에 대해선 상수 배의 밝기 값 (bias) 을 가진다 19
  • 20. 단점/장점 스케일 된 상태로 렌더링 해야 하므로, 픽 셀 연산에 제약이 생김 프레임 버퍼에 직접 스케일하여 찍기 때문 에 1.0을 넘는 표현 불가능 (글래어 이미지의 디 테일이 떨어짐) 값이 클리핑이 많이 되어 HDR 특유의 선 명한 이미지는 표현 안됨 but, 대중적인 사양에서도 표현 가능 20
  • 22. 참고 (1) High Dynamic Range Rendering on the GeForce 6800 High Dynamic GDC2003, 2004 : High Dynamic Range Rendering by Masaki Kawase Real-Time 3D Scene Post-processing – Jason L. Mitchell 22
  • 23. 참고 (2) Rendering High Dynamic Range Images by Jeffrey M. Dicarlo Photographic Tone Reproduction for Digital Images by Eric Reinhard http://www.debevec.org OpenEXR : http://www.openexr.com 23