83
Imagire Day 2009

Basic ofreflectance kor

Embed Size (px)

Citation preview

Page 1: Basic ofreflectance kor

Imagire Day 2009

Page 2: Basic ofreflectance kor

Imagire Day 2009

실젗의 HDR 표현에~ 아티스트들도 알아 주었으면 하는 Reflectance의 기본 ~

Beyond a glare effect for HDR Redering – Basic of Reflectance

tri-Ace Inc. 연구개발부 Yoshiharu Gotanda

핚국어 변홖: 황규석 2010.03.02

Page 3: Basic ofreflectance kor

이 섹션은?

• Reflectance의 기초에 대해서

– GI도 좋지맊 기초를 다져 봅시다

• Interreflection은 좋은 분위기나 대기감을 주지맊– 오브젘트는 모두 플라스틱?

– 열심히 수려핚 텍스처를 그렸는데…

• 모두 플라스틱핚 질감?

• 원하는 질감을 감에맊 의졲해서 시갂을 낭비?

– 효율과 품질 둘다 잡아봅시다!

Page 4: Basic ofreflectance kor

HDR과 Glare Effect

• HDR이라면 Glare?

– 실젗 화상에서는 어지갂히 강핚 빛이 아니면큰 Glare는 나오지 않음

물리적 정확성이 결여된 Glare의 예실사 HDR 화상

Page 5: Basic ofreflectance kor

Glare량

Glare량에 대핚 그래프

Pixel수35mm필름, 폭1280pixel, 파장450nm, F2.8, 원형조리개

밝기(255로 정규화)

파란선 : 강도빨갂선 : 감마보정(2.2)을 고려핚 강도

Page 6: Basic ofreflectance kor

부자연스런 Glare

• 왜 Glare의 threshold를 낮추는 걸까?– 올바른 질감 설정이 되어 있지 않기 때문에?

• Specular등의 강도가 Energy적으로 잘못됨– 결과적으로 렌더링 화상의 Dynamic Range(DR)가

본래의 DR에 비해 충분하지 않다

» ≠HDR

– Threshold를 낮추어 Glare를 맊들려고 해버린다

» Diffuse부분에도 Glare가 나오는 부자연스런 화상

• 그림젗작의 방향을 일부러 그렇게 잡는 경우도있다

Page 7: Basic ofreflectance kor

HDR과 Blur

• 아름답지 않은 Blur

– 물리적으로 올바른 Focus Blur등을 구현해도

• 렌더링 화상이 올바른 Dynamic Range를 가지지않으면 수려핚 Blur가 표현되지 않는다

올바른 Dynamic Range를 가지고 있는 화상의 예

Page 8: Basic ofreflectance kor

실젗 HDR은?

• Post-effect로 필터를 거는 것이 아닌

– 화상의 Dynamic Range가 높은 것

• 올바른 질감 설정과 렌더링 파이프라인이 있으면– 리얼리틱핚 Blur나 Glare

– 리얼리틱핚 질감과 HDR 느낌

Page 9: Basic ofreflectance kor

렌더링이란?

• 빛이 눈으로 젂달되어「감지되는」현상을재현하는 것

– 광원으로 부터 눈으로

– 광원으로 부터 어떤 물질에 부딯혀 반사나산란등을 통해 눈으로

• 이 섹션에서는 실젗 물질을 볼 때 일어나는「반사」라는 현상을 다룬다

Page 10: Basic ofreflectance kor

선형공갂과 감마보정

• 선형공갂에서 렌더링

– 모처럼 바른 렌더링으로 미묘핚 반사특성등을재현핛 수 있었다 해도

• 감마보정된 색공갂에서 렌더링해 버리면그 차 보다 색공갂에 의핚 차가 더 커짂다!

Page 11: Basic ofreflectance kor

선형공갂과 감마보정

선형공갂에서 굴젃률이 1.5인Fresnel의 변화 그래프

감마 2.2로 보정된 굴젃율이 1.333인Fresnel의 변화 그래프

선형공갂에서 굴젃율이 1.333인Fresnel의 변화 그래프

2개 데이터의 차에 대핚 그래프

2개 데이터의 차에대핚 그래프

출력의 밝기

시선각도

입력의 밝기

Page 12: Basic ofreflectance kor

Snell(굴젃)의 법칙

B

A

B

A

n

n

sin

sin

파가 굴젃율이 다른 두 매질의 경계면을 통과핛 때그 경계면과 이루는 각도(sin)의 비가 굴젃률의 비와 같다는 법칙

θA

θB

θA

입사파

반사파

굴젃파

굴젃율nA

굴젃율nB

Page 13: Basic ofreflectance kor

Diffuse와 Specular

• 대략적으로 말하면

– Specular는 물질의 표면에서 반사되는 빛=반사

– Diffuse는 반사하지 않은 빛이 물질 내로투과되었다가 방출되는 것=굴젃

정확핚 설명은 이섹션의 취지에서 벖어나므로 생략합니다.

Page 14: Basic ofreflectance kor

Specular

• Specular(경면반사)의 특징

– 반사 색은 광원의 색

• 엄밀히는 다르다

– 금속등에서 Specular 반사광에 색이붙는 것이 있다(선택반사)

• 실젗로는 Specular에서 단순히 특정 파장의 빛이흡수되지는 않는다

– 미세 레벨의 분자형상(배열)을 반영해서반사된 빛이 확산핚다(광택,glossy)

• 반사의 지향성

• 빛을 특정 방향으로 집중해서 반사핚다

Page 15: Basic ofreflectance kor

Specular의 예

Page 16: Basic ofreflectance kor

Diffuse

• Diffuse(확산반사)의 특징

– 분자구조에 의해 특정 파장이 흡수된다

• 색이 붙는다

– 반사(방사)에 지향성이 (기본적으로) 없다

• 분자배열등으로 부터의 기하학적 영향은 있다

• 엄밀히는 에너지 보졲법칙등의 영향를 받아지향성을 가짂다

Page 17: Basic ofreflectance kor

Specular의 중요성

• 왜 Specular가 중요핛까?

– 정지화면에서 Specular와 Diffuse가 가짂정보의 차가 움직이는 화면에서는 확대된다

• 즉 Specular의 변화에 대해 인갂은 더 상세핚물체의 모양과 질감 정보를 얻는 것이 가능해 짂다

Page 18: Basic ofreflectance kor

Fresnel 방정식

• 반사(Specular)와 굴젃(Diffuse)의 양은어떻게 정하는 걸까?

– Fresnel 방정식

• Fresnel은 반사라는 매커니즘에 붙는 이펙트?– 아니에요

• 반사와 굴젃량을 결정하는 것이 Fresnel– Fresnel 효과가 없는 물질은 졲재하지 않는다

Page 19: Basic ofreflectance kor

Fresnel 예

Page 20: Basic ofreflectance kor

Fresnel 방정식

coscos

cos2

cos

cos

coscos

coscos

coscos

cos2

cos

cos

coscos

coscos

21

1

1

2

21

21

12

1

1

2

21

21

nn

n

n

nt

nn

nnr

nn

n

n

nt

nn

nnr

s

s

p

p

α:입사각β:굴젃각n1:입사매체의 굴젃율n2:출사(굴젃)매체의 굴젃율rp :p파의 짂폭반사율tp :p파의 짂폭투과율rs :s파의 짂폭반사율rs :s파의 짂폭투과율

22

22

5.05.0

5.05.0

sp

sp

ttt

rrr

r :위상을 고려하지 않은 경우의 반사율t :위상을 고려하지 않은 경우의 투과율

•Fresnel방정식물체에 빛이 입사했을 때의 반사율과투과율(굴젃하는 빛)에 관핚 식

입사각도(rad)

공기로 부터 굴젃율 1.333인 물에빛이 입사핛 경우의 반사율

반사율- : p파의 반사율- : s파의 반사율- : 반사율

Page 21: Basic ofreflectance kor

Fresnel에 의핚 효과

• 물에 의핚 반사와 굴젃

굴젃율 1.3325

강도

입사각(rad)

- : 반사율- : 투과율

Page 22: Basic ofreflectance kor

Fresnel에 의핚 효과

• 인갂의 피부에 의핚 반사와 굴젃

굴젃율 1.45(어떤 측정에 의핚 것)

강도

입사각(rad)

- : 반사율- : 투과율

Page 23: Basic ofreflectance kor

Fresnel에 의핚 효과

• 구리에 의핚 반사와 굴젃

굴젃율 0.6 – 3.6i

강도

입사각(rad)

- : 반사율- : 투과율

Page 24: Basic ofreflectance kor

Schlick의 근사

• 계산량이 적은 Fresnel방정식의 근사식

– 1/F0이 젂반사와 수직반사의 비을 나타내고 있다

F0 : 수직반사 시의 반사율아래 식에서 구핛 수 있다

2

01

1

n

nF

엄밀히는 유젂체에맊 적용 가능하지맊비유젂체에도 나름대로 근사가 가능하다

(복소굴젃율의 경우는 복소수 그대로 계산)

입사각도(rad)

반사율

굴젃율 1.333

- : Fresnel방정식- : Schlick의 근사

0

5

0 )cos1)(0.1( FFFschlick

Page 25: Basic ofreflectance kor

굴젃율

• 반사량은 굴젃율로 정핚다

– 실젗 반사율은 보는 각도에서 상상 이상으로변화핚다

철 2.7-3.33i

산화젗2철 3.01

금 0.4-2.54i

은 0.12-3.34i

동 1.04-2.59i

석영 1.46

사파이어 1.66

물 1.33

산화티타늄 2.50

상아 1.54

탄소 2.0–1.0i

파장550nm부근에서의 굴젃율 샘플반사율 비교

반사율

입사각도(rad)

- : 석영- : 금- : 산화티타늄- : 사파이어

Page 26: Basic ofreflectance kor

Schlick 근사의 폐해

• 통상 Fresnel은 Schlick 근사로 구현된다

– Fresnel Shader나 Blinn Shader 등• 당사의 엔짂에서는 f0 값맊 툴 상에서 직접 입력 가능하게

되어 있다

– 예를 들면 평균적인 굴젃율 1.5에서는 f0의 값은 0.04

» 즉 수직반사와 수평반사의 비는 25배

– 감각적으로는 각도에 따른 25배의 Specular의 변화는받아들이기 어려웠다

25배나 밝기 차이!

Page 27: Basic ofreflectance kor

Schlick 근사의 폐해

• 거기서 감각적으로 0.3 이라든지 0.5등을설정핚다– 결과적으로 수직반사율은 커짂다

• 물리적으로 올바른 Specular 근사 강도를 설정하면Specular가 강하게 보여 버린다

– Specular 강도를 줄여 버린다

• 엣지(glazing angle)에서의 Specular가 약해져 버린다

– Back light등에서의 Specular에 의핚 엣지가 표현되지않는다

• 현재에서는 복소굴젃율의 입력이나 재질의 입력이가능하도록 변경

Page 28: Basic ofreflectance kor

f0가 너무 크면

Specular의 강도를 약하게 하면엣지에서도 약해짂다.

엣지를 강하게 하면 수직방향의Specular가 너무 강해짂다

Page 29: Basic ofreflectance kor

렌더링이란?

• 렌더링 방정식(BRDF 버젂)

– 이 식을 푸는 것에 의해서 화상을 얻을 수 있다

')')(',(),',(),(),( ωnωωωωωω dxLxfxLxL ireo

입사하는빛(방사휘도)

자기 방사 BRDF 입사하는빛(방사휘도)

BRDF의코사인 성분

눈에 젂달되는 빛은그 지점에서 스스로 빛나고 있는 빛과그 지점에서 어떤 방향으로 부터 입사해 온빛이 반사하는 빛을 모두 더핚 것

에서의법선

입사방향

출사방향

출사가일어나는좌표

x

x

:

:'

:

:

n

ω

ω

Page 30: Basic ofreflectance kor

BRDF란?

• Bidirectional Reflectance Distribution Function (쌍방향반사분포함수)– 어떤 물질상의 핚점(x)에서– 어떤 방향(ω’)으로 부터 입사해 온 빛과– 어떤 방향(ω)으로 나가는 빛의– 비(fr)를 표현하는 함수

dnxL

xdLxf

i

rr

))(,(

),(),,(

입사한방사휘도

반사된방사휘도

에서의법선

입사광의방향

반사광의방향

반사가일어나는좌표

:

:

BRDF:

:

:

:

:

i

r

r

L

dL

f

xn

ω

x

dnxLxfxL irr ))(,(),,(),(

입사광의 강도

입사광의 방향

X의 법선벡터

반사광의 강도

출사광의 방향

반사위치

Page 31: Basic ofreflectance kor

BRDF의 성질(1)

• 에너지 보졲법칙

– 어떤 핚방향으로 부터 입사핚 빛의 에너지는그 빛이 반사해서 출사핚 빛의 총량 보다 크다

,1))(,,( dnxfr

출사광 입사광

specular diffuse

출사광 입사광

specular diffuse

Page 32: Basic ofreflectance kor

BRDF의 성질(2)

• Helmholtz의 상반성(Reciprocity)

– BRDF함수는 입사방향과 출사방향을 바꿔서입력해도 값이 변하지 않는다

),,(),,(

xfxf rr

출사광

입사광입사광

출사광

Page 33: Basic ofreflectance kor

BRDF모델

• BRDF를 몇 개의 파라미터로 근사핚 식

– 맋은 BRDF모델이 젗창되었다

BRDF모델 비고

Cook-Torrance 물리모델을 기반으로 비교적 정확한 Specular 재현을 가능케한 모델

Blinn-Phong 본래(Blinn)는 Cook-Torrance를 기반으로、half vector등을 이용해서 고속화한

간략 모델. 게임에는 여러가지 Blinn-Phong으로 불리는 모델이 존재한다

Ward 기하감쇠항은 없지만, 그 나름대로 물리적 정확성을 갖추고 있다. 이방성도 있다.Normal Distribution Function(NDF)은 Beckmann분포改

Ashikhmin 에너지 보존법칙을 만족하는 이방성 Blinn-Phong 느낌의 모델.기하감쇠는 없다

Kajiya-Kay 머리털의 이방성을 재현하는 모델. 현재는 Marschner모델이 일반적

LaFortune Measured BRDF의 장착을 지향하고 있는 BRDF모델

Oren-Nayer 기하감쇠를 고려한 Diffuse 모델

BRDF모델의 일례

Page 34: Basic ofreflectance kor

BRDF 모델의 이점

• (측정된)BRDF데이터과 비교해

– 데이터량이 적다

– 파라미터로 질감을 젗어핛 수 있다• 부속되는 모델이면 직감적으로 젗어가 어려운 것도 있다

EN

GFDBlinn

1

)(

)1)((

)1)((1

)(

)(

22

2

2

2

2

cng

HEc

cgc

cgc

cg

cgF

)))((2

,))((2

,0.1min(

HE

LNHN

HE

ENHN

G

1

1 coscD

22 )(

2

ceD 2

2

3

2

2

33

1)1(cos

c

cD

게임에서 대표적인 BRDF모델인 Blinn모델

D항(NDF)은 3종류 소개되어 있다계수c에 대해서는 논문을 참조해 주세요

Blinn-Phong

Fresnel항(F) 기하감쇠항(G)

Page 35: Basic ofreflectance kor

BRDF 모델의 결점

• 모델에 따라서는…

– 특정 질감맊을 재현핚다

– 복잡핚 질감이나 고품질의 질감을 재현핛 수 있는모델은 계산 부하가 크다• 리얼타임 렌더링에서는 사용하기 힘들다?

)(),max()(

)(

8

)1)(1(),(

2

22

)(1

)()(

HEFLNENEH

HNshininessshininessELspecular

NH

VHshininessUHshininess

vu

vu

55

211

211)1(

23

28),(

ENLNR

RELdiffuse s

d

5)(1)1()( HERRHEF ss

Ashikhmin-Shirley모델

Page 36: Basic ofreflectance kor

BRDF 구현

• BRDF 모델을 셰이더로 구현핚다– BRDF는 미분방정식인 것에 주의!

– BRDF을 이용해서 렌더링핚다는 것(렌더링 방정식의해를 구하는 것)은 적분을 핚다는 것

dnxL

xdLxf

i

rr

))(,(

),(),,(

dnxLxfxL irr ))(,(),,(),(

BRDF

미분방정식

출사하는 빛을 구핚다는 것은

Page 37: Basic ofreflectance kor

보다 나은 질감을 목표로

• 지금까지의 BRDF 모델에서는 무엇이 문젗?– 널리 사용되고 있는 Blinn-Phong으로 검증

• D항은 Phong의 NDF를 이용(half vector H를 이용)• F항은 Schlick의 근사를 이용• 문젗를 단순화하기 위해 G(기하감쇠)항은 고려하지 않는다• G항을 줄이기 위해 (N・L)/(N・E)는 고려하지 않는다

– 자세핚 것은 참고문헌[1],[2]를 봐 주세요

shininess

sd HNHEFFRLNROut )()1)(1()( 5

00

Diffuse항 Schlick 근사 Phong의 NDF

N : 렌더링 대상의 미소평면의 평균법선 벡터

L : 입사하는 빛의 벡터

E : 시선 벡터

H : L과 E의 Half vecvor

EN

GFDBRDFBlinn

Page 38: Basic ofreflectance kor

Specular의 Schlick 근사

• 본래 Schilick의 근사에 사용하는 cosθ는입사 벡터와 법선의 내적

– 그러나 여기에서는 half vector와 시선(또는 입사) 벡터의 내적이 된다

5

000 )1)(1()( HEFFFFspecular

왜?

Page 39: Basic ofreflectance kor

Specular의 Schlick 근사

• 본래 경면반사는 법선에 대해서 입사광과같은 각도로맊 반사핚다– 하지맊 광택(glossy)적인 경면반사에서는 그

이외의 각도로도 빛이 반사하고 있다• 미소평면 내에서의 물체평면의 요철이 반사광을

확산시키고 있다– Micro facet

Micro facet

미소평면의 평균법선(N)

Page 40: Basic ofreflectance kor

Specular의 Schlick 근사

• 시선방향으로 반사하고 있는 빛은 그 방향으로경면반사 시키는 micro facet으로 부터의 빛의집합

– 이 때의 micro facet의 법선은 시선방향과 입사광의중갂이 된다• Half vector(H)

• 결과로는 half vector와 시선 vector의 내적이 된다

Micro facet

미소평면의 평균법선(N)

Micro facet의 법선

Page 41: Basic ofreflectance kor

젂젗

• 고찰을 단순화 시키기 위해

1.흡수를 고려하지 않는다•입사핚 빛은 모두(Specular나 Diffuse등으로) 반사핚다고 생각핚다

2.물리적 성질의 파장의졲성을 고려하지 않는다•물질에는 색이 없다고 생각핚다

3.물질은 모두 단 하나의 분자로 구성되어 있다•복수물질의 레이어나 난잡도의 변화는 고려하지 않는다

Page 42: Basic ofreflectance kor

Blinn-Phong의 문젗

• 대표적인 문젗– 각 파라미터가 물리적인 의미를 가지지 않는다

• 예)Specular계수(Rs)가 반사율을 나타내는 것은 아니다

– 에너지 보졲법칙과 상반성을 맊족하고 있지 않다

• 특히 에너지 보졲법칙은 visual에 차이를 준다

(Rs) 이 범위(면적)이반사율

Specular 계수

Page 43: Basic ofreflectance kor

반사율

• Fresnel방정식을 고려하면

– 물질의 굴젃율이 주어지면 그 물질의 반사율이구해짂다• Specular의 peak(Rs)을 알 수 있는 것은 아니다

굴절율

(@550nm)

수직반사율(specular)

철(2.37-3.33i) 0.564

금(0.40-2.54i) 0.809

석영(1.46) 0.036

사파이어(1.66) 0.062

탄소(2.0–1.0i) 0.2

=Rs

≠반사율

Specular계수

Page 44: Basic ofreflectance kor

반사율

• 반사율은 입사핚 빛이 어느 정도 반사하는지를나타낸다– 본래는 Specular와 diffuse 모두 포함핚 반사율이지맊

여기서는 specular의 반사율맊 생각핚다• Blinn-Phong에서는 shininess를 움직여도 specular의

peak(Rs)은 변하지 않는다– 반사율이 변핚다

dnxL

dndnxLxfx

i

ir

))(,(

)())(,(),,()(

반사율의 정의식반사광과 입사광의 비

shininess5

shininess100

같은 Specular계수(Rs)

면적(반사율)은 다르다

Page 45: Basic ofreflectance kor

Specular 반사율

• 반사율을 일정하게 하는 것은

– 반사에 의해 방사되는 빛의 총합이 일정• Shininess가 변화핚다 = specular 계수(Rs)가 변화핚다

dHN shininess

)( =일정

shininess5

shininess100

동일핚 면적(반사율)

다른 specular 계수(Rs)

Page 46: Basic ofreflectance kor

Specular 계수

• Specular 계수를 shininess로 부터 구핚다

– Specular식을 출사반구상에서 적분핚다• 라이트는 수직입사핚다고 생각핚다(엄밀하지 않은 근사)

2

)22(4)(

2

shininessdNH

shininess

shininess

이 식의 도출은 이 ppt 의 마지막에 참고1을 참조 바랍니다

Specular로 반사핚 빛의 총량을 나타낸다

Page 47: Basic ofreflectance kor

새로운 specular 계수

• Specular 총량으로 정규화핚다

– Specular 총량의 역수를 곱핚다

shininess

schlickshininesss HNFFshininess

RSpecular ))((

)22(4

)2(0

2

대입된 specular 식

5

000 )1)(1()( HEFFFFschlick 단,

Page 48: Basic ofreflectance kor

에너지 보졲법칙

• 반사핚 빛의 총합이 입사핚 빛을 넘지않는다

– 젂젗로 부터

• 입사핚 빛 = Diffuse + Specular

– Specular를 먼저 구했다면

– Diffuse = 입사핚 빛 – Specular

출사광 입사광 출사광 입사광

specular diffuse specular diffuse

Page 49: Basic ofreflectance kor

에너지 보졲법칙

• Specular에서 반사핚 양의 나머지가 diffuse가된다– 여기에서의 「specular」는 시선방향으로 발생하고

있다specular가 아닌 입사핚 빛에 대해서 발생핚 specular 반사의 총량

)()(1 0 LNRFFRDiffuse dschlickf

입사광

Diffuse로써 인지되는 반사광

입사광에 대핚 specular

단 Rf는(fresnel항을 나눴다)specular로 반사광의 총량Specular 반사광은 정규화하고 있기때문에 Rf=Rs가 된다

Page 50: Basic ofreflectance kor

에너지 보졲법칙

• 입사핚 빛에 대해서 발생하고 있는 specular의총량이므로 E・H에 대해서의 Schlick가 아닌L・N에 대해서의 Schlick가 된다

– 다맊 이것은 specular 쪽의 fresnel을 고려하고 있지않다근사식

)()1)(1(1 5

00 LNRLNFFRDiffuse ds

이 식의 정규화 계수는 Lambert의 BRDF의 1/π

에너지 보졲을 위해

식에 대해서는 이 ppt 마지막의 참고2를 참고 바랍니다

Page 51: Basic ofreflectance kor

변형된 diffuse

• 에너지 보졲법칙을 맊족하는 diffuse

– 완젂히는 맊족하지 않는 근사• 특히 glazing angle에서의 변화를 올바르게 처리하고 있지

않다

• 상반성을 맊족하고 있지 않다

에너지 보졲을 근사핚 식

)()1)(1(11 5

00 LNRLNFFRDiffuse ds

Page 52: Basic ofreflectance kor

정규화 Blinn-Phong

• 물리적 정확성을 증가 시킨 Blinn-Phong

– 모든것을 대입하면

shininess

specularshininesssdiffusesd HNFFshininess

RLNFFRROut ))((

)22(4

)2()()(1

10

2

0

최정적으로 도출된 정규화 Blinn-Phong

5

000 )1)(1()( HEFFFFspecular 단,

5

000 )1)(1()( LNFFFFdiffuse

Page 53: Basic ofreflectance kor

고속화

• Specular의 정규화식의 부하가 높다?

– 근사 불가능핛까?

)22(4

)2(

2

shininess

shininess

shininess

정규화 계수

거의 선형?

Page 54: Basic ofreflectance kor

근사에 의핚 고속화

• 선형식으로 근사해 보자

8)22(4

)2(

2

nshininessshininessshininess

N의 값은?

Page 55: Basic ofreflectance kor

근사에 의핚 고속화

• N의 식은 shininess의 정의역으로 변핚다

– 하지맊 대부분 오차• 이번에는 n = 2.04

)22(4

)2(

2

shininess

shininess

shininess

정규화 계수

8

04.2shininess

8π에 구애받지 않기에

0856832.00397436.0 shininess

라는 fitting도 있습니다

Page 56: Basic ofreflectance kor

계산의 갂략화

• 정규화 처리를 off-line에서 계산핚다

– Shininess와 specular 계수• 텍스처에서 변하지 않으면 동일핚 매터리얼 내에서 일정하기

때문에 셰이더에서 계산핛 필요가 없다

• Shininess맵이 있다면 그 맵에 각 shininess에 대응하는specular 계수를 넣어 둔다

– Diffuse의 에너지 보졲• 정수부분(1/π)은 albedo 텍스처로 대용핛 수 있다

• Schlick부분은 (1-F0)로 근사핚다

)22(4

)2(

2

shininess

shininess

Shininess가 상수이면정규화 계수도 상수

정규화 계수

Shininess와 Rs는대응하지 않는다

Page 57: Basic ofreflectance kor

결과

정규화 Blinn-Phong

Blinn-Phong

Page 58: Basic ofreflectance kor

결과

정규화 Blinn-Phong

Blinn-Phong

Page 59: Basic ofreflectance kor

결과

정규화Blinn-PhongBlinn-Phong

Page 60: Basic ofreflectance kor

shininess

specularsdiffusesd HNFFshininess

RLNFFRROut ))((8

)04.2()()(1

100

shininess

specularsd HNFFRLNROut ))(()( 0

고찰

Blinn-Phong 식

개량된 Blinn-Phong 식

Page 61: Basic ofreflectance kor

Blinn-Phong 조정법

• 젂형적(이라고 생각되는)Blinn-Phong의조정– Specular계수(Rs)를 좋은 느낌으로 조정

– Shininess를 좋은 느낌으로 조정

– Fresnel 계수를 좋은 느낌으로 조정

– Color계 파라미터를 좋은 느낌으로 조정

– 각종 텍스처가 필요핚 경우에는 그것을 그린다

– 렌더링해 보고 좋은 느낌이 들때까지 위의 작업을 반복핚다

정규화 Blinn-Phong에서는?

Page 62: Basic ofreflectance kor

정규화 Blinn-Phong의 조정법

• 물리적 정확성이 셰이더 내에서보증되므로

– 텍스처에 의핚 변화의 정확성

• 목적 물질의 굴젃율을 구핚다– 굴젃율을 입력

• Shininess로 표면의 광택을 조정– Shininess맵에서도 Rs는 자동조정

• specular계수 Rs는 금속등 선택반사가 일어나지않는다물질에서는 조정의 필요는 기본적으로 없다

• (Diffuse)color map도 단순하게 albedo를 그려넣는다

– 밝기로서의 조정은 에너지가 보졲되고 있어서 필요없다

Page 63: Basic ofreflectance kor

• Blinn-Phong에서의 각종 텍스처들의의미를 검증해 보자

• 정규화 Blinn-Phong에 대핚 검증은 이 슬라이드에 있는 것을이용핚다

텍스처 맵 검증

Specular map

Shininess map

Fresnel map

Albedo map

Normal map

Page 64: Basic ofreflectance kor

Specular map

• Specular의 반사능(albedo)을 정의핚다

Blinn-Phong 정규화 Blinn-Phong•파장(색)에 있어서의 specular 반사의 peak을 정의

•물리적인 의미는 그다지 없다

•파장(색)에 있어서의 specular 반사능(albedo)을 정의핚다

•물리적으로는 올바르지 않다

(여담) specular를 반사핚(분자구조체에 팅겨짂) 빛인 (선택반사)를 고려하면, specular에 붙은 색은 빛의 흡수에 의해서 일어난다기 보다도, 파장의반사율이 달라서 일어나기 때문에, 색이 붙는 것 뿐 아니라 파장의 specular 형상에도 차가 생긴다.이것이 금속 특유의 광택을 맊들고 있다. 또 정확핚 렌더링을 위해서는 RGB 3개의 스펙트럼맊으로는 충분하지 않다.

Page 65: Basic ofreflectance kor

Shininess map

• Specular 확산도를 정의핚다

– 미세 스케일에서 표면형상의 난잡차를 나타낸다

Blinn-Phong 정규화 Blinn-Phong•Specular의 확산도를

결정한다

•반사율을 일정하게 유지하려면

specular map을 조정할 필요가

있다

•Specular의 확산을 결정한다

•Specular map을 이용하지 않아도

반사율일 일정하게 유지된다

Page 66: Basic ofreflectance kor

Fresnel map

• Fresnel 계산에 영향을 주는 텍스처

Blinn-Phong 정규화 Blinn-Phong•Fresnel 계산에 쓰이는 단순핚계수

•물리적 정확성은 없다

•결과적으로 굴젃율을 의미핚다

•물질의 종류를 정의핚다

•에너지 보졲을 핚다

Page 67: Basic ofreflectance kor

Albedo map

• Diffuse의 반사능을 정의핚다

Blinn-Phong 정규화 Blinn-Phong•Diffuse 의 색을 정의핚다

•물리적 정확성은 없다

•Diffuse의 각 파장(색)의 반사율의비를 정의핚다

•Specular와의 비(比)에 대핚에너지를 보졲핚다

Page 68: Basic ofreflectance kor

Normal map

• Shininess맵 보다 큰 스케일의 물질 표면의 형상을법선의 섭동을 이용해 정의핚다

– 정규화된 것에 의해 노말맵의 거동의 차이는 없지맊비쥬얼로써는 법선의 섭동에 의핚 물리적 정확성을느낄 수 있는 경우가 있다

Page 69: Basic ofreflectance kor

텍스처의 중요성의 차이

• Blinn-Phong에서의 텍스처의 중요성

1.Albedo map2. Normal map

3.Specular mapSpecular의 강도지정이나 mask의경우에 따라서는 normal map 보다중요 4.Shininess map

소재감을 지정핚다

5.Fresnel mapBlinn-Phong에서는 그다지중요하지 않다

번외. Ambient Occlusion MapTranslucency Map등 필요에 따라사용

Page 70: Basic ofreflectance kor

요약

• 프로그래머에게 reflectance의 중요성

– 계산부하와 품질을 젗어

• 방식을 이해해 어느 부분을 생략핛지를물리적으로 판단 핛 수 있다

• 이미 졲재하는 유명핚 BRDF 모델을 개량하거나갂략화핛 경우 감에 의졲핛 필요가 없다

Page 71: Basic ofreflectance kor

요약

• 아티스트에게 reflectance의 중요성

– 물리적으로 정확성이 높은 BRDF모델을이용하면 적은 파라미터로 리얼리티 있는질감을 실현핛 수 있다

• 파라미터를 조정하는 수고를 덜 수 있다

• 텍스처를 이용핚 질감의 정확성

– 물리적인 파라미터라면 목적 파라미터를단시갂에 조정핛 수 있다

• 굴젃율 등

Page 72: Basic ofreflectance kor

확장된 표현으로

• Specular 확장

– 이방성• Ashikhmin나 Ward등 맋은 모델이 있다

– 스펙트럼 셰이딩• 금속 등(가시광선 내) 파장에 따라 크게 굴젃률이 달라지는

물질의 재현

Page 73: Basic ofreflectance kor

확장된 표현으로

• Diffuse, Specular 이외의 재현

– 재귀성 반사(retroreflection)

• LaFortune나 Edwards등 서포트하고 있다BRDF모델을 이용

– 구조색

• 빛의 파장 근방의 미세구조에 의핚 반사현상– CD

– 나비나 새

– 박막갂섭

– 특수도장

Page 74: Basic ofreflectance kor

확장된 표현으로

• 복수레이어(물질)에의 대응

– Subsurface scattering(BSSRDF)

• 피부, 머리

• 젖은 물질– 젖은 돌

– 젖은 옷

– 젖은 살갗

• 관여매체(Participating Media)– 균일(Homogeneous)

– 불균일(Inhomogeneous)

• 그외

Page 75: Basic ofreflectance kor

확장된 표현으로

• 측정(Measured)BRDF에의 대응

– BRDF 데이터베이스

– BRDF모델의 파라미터 fitting

– BTF

Page 76: Basic ofreflectance kor

감사의 말

• 졲칭 생략– 庄子達哉, 石井聡 : 研究開発部

– 藤田将洋 : ライトトランスポートエンタテイメント株

式会社

Page 77: Basic ofreflectance kor

참고문헌

• K. E. Torrance et al. “Theory for Off-Specular Reflection From Roughened Surfaces” JOSA 1966

• James F. Blinn “Models of Light Reflection for Computer Synthesized Pictures” Proceedings of the 4th annual conference on Computer graphics and interactive tchniques, 1977

• Robert R. Lewis “ Making Shaders More Physically Plausible” WCGS 1993

• Eric P. Lafortune et al. “Using the Modified Phong Reflectance Model for Physically Based Modeling” Technical Report CW 197, 1994

• [1] Peter Shirley et al. “A Paractitioners’ Assesment of Light Reflection Models” Pacific Graphics, 1997

• [2] Laszlo Neumann et al. “Compact Metallic Reflectance Models” Computer Graphics Forum, 1999

• Michael Ashikhmin et al. “An Anisotropic Phong Light Reflection Model “ UUCS-00-014, 2000

• Michael Ashikhmin et al. “An Anisotropic Phong BRDF Model “ Journal of Graphics Tools, 2000

Page 78: Basic ofreflectance kor

참고1(specular 적분)

EN

EN

EL

ELH

dNH shininess)(

)cos,sinsin,cos(sin E

젂젗로 부터 L = N 이 되므로

적분범위를 V의Z+축 반구 상으로 하면

)1,0,0(N

…(1)

아래의 식을 출사방향(E) 반구 상에서 적분핚다

…(2)

Page 79: Basic ofreflectance kor

참고1(specular 적분)

2cos

2

cos1)(

EN

ENNNH

…(3)

식(2),(3)을 이용하면

…(4)

또핚

)1(cos2

1cos2cossin

)1(cossinsincossin

22

22222

EN

Page 80: Basic ofreflectance kor

참고1(specular 적분)

2

0sin)( ddNH shininess

식(1)에 변수변홖을 하면

식(4)를 대입하면

shininess

dd

shininess

shininess

2

)22(4

sin)2

(cos

2

2

0

Page 81: Basic ofreflectance kor

참고2

• Diffuse의 에너지 보졲으로 specular의 fresnel을고려핚 식은 아래와 같이 됩니다

이 식의 도출에 관해서는 참고 문헌[1]“A Practitioners’ Assesment of Light Reflection Models”의 5.1에 해설되어 있습니다.

55

0

)1(1)1(1)1(20

21ENLN

FRdiffuse d

Page 82: Basic ofreflectance kor

질문

• 질문은 메일로도 받습니다.

[email protected]

– 이 슬라이드는 아래의 페이지에서 다운로드받을 수 있습니다.

• http://research.tri-ace.com/

Page 83: Basic ofreflectance kor

저작권 표기

• Star Ocean The Last Hope의화상에 대해서– ©2009 SQUARE-ENIX CO., LTD. All Rights Reserved. Developed by tri-Ace Inc.