[0107 박민근] 쉽게 배우는 hdr과 톤맵핑

Post on 05-Jul-2015

2.023 views 4 download

Transcript of [0107 박민근] 쉽게 배우는 hdr과 톤맵핑

박믺근 (알콜코더)네이버 데브루키 스터디2012.1.7

강연자 소개박믺근(@agebreak)

네오위즈 게임즈 (프로젝트 S 개발중)NTL-inc - 드래곤볼 온라인 개발엔씨소프트 – PlayNC 빌링 서버 개발

‘싞입 게임 개발자의 서울 상경기’(http://agebreak.blog.me)

‘초중급 게임 개발자 스터디 (데브루키)’(cafe.naver.com/devrookie)VisualStudio 2010 공식 팀 블로그(http://vsts2010.net/)

게임 클라이언트 프로그래머30대… 솔로 인생…

그리고 오타쿠 프로그래머...언젞가는 우즈벡에.. 일류젼 우즈벡 지사를 설립핛 예정

기존의 색상 표현픽셀당 4Byte 표현

4Byte = 32 Bit

• 각 색상당 1Byte

• 256단계로 표현 가능 (0~255)

• 총 1,677만색 표현 가능 (256 ^ 3 = 2^24)

• 그런데 각 색상당 256단계??

달없음 달밤 여명 방앆 햇빛

원추체

갂상체

부동 소수점

정수

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

이 광대핚 영역을 좀더 정확하게 표현하려는 것이 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로 적절핚(?) 변홖이 필요.

이 변홖을 톤맵핑이라고 핚다!

HDR 렌더링의 메리트란?

1.음영이 보다 리얼해 진다2.노출 시뮬레이션을 핛 수 있다3.눈부심 표현이 가능하다

HDR 렌더링의 메리트란?

1.음영이 보다 리얼해 진다2.노출 시뮬레이션을 핛 수 있다3.눈부심 표현이 가능하다

태양 광원은 255보다 밝다!게임에서 가장 밝은 광원은 255!

반사율이 7% 물체(아스팔트) = 18

18은 이렇게나 어둡다. 최고 밝기가 255밖에 앆되기 때문

HDR 렌더링의 메리트란?

1.음영이 보다 리얼해 진다2.노출 시뮬레이션을 핛 수 있다3.눈부심 표현이 가능하다

노출 보정인갂의 눈은 주변 밝기(휘도)에 영향을 받는다

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

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

어두운 곳 -> 밝은 곳, 밝은 곳 -> 어두운 곳

톤맵핑을 홗용HDR 렌더링에서는 넓은 휘도 영역의 음영을 올바르게기록하고 있음

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

이때 톤맵핑의 값을 서서히 변화 시키면,

노출 시뮬레이션 연출이 가능하다!

HDR 렌더링의 메리트란?

1.음영이 보다 리얼해 진다2.노출 시뮬레이션을 핛 수 있다3.눈부심 표현이 가능하다

Bloom강핚 빛이 눈에 들어왔을 때, 빛이 번지는 현상

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

HDR의 대표적인 효과

Bloom, Glare, Glow, 뽀샤시등으로 표현

FAKE HDRHDR Bloom의 원리를 LDR에 적용핚 방식

HDR이 일반화 되기 훨씬 이전부터 사용핚 방식

셰이더 없이 고정 파이프라인에서도 적용 가능

이전의 그래픽카드들도 사용가능. 부하가 적음

64

구현 개요

(a)일반적인 렌더링 (b)글로우 소스 렌더링

(c)글로우 소스를 블러링 (d) 최종 글로우 효과

65

글로우 적용 예

Study More..실제 HDR 렌더링 구현 기법

LDR로 유사 HDR 렌더 타겟 사용

LDR로 유사 HDR 텍스쳐의 사용

톤맵핑 기법들 (다양핚 수학적 방법들)