Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)

1,823 views

Published on

siggraph 2010 uncharted 2

Published in: Technology
  • Be the first to comment

Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)

  1. 1. 1
  2. 2. 2
  3. 3. 3
  4. 4. You play as Drake, the loveable rogue. Check out this link for more character development: http://www.penny-arcade.com/comic/2009/10/19/. 4
  5. 5. 5
  6. 6. 6
  7. 7. 7
  8. 8. 8
  9. 9. 9
  10. 10. The best implementation of skin in realtime that I’ve seen is the NVIDIA Human Head demo. 10
  11. 11. When you look at the render on the left vs. an actual picture of Doug Jones, there is a certain fleshiness that is hard to explain. That’s what I like about the NVIDIA technique. On some level, it just “feels” like skin. 11
  12. 12. Obviously, movies can go much farther than we can in realtime. We’ll catch up eventually…I hope. 12
  13. 13. This next section with show lots of pictures using Lazarevic from U2. Note that these tests are in Rendermonkey, not the game engine. 13
  14. 14. 14
  15. 15. Lazaravic with standard dot(N,L) lighting. 15
  16. 16. 16
  17. 17. The NVIDIA technique divides light into diffuse light that gets absorbed and immediately retransmitted, versus light that bounces around inside the skin for a while before exiting. Not that the SSS light is more red-ish. 17
  18. 18. 18
  19. 19. Their approach uses essentially 6 layers of blur. 19
  20. 20. The first layer is essentially no blur. This simulates light that gets absorbed and immediately retransmitted. 20
  21. 21. The use weights for all 5 lightmaps to simulate the light that bounces inside the skin. 21
  22. 22. 22
  23. 23. 23
  24. 24. The left side is a standard dot(N,L) and the right is with the NVIDIA skin shading. 24
  25. 25. Key point: The normals that point towards the light tend to look more cyan-ish and the normals that point away tend to be more red-ish. 25
  26. 26. Comparison of pure dot(N,L) diffuse to the NVIDI SSS technique. 26
  27. 27. Their approach looks great, but is very expensive in both memory. 27
  28. 28. 28
  29. 29. Instead of using 5 gaussian blurs, we’ll try to approximate that with a single 12-tap blur. It’s not as good, but much, much cheaper. 29
  30. 30. Check the ShaderX7 chapter for more detail. 30
  31. 31. 31
  32. 32. 32
  33. 33. 33
  34. 34. 34
  35. 35. 35
  36. 36. 36
  37. 37. 37
  38. 38. 38
  39. 39. 39
  40. 40. 40
  41. 41. Notice how using different normals for R/G/B seems to cause some blue spottiness. 41
  42. 42. That’s because you have cases where the blue diffuse is near 1 and the red diffuse is near 0. 42
  43. 43. Another approach is to do a diffuse calculation for the Geometry and Normal Mapped normals, and lerp between them taking more red from the Geometry normal and more Green/Blue from the normal mapped normal. 43
  44. 44. 44
  45. 45. 45
  46. 46. 46
  47. 47. 47
  48. 48. 48
  49. 49. 49
  50. 50. 50
  51. 51. 51
  52. 52. 52
  53. 53. 53
  54. 54. 54
  55. 55. 55
  56. 56. 56
  57. 57. 57
  58. 58. 58
  59. 59. 59
  60. 60. 60
  61. 61. Sometimes, in cutscenes, the shots get pretty close, so we need the quality. 61
  62. 62. You spend most of normal gameplay staring at the back of Drake’s neck, so a separate pass for SSS was not worth the cost. 62
  63. 63. 63
  64. 64. 64
  65. 65. 65
  66. 66. 66
  67. 67. 67
  68. 68. 68
  69. 69. 69
  70. 70. 70
  71. 71. 71
  72. 72. 72
  73. 73. 73
  74. 74. 74
  75. 75. 75
  76. 76. 76
  77. 77. 77
  78. 78. 78
  79. 79. 79
  80. 80. 80
  81. 81. 81
  82. 82. 82
  83. 83. 83
  84. 84. The left shot is one of the first released screenshots before a lot of the tech got in. The one on the right is what we shipped. The one on the left has lots of hacks that we eventually took out, such as that orange glow around Drake’s skin. 84
  85. 85. 85
  86. 86. 86
  87. 87. 87
  88. 88. 88
  89. 89. 89
  90. 90. 90
  91. 91. 91
  92. 92. Notice that the NVIDIA demo has a harsh falloff. It looks great if you do everything else right, which is why that demo is the gold standard for skin in realtime. 92
  93. 93. 93
  94. 94. Since he looks fleshy, you would think that he has blurry maps. 94
  95. 95. 95
  96. 96. 96
  97. 97. In the demo, they have extremely detailed maps and they use the lighting model to soften it. 97
  98. 98. IMO what makes skin look right is how light bleeds around the normals. If you paint soft maps with no detail in the normals, it just looks flat. 98
  99. 99. Notice that there is more detail in the shot on the right. For U2, we really cranked the detail in the maps and the strength of the normals and then let the lighting model soften it. 99
  100. 100. 100
  101. 101. 101
  102. 102. 102
  103. 103. 103
  104. 104. Don’t bake too much AO into your diffuse maps. 104
  105. 105. 105
  106. 106. You get HDR lighting from having high dynamic range in your LIGHTING. I see a lot of games that have all the tech for HDR lighting, but it still looks flat. The reason 99% of the time is that they have too much black in their textures. For an example of a game doing a really good job of managing their textures, check out Mirror’s Edge. 106
  107. 107. 107
  108. 108. 108
  109. 109. 109
  110. 110. 110
  111. 111. Go through the cutscenes again and look for Drake’s tongue. You’ll see what I mean. 111
  112. 112. I’m a big fan of custom lighting models (i.e. beyond Blinn-Phong). Btw, doing proper Linear-Space Lighting is more important than everything in this presentation combined. 112
  113. 113. 113
  114. 114. 114

×