sx3-2.15 reduction of lighting calculations using spherical harmonics

24
SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics 조조조 [email protected] www.cafe.naver.com/shader

Upload: gregory-jennings

Post on 04-Jan-2016

61 views

Category:

Documents


10 download

DESCRIPTION

SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics. 조욱래 [email protected] www.cafe.naver.com/shader. Instroduction. Phong Light Model L = Ambient + Attenuation*(Diffuse +Specular) 모든 환경광에 대해 처리하기에는 무리 . 그래서 여기서는 환경광을 두개의 부류로 분리 High Chromatic Light - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

SX3-2.15Reduction of Lighting

Calculations Using Spherical Harmonics

조욱래[email protected]

www.cafe.naver.com/shader

Page 2: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Instroduction Phong Light Model

L = Ambient + Attenuation*(Diffuse +Specular) 모든 환경광에 대해 처리하기에는 무리 .

그래서 여기서는 환경광을 두개의 부류로 분리

High Chromatic Light 가장 영향이 큰 빛에 대해서만 퐁모델 적용 .

평범한 Light projected onto ENVmap 각 ENV map texel 에 빛의 영향을 반영하는 9 개의 SH Coef

ficient 를 저장

Page 3: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Spherical Harmonics Based Lighting

Page 4: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Irradiance .

Amount of light incident onto a point Computed by intergrating the incoming ligh

t

E : Irradiance ,Function of surface normal n : surface normal w : incoming light direction L(w) : whole environment map light

Page 5: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

SH Functoin A set of orthonomal basis function over the sphe

re. 임의의 구면을 유한의 Taylor 급수형태로 분리하여

근사화 하기 위한 수학적 툴 . 여기서는 E 와 L 항을 SH 항으로 표현 하면

l , m : degree of SH

Page 6: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Coefficients Ylm

Polynomial form X,y,z : cartesian coord of the incident vector

Page 7: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

E : expressed function of L Theta , pi : spherical coord A : term of dependent on n and w

Alpha : error term p,q : number of term [Ramamoorthi01] 의하면 coeffi 값은 9 개정도만

해도 높은 정밀도의 결과를 얻을수 있다 .

Page 8: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Coefficents

l = 0,1,2 m =

0 -1, 0, 1 -2, -1,0,1,2

Page 9: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

게임상의 구현 1st : encode the lighting ENV in SH term.

Static Light ENV Calculated offline distant sun, etc… Static is not mean cannot be rotated.

SH Property is rotationally invriant.

Dnynamic light source Need to encoding real time This mean calculating the Llm terms

Page 10: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

게임상의 구현 (2)

2nd : calculating the actual irradiance, E

E depends on theta ,pi (Spherical coord) , and surface normal.

그래서 물체가 렌더링 되는 시점에서 계산되야함 .

Page 11: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

The Two Methods

Page 12: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Analytical Lights Spot, point light, etc

빛이 무한대에 위치한다고 가정 . Lighting ENV map 의 일부로 가정 .

각각의 빛은 해당 SH coeffi 를 spatail domain 이나 frequency domain 에서 쉽게 더함으로 해서 적용될수 있다 . Run time

Page 13: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Surface Lights Sky ,pre-rendered ENV map, HDR, non-HDR ma

p, bulb , neon light 전역광에 의한 더 정확한 사실 묘사에 유용 .

Ylm : Nine coefficents L=(0,1,2) and m=(-2,-1,0,1,2)

Llm Light weight of ENV map

L 한지점에서의 빛세기 .

Page 14: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Determining the Lights’ Contribution to the Scene

Page 15: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

중요 항 해당 물체 표면의 한 점에 대해 다음을 계산 .

Intensity of light Chromacity of light Distance of light

Chromacity Represents RGB (100,100,100), (125,125,125) ,and (255,0,0)

에서 마지막 값이 제일 chromaticy 량이 높다고 간주한다 .

그 이유는 다음식 때문이다 .

Page 16: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Chromacity factor

C1 = 0.7, C2=0.3 임의로 정한 경험 값이다 .

최종적으로 모든 빛에 대해 Lf 를 구하고 소팅하여 가장 큰 값의 빛에 대해 Full Phong equation 을 계산한다 ( using SH)

Page 17: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Putting It All Together-Code Explanation

SH 를 이용한 빛 계산은 크게 CPU tiime 과 GPU time 으로 분리된다 .

(GPU 의 성능에 크게 영향을 받음 .)

Page 18: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Surface Lights

Compute SH’s coefficients

Page 19: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Analytical Lights

To turn analytical light into SH

Page 20: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

ENV map & Cube map (???)

Get 2D coeffi

극좌표 ->2D 좌표

극좌표 ->3D 좌표

Ylm 계산

Integra += samplevalue(xp,yp) * Ylm

Foreach ( 9 coeffi) //l,m

For(every pixel in ENV map)

Get 2D coeffi

2D 좌표 & face ‘n’-> 3D 좌표

Ylm 계산

Integra += samplevalue(xp,yp) * Ylm

Foreach ( 9 coeffi) //l,m

For(pixels in 6 faces of ENV map)

CPU

GPU Color 계산 using normal & coeffi.

Blend this with other incomming colour

& vertex color

Page 21: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

장단점 Vertex Program Work

Fast Poor quality in low tessellated

geometry

Fragments Program Work Looks good ( diffuse light per pixel ) Slow

Page 22: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Pros and Cons of SH

Pros 빛의 수가 많아도 성능에 영향이 없다 . 가능한 모든 전역광이 9 개의 값으로 표현 .

Cons 모든 빛 효과를 SH 로 표현할수 없다 . Shadow, radiance transfer , Phong effect

PRT 를 로 해결가능 .

Page 23: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

최종분석

ShaderX3-2.15.vsd

Page 24: SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

Q&A