SlideShare ist ein Scribd-Unternehmen logo
1 von 97
Downloaden Sie, um offline zu lesen
강연자 소개
박민근           (@agebreak)
네오위즈 게임즈 (야구의 신 개발중)
NTL-inc - 드래곤볼 온라인 개발
엔씨소프트 – PlayNC 빌링 서버 개발



(http://agebreak.blog.me)


(cafe.naver.com/devrookie)
HDR == 뽀샤시?

         뽀샤시(Bloom)는

         HDR을 적용했을때

HDR      나오는 대표적 효과중

         하나일뿐
기존의 색상 표현
     픽셀당 4Byte 표현

      4Byte = 32 Bit
•   각 색상당 1Byte (8 bit)
•   256단계로 표현 가능 (0~255)
•   총 1,677만색 표현 가능 (256 ^ 3 = 2^24)
•   그런데 각 색상당 256단계??
태양은 무슨색?



RGB : 255, 255, 255   RGB : 255, 255, 255
달없음   달밤    여명       방안         햇빛



                          원추체


           간상체
            부동 소수점


                     정수
다이나믹 레인지
   = 표현의 범위

이 광대한 영역을 좀더 정확하게 표현
하려는 것이 HDR의 기본 접근이다.
•   색상당 16비트 부동소수점으로 표현
•   FP16 (Floting Point 16bit)
•   64비트 버퍼 사용 ( 16 * 4)
•   부호 1비트, 가수 10비트, 지수 5비트
•   약 4.4 X 10^12 색상 표현 가능
•   기존의 RGB8은 LDR(Low) 이라고 부름
출처 : [NDC11] 올바른 HDR을 이용한 Bloom과 HDR - 이창희
왜? 지금 가능한가?

비디오 메모리를 2배로 소비
대역이나 버스 성능이 2배가 요구 된다
=> DX9/SM2.0에서는 어려움
DX 10/SM 4.0 시대에서야 가능해졌다
하지만… 모니터는…
그래픽 카드에서 아무리
넓게 계산해도…
결국 모니터는 4바이트
RGB밖에 표시 못함
ㅠ.ㅠ
그래서.. 이런 HDR용 디스플레이가
따로 존재하기도 합니다~~~ (물론 비쌈...=ㅅ=)
그럼 의미없네..ㅅㅂ
그래~~서! 셰이더 내에서는 HDR로 계산을 하고,
렌더링시에는 LDR로 적절한(?) 변환이 필요.


이 변환을        이라고 한다!
톤 매핑
1.화면의 평균 휘도를 구한다.
2.평균 휘도를 키값으로 하여, 표시 가능한
 1,677만색(RGB8)로 매핑한다
3.실시간이 아닌, 약간 지연해서 실행한다
톤 매핑의 필요성
축소 버퍼를 이용한 평균 휘도 계측
HDR 렌더링의 메리트란?

1.음영이 보다 리얼해 진다
2.노출 시뮬레이션을 할 수 있다
3.눈부심 표현이 가능하다
HDR 렌더링의 메리트란?

1.음영이 보다 리얼해 진다
2.노출 시뮬레이션을 할 수 있다
3.눈부심 표현이 가능하다
태양 광원은 255보다 밝다!
                      게임에서 가장 밝은 광원은 255!
                      반사율이 7% 물체(아스팔트) = 18


18은 이렇게나 어둡다.
최고 밝기가 255밖에 안되기 때문
하지만 HDR에서는!
1이상의 밝기(광도)가 저장 가능
색상의 최대값이 255보다 훨씬 크다!

더욱 밝고! 더욱 리얼한 음영의 계산이 가능!
HDR 렌더링의 메리트란?

1.음영이 보다 리얼해 진다
2.노출 시뮬레이션을 할 수 있다
3.눈부심 표현이 가능하다
노출 보정
인간의 눈은 주변 밝기(휘도)에 영향을 받는다

방안에서의 휴대폰 액정과 야외 태양 밑에서의 휴대폰 액정

주변 밝기에 따른 사람의 눈의 적응 문제

어두운 곳 -> 밝은 곳, 밝은 곳 -> 어두운 곳
톤맵핑을 활용
HDR 렌더링에서는 넓은 휘도 영역의 음영을 올바르게
기록하고 있음

씬의 평균 휘도를 구하여 그 값을 중심으로 톤매핑을
적용

이때 톤맵핑의 값을 서서히 변화 시키면,
노출 시뮬레이션 연출이 가능하다!
노출 보정 시뮬레이션
1. 현재 씬의 평균 휘도로 톤매핑 (일반적)
2. 휘도가 급격하게 변하는 씬의 평균 휘도로 톤매핑을 변경한다
3. 이때 이 변화를 일부러 지연해서 실행한다.
노출 보정 시뮬레이션


평균 휘도가 낮은 씬   평균 휘도가 높은 씬    적응 완료!

              톤맵핑 수치는 기존 씬   현재 씬의 평
              과 같기 때문에 눈부시   균 휘도로 톤
              게 보인다          매핑한다
HDR 렌더링의 메리트란?

1.음영이 보다 리얼해 진다
2.노출 시뮬레이션을 할 수 있다
3.눈부심 표현이 가능하다
Bloom
강한 빛이 눈에 들어왔을 때, 빛이 번지는 현상

강한 빛이 렌즈나, 속눈썹에서 산란되어서 생기는 현상

HDR의 대표적인 효과

Bloom, Glare, Glow, 뽀샤시등으로 표현
가우시안 필터(Gaussian Filter)
Kawase식 MGF(Multiple Gaussian Filter)

전체 화면에 Blur를 먹이면 부하가 너무 크다!
축소 버퍼에서의 가우시안 필터법
Kawase식 MGF(Multiple Gaussian Filter)
      1. 해상도를 줄여서 가우시안 필터를 적용한다
Kawase식 MGF(Multiple Gaussian Filter)
      2. 같은 해상도로 확대한다. (바이리니어 필터)
Kawase식 MGF(Multiple Gaussian Filter)
      2. 모두 합성하면 완성
스타오션3에서의 응용
FAKE HDR
32bit 버퍼에 HDR 정보를 압축해서 담는 테크닉

LDR에서 HDR을 흉내낸 기법이 사용 가능

a 채널에 휘도 정보를 넣어서 인코딩 및 디코딩

이전의 콘솔게임들에서도 다양하게 사용 되었다.
Half Life 2 (2004)
FAKE HDR – LDR을 HDR로 맵핑
                   해상도(색표현)을 낮추고,
                   휘도 표현을 2배(4배)로 한다
FAKE HDR - Bloom
HDR Bloom의 원리를 LDR에 적용한 방식
HDR이 일반화 되기 훨씬 이전부터 사용한 방식
색상이 흰색에 가까우면 밝은색이라고 판단 (240이상)
셰이더 없이 고정 파이프라인에서도 적용 가능
이전의 그래픽카드들도 사용가능. 부하가 적음
구현 개요
(a)일반적인 렌더링 (b)글로우 소스 렌더링
(c)글로우 소스를 블러링 (d) 최종 글로우 효과
글로우 적용 예
Study More..
실제 HDR 렌더링 구현 기법

LDR로 유사 HDR 렌더 타겟 사용

LDR로 유사 HDR 텍스쳐의 사용

톤맵핑 기법들 (다양한 수학적 방법들)
참고 자료
• [번역]3D 그래픽스 매니악스 - 알로샤
• [NDC11] 올바른 HDR을 이용한 Bloom과 DOF - 이창희
• 니시카와 젠지의 3D 게임 팬을 위한 “소닉 월드 어드벤처” 그래픽스
• 리얼 타임 글로우 – 최지호(KASA 스터디)
Special Thanks




꽃미남 포프,대마왕님, 오즈라엘, 이창희, 진혀니,친절한티스, 달땡땡, 레아횽, 꽃기자 Vito



정호햄, 안석햄, 해보리, 퐁퐁퐁, 영준이, 경원이, 재홍이, 화저, 미소녀인정, 세하님
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근

Weitere ähnliche Inhalte

Was ist angesagt?

Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리changehee lee
 
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희changehee lee
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)MinGeun Park
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)포프 김
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술Ki Hyunwoo
 
물리 기반 셰이더의 이해
물리 기반 셰이더의 이해물리 기반 셰이더의 이해
물리 기반 셰이더의 이해tartist
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더동석 김
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lightingozlael ozlael
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow MappingSukwoo Lee
 
Implements Cascaded Shadow Maps with using Texture Array
Implements Cascaded Shadow Maps with using Texture ArrayImplements Cascaded Shadow Maps with using Texture Array
Implements Cascaded Shadow Maps with using Texture ArrayYEONG-CHEON YOU
 
PBR 기초 이론과 사용되는 맵들 Vol.3
PBR 기초 이론과 사용되는 맵들 Vol.3PBR 기초 이론과 사용되는 맵들 Vol.3
PBR 기초 이론과 사용되는 맵들 Vol.3Jooyoung Yi
 
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기Madumpa Park
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correctionMinGeun Park
 
2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑Sukwoo Lee
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정Dae Hyek KIM
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1MoonLightMS
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현MinGeun Park
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space MarinePope Kim
 

Was ist angesagt? (20)

Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리
 
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
 
물리 기반 셰이더의 이해
물리 기반 셰이더의 이해물리 기반 셰이더의 이해
물리 기반 셰이더의 이해
 
Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더Brdf기반 사전정의 스킨 셰이더
Brdf기반 사전정의 스킨 셰이더
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lighting
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
Implements Cascaded Shadow Maps with using Texture Array
Implements Cascaded Shadow Maps with using Texture ArrayImplements Cascaded Shadow Maps with using Texture Array
Implements Cascaded Shadow Maps with using Texture Array
 
카툰 렌더링
카툰 렌더링카툰 렌더링
카툰 렌더링
 
PBR 기초 이론과 사용되는 맵들 Vol.3
PBR 기초 이론과 사용되는 맵들 Vol.3PBR 기초 이론과 사용되는 맵들 Vol.3
PBR 기초 이론과 사용되는 맵들 Vol.3
 
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correction
 
2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
 

Ähnlich wie [Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근

06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개noerror
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art TechnologiesSangYun Yi
 
Gamma and linear color-space
Gamma and linear color-spaceGamma and linear color-space
Gamma and linear color-space민웅 이
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해SangYun Yi
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2JP Jung
 
UHD HDR "Dance untold story"
UHD HDR "Dance untold story"UHD HDR "Dance untold story"
UHD HDR "Dance untold story"승윤 이
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환Yggdrasil610
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
111028 ch 3_the digital representation of visual information
111028 ch 3_the digital representation of visual information111028 ch 3_the digital representation of visual information
111028 ch 3_the digital representation of visual informationCARROTCG
 
색감은 없지만 선형대수는 알지 - 색상 이론의 이해와 적용
색감은 없지만 선형대수는 알지 - 색상 이론의 이해와 적용색감은 없지만 선형대수는 알지 - 색상 이론의 이해와 적용
색감은 없지만 선형대수는 알지 - 색상 이론의 이해와 적용Mingi Shin
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2Kyoung Seok(경석) Ko(고)
 
컴퓨터 그래픽스 2015-2019년 출석수업대체시험
컴퓨터 그래픽스 2015-2019년 출석수업대체시험컴퓨터 그래픽스 2015-2019년 출석수업대체시험
컴퓨터 그래픽스 2015-2019년 출석수업대체시험Lee Sang-Ho
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4민웅 이
 
Devtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdayDevtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdaySangYun Yi
 
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)해강
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)민웅 이
 

Ähnlich wie [Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근 (20)

06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art Technologies
 
Uncharted4 part1
Uncharted4 part1Uncharted4 part1
Uncharted4 part1
 
Gamma and linear color-space
Gamma and linear color-spaceGamma and linear color-space
Gamma and linear color-space
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2
 
UHD HDR "Dance untold story"
UHD HDR "Dance untold story"UHD HDR "Dance untold story"
UHD HDR "Dance untold story"
 
Color Control
Color ControlColor Control
Color Control
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
111028 ch 3_the digital representation of visual information
111028 ch 3_the digital representation of visual information111028 ch 3_the digital representation of visual information
111028 ch 3_the digital representation of visual information
 
색감은 없지만 선형대수는 알지 - 색상 이론의 이해와 적용
색감은 없지만 선형대수는 알지 - 색상 이론의 이해와 적용색감은 없지만 선형대수는 알지 - 색상 이론의 이해와 적용
색감은 없지만 선형대수는 알지 - 색상 이론의 이해와 적용
 
Android camera basics
Android camera basicsAndroid camera basics
Android camera basics
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2
 
컴퓨터 그래픽스 2015-2019년 출석수업대체시험
컴퓨터 그래픽스 2015-2019년 출석수업대체시험컴퓨터 그래픽스 2015-2019년 출석수업대체시험
컴퓨터 그래픽스 2015-2019년 출석수업대체시험
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4
 
Devtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdayDevtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stday
 
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
 

Mehr von MinGeun Park

[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdfMinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석MinGeun Park
 
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이MinGeun Park
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐MinGeun Park
 
[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBRMinGeun Park
 
[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OTMinGeun Park
 
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.MinGeun Park
 
유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & TrickMinGeun Park
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)MinGeun Park
 
[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법MinGeun Park
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 MinGeun Park
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기MinGeun Park
 
[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기MinGeun Park
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개MinGeun Park
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술MinGeun Park
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 

Mehr von MinGeun Park (20)

[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
 
[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6
 
[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5
 
[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3
 
[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2
 
[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석
 
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐
 
[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR
 
[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT
 
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
 
유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
 
[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
 
[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
 

[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근

  • 1.
  • 2. 강연자 소개 박민근 (@agebreak) 네오위즈 게임즈 (야구의 신 개발중) NTL-inc - 드래곤볼 온라인 개발 엔씨소프트 – PlayNC 빌링 서버 개발 (http://agebreak.blog.me) (cafe.naver.com/devrookie)
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. HDR == 뽀샤시? 뽀샤시(Bloom)는 HDR을 적용했을때 HDR 나오는 대표적 효과중 하나일뿐
  • 22.
  • 23. 기존의 색상 표현 픽셀당 4Byte 표현 4Byte = 32 Bit
  • 24. 각 색상당 1Byte (8 bit) • 256단계로 표현 가능 (0~255) • 총 1,677만색 표현 가능 (256 ^ 3 = 2^24) • 그런데 각 색상당 256단계??
  • 25. 태양은 무슨색? RGB : 255, 255, 255 RGB : 255, 255, 255
  • 26.
  • 27. 달없음 달밤 여명 방안 햇빛 원추체 간상체 부동 소수점 정수
  • 28. 다이나믹 레인지 = 표현의 범위 이 광대한 영역을 좀더 정확하게 표현 하려는 것이 HDR의 기본 접근이다.
  • 29. 색상당 16비트 부동소수점으로 표현 • FP16 (Floting Point 16bit) • 64비트 버퍼 사용 ( 16 * 4) • 부호 1비트, 가수 10비트, 지수 5비트 • 약 4.4 X 10^12 색상 표현 가능 • 기존의 RGB8은 LDR(Low) 이라고 부름
  • 30. 출처 : [NDC11] 올바른 HDR을 이용한 Bloom과 HDR - 이창희
  • 31.
  • 32.
  • 33. 왜? 지금 가능한가? 비디오 메모리를 2배로 소비 대역이나 버스 성능이 2배가 요구 된다 => DX9/SM2.0에서는 어려움 DX 10/SM 4.0 시대에서야 가능해졌다
  • 34. 하지만… 모니터는… 그래픽 카드에서 아무리 넓게 계산해도… 결국 모니터는 4바이트 RGB밖에 표시 못함 ㅠ.ㅠ
  • 35. 그래서.. 이런 HDR용 디스플레이가 따로 존재하기도 합니다~~~ (물론 비쌈...=ㅅ=)
  • 36. 그럼 의미없네..ㅅㅂ 그래~~서! 셰이더 내에서는 HDR로 계산을 하고, 렌더링시에는 LDR로 적절한(?) 변환이 필요. 이 변환을 이라고 한다!
  • 37.
  • 38.
  • 39. 톤 매핑 1.화면의 평균 휘도를 구한다. 2.평균 휘도를 키값으로 하여, 표시 가능한 1,677만색(RGB8)로 매핑한다 3.실시간이 아닌, 약간 지연해서 실행한다
  • 41.
  • 42.
  • 43.
  • 44. 축소 버퍼를 이용한 평균 휘도 계측
  • 45. HDR 렌더링의 메리트란? 1.음영이 보다 리얼해 진다 2.노출 시뮬레이션을 할 수 있다 3.눈부심 표현이 가능하다
  • 46. HDR 렌더링의 메리트란? 1.음영이 보다 리얼해 진다 2.노출 시뮬레이션을 할 수 있다 3.눈부심 표현이 가능하다
  • 47. 태양 광원은 255보다 밝다! 게임에서 가장 밝은 광원은 255! 반사율이 7% 물체(아스팔트) = 18 18은 이렇게나 어둡다. 최고 밝기가 255밖에 안되기 때문
  • 48. 하지만 HDR에서는! 1이상의 밝기(광도)가 저장 가능 색상의 최대값이 255보다 훨씬 크다! 더욱 밝고! 더욱 리얼한 음영의 계산이 가능!
  • 49.
  • 50.
  • 51. HDR 렌더링의 메리트란? 1.음영이 보다 리얼해 진다 2.노출 시뮬레이션을 할 수 있다 3.눈부심 표현이 가능하다
  • 52. 노출 보정 인간의 눈은 주변 밝기(휘도)에 영향을 받는다 방안에서의 휴대폰 액정과 야외 태양 밑에서의 휴대폰 액정 주변 밝기에 따른 사람의 눈의 적응 문제 어두운 곳 -> 밝은 곳, 밝은 곳 -> 어두운 곳
  • 53. 톤맵핑을 활용 HDR 렌더링에서는 넓은 휘도 영역의 음영을 올바르게 기록하고 있음 씬의 평균 휘도를 구하여 그 값을 중심으로 톤매핑을 적용 이때 톤맵핑의 값을 서서히 변화 시키면, 노출 시뮬레이션 연출이 가능하다!
  • 54.
  • 55.
  • 56.
  • 57.
  • 58. 노출 보정 시뮬레이션 1. 현재 씬의 평균 휘도로 톤매핑 (일반적) 2. 휘도가 급격하게 변하는 씬의 평균 휘도로 톤매핑을 변경한다 3. 이때 이 변화를 일부러 지연해서 실행한다.
  • 59. 노출 보정 시뮬레이션 평균 휘도가 낮은 씬 평균 휘도가 높은 씬 적응 완료! 톤맵핑 수치는 기존 씬 현재 씬의 평 과 같기 때문에 눈부시 균 휘도로 톤 게 보인다 매핑한다
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66. HDR 렌더링의 메리트란? 1.음영이 보다 리얼해 진다 2.노출 시뮬레이션을 할 수 있다 3.눈부심 표현이 가능하다
  • 67.
  • 68. Bloom 강한 빛이 눈에 들어왔을 때, 빛이 번지는 현상 강한 빛이 렌즈나, 속눈썹에서 산란되어서 생기는 현상 HDR의 대표적인 효과 Bloom, Glare, Glow, 뽀샤시등으로 표현
  • 69.
  • 70.
  • 71.
  • 72.
  • 74. Kawase식 MGF(Multiple Gaussian Filter) 전체 화면에 Blur를 먹이면 부하가 너무 크다! 축소 버퍼에서의 가우시안 필터법
  • 75. Kawase식 MGF(Multiple Gaussian Filter) 1. 해상도를 줄여서 가우시안 필터를 적용한다
  • 76. Kawase식 MGF(Multiple Gaussian Filter) 2. 같은 해상도로 확대한다. (바이리니어 필터)
  • 77. Kawase식 MGF(Multiple Gaussian Filter) 2. 모두 합성하면 완성
  • 79.
  • 80.
  • 81. FAKE HDR 32bit 버퍼에 HDR 정보를 압축해서 담는 테크닉 LDR에서 HDR을 흉내낸 기법이 사용 가능 a 채널에 휘도 정보를 넣어서 인코딩 및 디코딩 이전의 콘솔게임들에서도 다양하게 사용 되었다.
  • 82. Half Life 2 (2004)
  • 83.
  • 84.
  • 85. FAKE HDR – LDR을 HDR로 맵핑 해상도(색표현)을 낮추고, 휘도 표현을 2배(4배)로 한다
  • 86. FAKE HDR - Bloom HDR Bloom의 원리를 LDR에 적용한 방식 HDR이 일반화 되기 훨씬 이전부터 사용한 방식 색상이 흰색에 가까우면 밝은색이라고 판단 (240이상) 셰이더 없이 고정 파이프라인에서도 적용 가능 이전의 그래픽카드들도 사용가능. 부하가 적음
  • 87. 구현 개요 (a)일반적인 렌더링 (b)글로우 소스 렌더링 (c)글로우 소스를 블러링 (d) 최종 글로우 효과
  • 89.
  • 90.
  • 91.
  • 92.
  • 93. Study More.. 실제 HDR 렌더링 구현 기법 LDR로 유사 HDR 렌더 타겟 사용 LDR로 유사 HDR 텍스쳐의 사용 톤맵핑 기법들 (다양한 수학적 방법들)
  • 94. 참고 자료 • [번역]3D 그래픽스 매니악스 - 알로샤 • [NDC11] 올바른 HDR을 이용한 Bloom과 DOF - 이창희 • 니시카와 젠지의 3D 게임 팬을 위한 “소닉 월드 어드벤처” 그래픽스 • 리얼 타임 글로우 – 최지호(KASA 스터디)
  • 95.
  • 96. Special Thanks 꽃미남 포프,대마왕님, 오즈라엘, 이창희, 진혀니,친절한티스, 달땡땡, 레아횽, 꽃기자 Vito 정호햄, 안석햄, 해보리, 퐁퐁퐁, 영준이, 경원이, 재홍이, 화저, 미소녀인정, 세하님