1 / 24

SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

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

Download Presentation

SX3-2.15 Reduction of Lighting Calculations Using Spherical Harmonics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SX3-2.15Reduction of Lighting Calculations Using Spherical Harmonics 조욱래 mech12@nate.com www.cafe.naver.com/shader

  2. Instroduction • Phong Light Model • L = Ambient + Attenuation*(Diffuse +Specular) • 모든 환경광에 대해 처리하기에는 무리. • 그래서 여기서는 환경광을 두개의 부류로 분리 • High Chromatic Light • 가장 영향이 큰 빛에 대해서만 퐁모델 적용. • 평범한 Light • projected onto ENVmap • 각 ENV map texel에 빛의 영향을 반영하는 9개의 SH Coefficient를 저장

  3. Spherical Harmonics Based Lighting

  4. Irradiance . • Amount of light incident onto a point • Computed by intergrating the incoming light • E : Irradiance ,Function of surface normal • n : surface normal • w : incoming light direction • L(w) : whole environment map light

  5. SH Functoin • A set of orthonomal basis function over the sphere. • 임의의 구면을 유한의 Taylor 급수형태로 분리하여 근사화 하기 위한 수학적 툴. • 여기서는 E 와 L항을 SH항으로 표현 하면 • l , m : degree of SH

  6. Coefficients Ylm • Polynomial form • X,y,z : cartesian coord of the incident vector

  7. 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개정도만 해도 높은 정밀도의 결과를 얻을수 있다.

  8. Coefficents • l = 0,1,2 • m = • 0 • -1, 0, 1 • -2, -1,0,1,2

  9. 게임상의 구현 • 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

  10. 게임상의 구현(2) • 2nd : calculating the actual irradiance, E • E depends on theta ,pi (Spherical coord) , and surface normal. • 그래서 물체가 렌더링 되는 시점에서 계산되야함.

  11. The Two Methods

  12. Analytical Lights • Spot, point light, etc • 빛이 무한대에 위치한다고 가정. • Lighting ENV map의 일부로 가정. • 각각의 빛은 해당 SH coeffi를 spatail domain 이나 frequency domain에서 쉽게 더함으로 해서 적용될수 있다. • Run time

  13. Surface Lights • Sky ,pre-rendered ENV map, HDR, non-HDR map, bulb , neon light • 전역광에 의한 더 정확한 사실 묘사에 유용. • Ylm : Nine coefficents • L=(0,1,2) and m=(-2,-1,0,1,2) • Llm • Light weight of ENV map • L • 한지점에서의 빛세기.

  14. Determining the Lights’ Contribution to the Scene

  15. 중요 항 • 해당 물체 표면의 한 점에 대해 다음을 계산. • Intensity of light • Chromacity of light • Distance of light • Chromacity Represents • RGB (100,100,100), (125,125,125) ,and (255,0,0) 에서 마지막 값이 제일 chromaticy량이 높다고 간주한다. • 그 이유는 다음식 때문이다.

  16. Chromacity factor • C1 = 0.7, C2=0.3 • 임의로 정한 경험 값이다. • 최종적으로 모든 빛에 대해 Lf를 구하고 소팅하여 가장 큰 값의 빛에 대해 Full Phong equation을 계산한다( using SH)

  17. Putting It All Together-Code Explanation SH를 이용한 빛 계산은 크게 CPU tiime과 GPU time으로 분리된다. (GPU의 성능에 크게 영향을 받음.)

  18. Surface Lights • Compute SH’s coefficients

  19. Analytical Lights • To turn analytical light into SH

  20. Foreach ( 9 coeffi) //l,m Foreach ( 9 coeffi) //l,m For(every pixel in ENV map) For(pixels in 6 faces of ENV map) Get 2D coeffi Get 2D coeffi 2D 좌표& face ‘n’ -> 3D좌표 극좌표->2D 좌표 극좌표->3D좌표 Ylm계산 Ylm계산 Integra += samplevalue(xp,yp) * Ylm Integra += samplevalue(xp,yp) * Ylm CPU ENV map & Cube map (???) GPU Blend this with other incomming colour & vertex color Color계산 using normal & coeffi.

  21. 장단점 • Vertex Program Work • Fast • Poor quality in low tessellated geometry • Fragments Program Work • Looks good ( diffuse light per pixel ) • Slow

  22. Pros and Cons of SH • Pros • 빛의 수가 많아도 성능에 영향이 없다. • 가능한 모든 전역광이 9개의 값으로 표현. • Cons • 모든 빛 효과를 SH로 표현할수 없다. • Shadow, radiance transfer , Phong effect • PRT를 로 해결가능.

  23. 최종분석 • ShaderX3-2.15.vsd

  24. Q&A

More Related