Deferred rendering case study

4,873
-1

Published on

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,873
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
60
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Deferred rendering case study

  1. 1. Deferred Rendering case study : Raiderz & Gunz2
  2. 2. 선임연구원 오지현ozlael.egloos.com@ozlael
  3. 3. Depth / Diffuse /G - pass Normal Specular MaskL - pass Light Buffer Merge AdditiveM - pass Opacity Post Effect
  4. 4. Depth / Diffuse / Normal Specular Mask Light Buffer MergeGeometry Pass Additive Opacity Post Effect
  5. 5. Usage Format R G B ANromal R16FG16F Normal X Normal YDepth, R16FG16F Linear Specular.Specular Depth RimDiffuse, R8G8B8A8 Diffuse R Diffuse G Diffuse B MaskMask
  6. 6. G-buffer Normal.XYNormal.Z = sqrt(1 - Normal.X2 - Normal.Y2) Code: KillZone2
  7. 7. on irectiCam era D -Z +Z Ground
  8. 8. G-buffer Linear Depth.XDepths sign = Normal Zs sign
  9. 9. G-buffer Depth.Y 3 values in 1 channel Specular Glossiness : 1 ~ 100[Sign] Integer . FractionalRim : 0,1 Specular Level : 0 ~ 0.99
  10. 10. G-buffer Diffuse.RGB A : Mask
  11. 11. Decal
  12. 12. Screen Space Decal
  13. 13. vProjcoord = mul( vPos, mxViewToDecal) Image : Effects Techniques Used in Uncharted 3, GDC12
  14. 14. G-bufferDiffuse.A
  15. 15. Depth / Diffuse /Normal Specular Mask Light Buffer MergeLight Pass Additive Opacity Post Effect
  16. 16. Reconstructing Position from depthG-D epth for Lighting
  17. 17. // Get the depth buffer value at this pixel.float zOverW = tex2D(depthTexture, texCoord);// H is the viewport position at this pixel in the range -1 to 1.float4 H = float4(texCoord.x*2-1, (1-texCoord.y)*2-1,zOverW, 1);// Transform by the view-projection inverse.float4 D = mul(H, g_ViewProjectionInverseMatrix);// Divide by w to get the world position.float4 worldPos = D / D.w; Image :killzone2 Code: GPU Gems3
  18. 18. vPos =ray * depth; (0 ~1) epth G-D matt pettineo, dawn studio
  19. 19. float3 ray = FarTopRight;ray.xy = lerp(-FarTopRight.xy, FarTopRight.xy, scrUV);float depth = tex2D(DepthBuffer, scrUV);float3 PosInView = ray * depth; http://blog.daum.net/rockeracer/38
  20. 20. o ol nT a tio liz isuaV
  21. 21. Directional Light
  22. 22. Directional LightSub Light Sub Light Sub Light
  23. 23. Grayscale Specular Level(D+S)XL vs (DXL)+S
  24. 24. SSAO
  25. 25. 27msGeforce 8800GT1920x1080HBAO
  26. 26. 전체에 AO 적용 d ow ha ns nlyi O 그림자영역만 AO 적용
  27. 27. 케릭터에 AO 적용 for r ot cte N ra c ha 케릭터에 AO 미적용
  28. 28. Normal Depth Light BufferDiffuse Merge Additive Opacity Post Effect
  29. 29. Material Pass Geometry Buffer Light Buffer Merge Additive Opacity Post Effect
  30. 30. Before += After
  31. 31. SubSurface Scattering 표면하산란 http://www.mrbluesummers.com
  32. 32. 비싼 남자들
  33. 33. Fake SSSReal-Time Approximations toSubsurface Scattering,- GPUGEMS슈퍼 스트리트 파이터그래픽스 강좌- 니시가와젠지마비노기 영웅전의캐릭터 비주얼 시스템- NDC08
  34. 34. +Before After
  35. 35. Hair lightingHair Rendering and Shading- Scheuermann, GDC 2004RenderMonkey sample
  36. 36. +Before After
  37. 37. Transparency
  38. 38. Light buffer
  39. 39. Geometry Buffer Light Buffer Merge Additive Opacity Post Effect
  40. 40. Fast approXimate AAhttp://timothylottes.blogspot.kr
  41. 41. 3D VISION with Deferred
  42. 42. Fundamentals of Stereoscopic Imaging - Bernard Mendibru
  43. 43. Automatic !
  44. 44. WRONG !
  45. 45. 양안 명시적 렌더 ( Quad Buffer )
  46. 46. OK !
  47. 47. NVAPI http://developer.nvidia.com/nvapihttp://www.nvidia.pl/docs/IO/40505/WP-05482-001_v01-final.pdf http://ozlael.egloos.com/3767971
  48. 48. t.n et a ie w .mw w
  49. 49. Thank you ~ Special Thanks to MAIET Ent. 임직원 일동 Kasa 멤버 일동 게임개발포에버 필진 일동 팟캐스트 게임개발자랩소디 팟캐스트 POG 결혼추카 학현 결혼추카 주행illusted by 중원

×