Screen Space Decals in Warhammer 40,000: Space Marine

29,700 views
29,781 views

Published on

My Siggraph 2012 presentation slides on Screen Space Decals in Warhammer 40,000: Space Marine.

SSD is similar to Deferred Decals, so I focused more on the problems we had and how we solved(or avoided) them

Published in: Technology
0 Comments
19 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
29,700
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
238
Comments
0
Likes
19
Embeds 0
No embeds

No notes for slide

Screen Space Decals in Warhammer 40,000: Space Marine

  1. 1. Edit this text to create a Heading This subtitle is 20 points Screen Bullets are blue Space Decals They have 110% line spacing, 2 Spacebefore & after in Warhammer 40,000: points Marine Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slidePope Kim Sr. Graphics Programmer (seven). Relic Entertainment (past)  Sub bullets look like this
  2. 2. Traditional DecalsEdit this text to create a Heading Sometime between 2008 This subtitle is 20 points and 2009, I was given a task to implement a decal system Bullets are blue So I researched what spacing, 2 points doing & after They have 110% line other games are before Quick 2bullets in the form of a paragraph are harder to Longer min review on shooting a bullet against a wall read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  3. 3. A Wall with 4 VertsEdit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  4. 4. Bullet Hits HereEdit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  5. 5. Want to text a create a HeadingEdit thisDrawto Dent Texture This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  6. 6. But this text to create a HeadingEdit How? Draw this texture points This subtitle is 20 at the collision point Bullets are blue They have 110% line spacing, 2 points before & after To draw a texture, we need a mesh Longer bullets in the form of a paragraph are harder to So let’s drawis insufficient line spacing. This is the read if there a textured rectangle mesh But how can we generate the rectangle mesh that maximum recommended number of lines per slide fits? (seven).  Sub bullets look like this
  7. 7. Find Smallest Mesh Patch Covering ItEdit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  8. 8. Duplicate the Mesh PatchEdit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  9. 9. And DrawEdit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  10. 10. Two Traditional SolutionsEdit this text to create a Heading This subtitle is 20 points resolution of underlying1. (very easy) Increase the Bullets are blue geometry2. They have 110% line spacing, 2 points before & after (not so easy) Magically calculate correct UV for each verts Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  11. 11. 1. Wall with Many VertsEdit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  12. 12. 2. Calculate to create aEdit this textCorrect UVsHeading This subtitle is 20 points (-4.5, -3.2) Bullets are blue (3.4, -3.2) They have 110% line spacing, 2 points before & after (0, 0) Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the (1, 1) maximum recommended number of lines per slide (seven). 4) (-4.5, (3.4, 4)  Sub bullets look like this
  13. 13. Still this text toEdit Problems create a Heading This subtitle is resolution of underlying geometry1. Increase the 20 points – Slower blue Bullets areto iterate – More memory foot print They have 110% line spacing, 2 points before & after2. Longer bullets in the area = tooparagraph are harder to Wasted rasterized form of a much overdraw – Edge of textures must be transparent read if there is insufficient line spacing. This is the – Wasted rasterized area = too much overdraw maximum recommended number of lines per slide – UV calculation is tricky with complex geometries (seven).  Sub bullets look like this
  14. 14. UV Calculation create a HeadingEdit this text to is Not Easy How subtitleyou points This would is 20 calculate decals UVs Bullets are blue from this statue? line spacing, 2 points before & after They have 110% Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  15. 15. Brilliant text toEdit this Idea? create a Heading So you would 20 points This subtitle isthink we made Screen Space Decal to solve theseblue Bullets are problems? They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  16. 16. Brilliant text toEdit this Idea? create a Heading So you would 20 points This subtitle isthink we made Screen Space Decal to solve theseblue Bullets are problems? They have 110% line spacing, 2 points before & after NO. Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  17. 17. Brilliant text toEdit this Idea? create a Heading So you would 20 points This subtitle isthink we made Screen Space Decal to solve theseblue Bullets are problems? They have 110% line spacing, 2 points before & after NO. Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide The old way was simply too hard for me…. (seven). But SSD ended up solving these problems.   Sub bullets look like this
  18. 18. Screen Space Decals a HeadingEdit this text to create(SSD) Similar techniques were This subtitle is 20 points introduced by other developers in the recent years Bullets are blue  Deferred 110% line spacing, 2 points before & after They haveDecals (Jan Krassnigg, 2010)  Volume Decals (Emil Persson, 2011) Longer bullets in the form of a paragraph are harder to SSD was developed independently, but the read if there is insufficient line spacing. This is the implementation details is very similar maximum recommended number of lines per slide So a quick review (seven). More on howlook like this  Sub bullets we used SSD and solved the problems with SSD
  19. 19. SSDs in text to createEdit this Space Marine a Heading This subtitle is 20 points Not just for FX Its literally used everywhere: Bullets are blue  Blood splat on the wall or ground They havedecoration spacing, 2 points before & after  Stone wall 110% line Longermark on concrete slate of a paragraph are harder to  Burnt bullets in the form  Ork there read ifpainting is insufficient line spacing. This is the  Rubble piles on the ground maximum recommended number of lines per slide  Bullet holes (seven). damage  Explosion  ......and list goes on like this  Sub bullets look Yup, environment artists loved it!
  20. 20. Edit This slide hasaa 16:9 media this text to create Heading window SSD ON This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  21. 21. Edit This slide hasaa 16:9 media this text to create Heading window SSD OFF This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  22. 22. Implementation DetailsEdit this text to create a Heading This subtitle is 20 points1. Draw underlying geometries onto scene Bullets are blue box2. Rasterize a SSD They have 110% line spacing, 2 points before & after3. Read the scene depth for each pixel Longer bullets in the form of a paragraph are harder to4. Calculate 3D position from the depth5. read if there is insufficient line spacing. This is the If this position is outside of the SSD box, reject6. maximum recommended number of decal per slide Otherwise, draw the pixel with the lines texture (seven).  Sub bullets look like this
  23. 23. Edit This slide hasaa 16:9Scene this text toGiven This media create Heading window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  24. 24. Edit This slideWant Heading this text to create aato Draw This We has 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  25. 25. Edit This slide underlyingmedia window this text to create aa 16:9 geometries 1. draw has Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  26. 26. Edit This slide hasaa 16:9SSD Box 2. rasterizer a media window this text to create Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  27. 27. Edit This slide hasaa 16:9SSD Box 2. rasterizer a media window this text to create Heading This subtitle is 20 points Bullets are blue They have 110%not this! No line spacing, 2 points before & after Longer bullets in want to use it as a We the form of a paragraph are harder to projection box read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  28. 28. Edit3. read to create aa 16:9 for each pixel This slide has depth media window this text scene Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  29. 29. 4. calculate 3D create a Heading Edit this text toposition from depth  This subtitle is 20 pointsfloat2 screenPosition = clipPosition.xy / clipPosition.w;  Bullets are bluefloat2 depth_uv = screenPosition * float2(0.5f, -0.5f)  They have 110% line spacing, 2 points before & after + float2(0.5f, 0.5f);depth_uv += ScreenDimension.zw;  Longer bullets in the form of a paragraph are harder to Half-pixel Offset Basicallyfloat sceneDepth = tex2D(DepthMap, depth_uv).r; read if there is insufficient line spacing. This is the maximum recommended number of lines per slidefloat4 scenePosView = float4(clipPosition.xy * sceneDepth / (Deproject.xy * clipPosition.w), -depth, 1); (seven). Deproject.X = ProjectionMatrix.M11;  Sub bullets look like this Deproject.Y = ProjectionMatrix.M22;
  30. 30. Edit Thisif outside a 16:9 media window this text to create a of SSD box, reject 5. slide has Heading This subtitle is 20 points OUTSIDE Bullets are blue INSIDE They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to OUTSIDE read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  31. 31. 5. if this text to create HeadingEdit outside of the SSDabox, reject• Simply transform the position This subtitle is 20 points to object space Bullets are blue• Then anything bigger than 0.5 is outside They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is theposition = mul(scenePosView, InvWorldView); maximum recommended number of lines per slideclip(0.5f - abs(position.xyz)); (seven).  Sub bullets look like this
  32. 32. Edit This6. to create aa 16:9 media window this text Otherwise, draw decal slide has Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide // Decal Texture UV (seven). float2 uv = position.xz;  Sub bullets look like this += 0.5f; uv
  33. 33. this text Now Lighting is FreeEdit This slide hasaa 16:9 media window to create Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Without SSD  Sub bullets look like this
  34. 34. this text Now Lighting is FreeEdit This slide hasaa 16:9 media window to create Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). With SSD  Sub bullets look like this
  35. 35. thisandto create Heading is same text combiner passEdit This slide hasaa 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  36. 36. thisandto create Heading is same text combiner passEdit This slide hasaa 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  37. 37. thisandto create Heading is same text combiner passEdit This slide hasaa 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  38. 38. Mix-n-MatchEdit this text to create a Heading Artists can choose not to This subtitle is 20 points draw decals either in Gbuffer or combiner pass Bullets are blue Another free gift from spacing, 2 points before & after They have 110% line light-prepass renderer Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  39. 39. this text to Gbuffer and Combiner Both create HeadingEdit This slide hasaa 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  40. 40. Edit This slide hasaa Gbuffer Only 16:9 media this text to create Heading window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  41. 41. this text to create Combiner Only HeadingEdit This slide hasaa 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  42. 42. More Examples (both)Edit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  43. 43. More Examples (both)Edit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  44. 44. More Examples (GBuffer)Edit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  45. 45. More Examples (GBuffer)Edit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  46. 46. More Examples (Combiner)Edit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  47. 47. More Examples (Combiner)Edit this text to create a Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  48. 48. Artist ControlEdit this text to create a Heading Artists make *.ssdecal file, This subtitle is 20 points which is are blue Bullets just an XML In level editor, artists can They have 110% line spacing, 2 points before & after drag and drop any SSD Longer bullets in the form of a paragraph are harder to From there, it’s read if there is insufficient line spacing. This is the WYSIWYG & tweakable maximum recommended number of lines per slide per instance (seven).  Sub bullets look like this
  49. 49. Problems & to SolutionsEdit this textOurcreate a Heading This subtitle is 20 points1. Alpha Blending Bullets are Objects2. Dynamic blue They have 110% line spacing, 2 points before & after3. Side Stretching Longer bullets in the form of a paragraph are harder to4. Clipped Decals5. read if there is insufficient line spacing. This is the Performance maximum recommended number of lines per slide (seven).  Sub bullets look like this
  50. 50. 1. Alpha text to create a HeadingEdit this Blending(Normal)• Transparent objects in combiner pass are fine This subtitle is 20 points• Transparent objects in Gbuffer are NOT Bullets are blue – Originally 110% line spacing, 2 points before & after They have just alpha test – Later Longer enabled withthe form of a paragraph are harder to bullets in Best Fit Normal by Crytek – 3 months later, found a bug in our implementation of Best Fit read if there is insufficient line spacing. This is the Normal: just same as our old normal buffer maximum recommended numbernormal blending. So we are – Artists never complained about weird of lines per slide (seven). it still doing – Mathematically wrong,this whatever  Sub bullets look like but
  51. 51. 1. Alpha text to create a HeadingEdit this Blending(Spec Power)• Alpha channel of points This subtitle is 20Gbuffer is specular power Bullets are blue• Cannot simply use normal alpha points before & after They have 110% line spacing, 2 blending – alpha output from SSD shader Longer bullets in the form ofisaused for RGB(normal) blending paragraph are harder to – Solution: Blend Factor! read if there is insufficient line spacing. This is the maximum recommended =number of lines per slide AlphaBlendFunction BlendFunction.Add; AlphaSourceBlend (seven). = Blend.BlendFactor; AlphaDestinationBlend = Blend.InverseSourceAlpha;  Sub bullets look like this = ssd.SpecularPower / 255.0f; BlendFactor
  52. 52. 1. Alpha Bleding(Spec Power)Edit This slide hasaa 16:9 media window this text to create Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  53. 53. 1. Alpha Bleding(Spec Power)Edit This slide hasaa 16:9 media window this text to create Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Power = 128  Sub bullets look like this
  54. 54. 1. Alpha Bleding(Spec Power)Edit This slide hasaa 16:9 media window this text to create Heading This subtitle is 20 points Bullets are blue Power = 40 They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Power = 128  Sub bullets look like this
  55. 55. Edit This slideDynamic Objectswindow 2. has Heading this text to create aa 16:9 media This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  56. 56. Edit This slideDynamic Objectswindow 2. has Heading this text to create aa 16:9 media This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  57. 57. 2. Dynamic ObjectsEdit this text to create a Heading• We subtitle attached the Thiscould’ve is 20 points decal on moving objects• But skinned mesh(e.g, ork arms) is still a problem Bullets are blue• So we simply didn’t draw any 2 points dynamic objects They have 110% line spacing,decals onbefore & after• Used a simple stencil buffer a paragraph Longer bullets in the form of technique are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  58. 58. Edit This slide hasaa 16:9 media this text to create Heading Stencil window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  59. 59. Edit This slideDynamic Objectswindow 2. has Heading this text to create aa 16:9 media This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  60. 60. Edit This slide hasaa Stretching this text to3. SideHeading create 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  61. 61. 3. Side StretchingEdit this text to create a Heading• Happens when SSD box’s This subtitle is 20 points projection surface is not completely blue of underlying geometry Bullets are inside• They have 110% line spacing, 2 points before & after Tried different ways• Longer bulletsdoing rejectiona paragraph are harder to But ended up in the form of based on the angle read if there is insufficient box and underlying normal difference between decal line spacing. This is the maximum recommended number of lines per slide from GBuffer (seven).  Sub bullets look like this
  62. 62. Edit This slide hasaa Stretching this text to3. SideHeading create 16:9 media window This subtitle is 20 points Bullets are blue 90 degree They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  63. 63. 3. Side StretchingEdit this text to create a Heading Anything above this This subtitle is 20 points degree are blue Bullets will be clipped 180 degree means no They have 110% line spacing, 2 points before & after clippingbullets in the form of a paragraph are harder to Longer based on angle We found 60isdegree read if there insufficient line spacing. This is the works generally great number of lines per slide maximum recommended (seven).  Sub bullets look like this
  64. 64. 3. Side StretchingEdit this text to create a Heading This subtitle orientation In Vertex Shader:1. Find box’s is 20 points Bullets are blue output.Orientation = normalize(WorldView[1].xyz); They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to2. gNormalThreashold is cos(degree) read if there is insufficient line spacing. This is the3. maximum recommended number of lines per slide Read GBufferNormal and clip in Pixel Shader (seven). normal = DecodeGBufferNormal( tex2D( float3 GNormalMap, depth_uv ) );  Sub bullets look like this clip(dot(normal, orientation) - gNormalThreshold);
  65. 65. 3. Side StretchingEdit this text to create a Heading• Alternatives is tried instead of hard clip This subtitle we20 points Bullets arefade away based on angle between box orientation and – smoothly blue vertex normal: looks horrible on “round” pipes They have 110% line spacing, 2 points before & after – smoothly fade in the form of a paragraph are harder to Longer bullets away based on angle between box orientation and Gbuffer normal read if there is insufficient line spacing. This is the • makes everything a bit too faint for existing arts maximum recommended number of lines per slide • With noisy gbuffer, artists liked hard clip more (seven). • Still worth trying for your games  Sub bullets look like this
  66. 66. 4. Clipped DecalsEdit this text to create a Heading• Doesn’t happen often environment decals This subtitle is 20 points Bullets decals carefully placed for performance reason – Thin are blue• They have 110% line spacing, 2 points before & after Happens often with big FX explosion craters Longer bullets is insideformdecal box – When camera in the of a of a paragraph are harder to read if there is insufficient line spacing. This is the – No rasterization maximum recommended number of lines per slide (seven).  Sub bullets look like this
  67. 67. this text4. Clipped Decal (OK)Edit This slide hasaa 16:9 media window to create Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  68. 68. this text4. Clipped Decal (OK)Edit This slide hasaa 16:9 media window to create Heading This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  69. 69. this text to create Heading (BAD) 4. Clipped DecalEdit This slide hasaa 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  70. 70. this text to create Heading (BAD) 4. Clipped DecalEdit This slide hasaa 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  71. 71. 4. Clipped Decals(Solution)Edit this text to create a Heading• When camera 20 points This subtitle is is colliding with a decal• Bullets are blue We draw backface with flipped z-test, instead They have 110% line spacing, 2 points before & after• Bad for Performance Longer bullets in the form of a paragraph are harder to – No Hi-Z  read if there is insufficient line spacing. This is the – But mostly problem with FX number we have an slide maximum recommended decals andof lines per“amazing” way of solving this (see next slides) (seven).  Sub bullets look like this
  72. 72. Edit This slide hasaa (Drawing Backface) 4. this text to create Heading Clipped Decal 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  73. 73. Edit This slide hasaa (Drawing Backface) 4. this text to create Heading Clipped Decal 16:9 media window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  74. 74. 5. PerformanceEdit this text to create a Heading• Avoid rasterizing points This subtitle is 20pixels that will be rejected• Bullets are blue early-Z with flipped Z-test Avoid turning off They have 110% line spacing, 2 points before & after• So basically make decals very thin Longer bullets in the form of a paragraph are harder to – Environmental Decals are easy to solve read if there is insufficient line spacing. This is the – FX Decals are not so easy maximum recommended number of lines per slide• (seven). Space Marine always runs at 30+ FPS As a result, except bullets look Decals go crazy   Sub when FX like this
  75. 75. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & afterLonger bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).Two Sub bulletsdrawing this  ways of look like this
  76. 76. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & afterLonger bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).Thick bullets look like this  Sub
  77. 77. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & afterLonger bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).AndSub bullets look like this  Thin
  78. 78. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & afterLonger bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).PS Operations Wasted  Sub bullets look like this
  79. 79. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points of Orks throw explosive stuff A lot Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  80. 80. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points Which leaves large decals like this Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  81. 81. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points Which leaves large decals like this Bullets are blue Sometimes 5 of them They have 110% line spacing, 2 points together after stacked before & Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  82. 82. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points Which leaves large decals like this Bullets are blue Sometimes 5 of them They have 110% line spacing, 2 points together after stacked before & Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the passes Almost 5 fullscreen = only time we go down to maximum recommended number FPS 25 of lines per slide (seven). Our Solution?  Sub bullets look like this
  83. 83. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points THIS! Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  84. 84. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points THIS! Bullets are blue So much overlay! They have 110% line spacing, 2 pointsSo many particles! before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  85. 85. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points THIS! Bullets are blue So much overlay! They have 110% line spacing, 2 pointsSo many particles! before & after Longer bullets in the form of a paragraph are harder to don’t even notice it’s slow! read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  86. 86. 5. PerformanceEdit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points THIS! Bullets are blue So much overlay! They have 110% line spacing, 2 pointsSo many particles! before & after Longer bullets in the form of a paragraph are harder to don’t even notice it’s slow! read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven). Was not intentional, but saved us   Sub bullets look like this
  87. 87. Special text toEdit thisThanks create a Heading• Relic Entertainment for allowing me to present this This subtitle is 20 points• Bullets Marine rendering programmers Space are blue They have 110% line spacing, 2 points before & after• Space Marine artists for producing amazing content and Longer bulletsdo more work! a paragraph are harder to pushing us to in the form of read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this
  88. 88. ReferencesEdit this text to create a Heading• ENGEL, W. 2009, Designing This subtitle is 20 points a Renderer for Multiple Lights – The Light Pre-Pass Renderer. In ShaderX7: Advanced Bullets are blue Rendering Techniques, Charles River Media They have 110% line spacing, 2 points before & after• KAPLANYAN A. 2010, CryEngine 3: Reaching the Speed of Longer bullets in the form of a paragraph are harder to Light, Siggraph 2011 read if there is insufficient line spacing. This is the• KRASSNIGG, J. 2010. A Deferred Decallines per slide maximum recommended number of Rendering Technique. In Game Engine Gems 1, Jones and Barlett (seven).• PERSSON, E.look like this Decal. In GPU Pro 2, A K Peters  Sub bullets 2011. Volume
  89. 89. Got this text toEdit Questions?create a Heading• More info on Space Marine rendering engine: This subtitle is 20 points Bullets are blue http://www.popekim.com/2011/11/slides-rendering- They have 110% line spacing, 2 points before & after tech-of-space-marine.html Longer bullets in the form of a paragraph are harder to• read if there is insufficient line spacing. This is the Twitter: @BlindRenderer maximum recommended number of lines per slide• E-mail: blindrenderer@gmail.com (seven).  Sub bullets look like this
  90. 90. Edit This slide hasaa 16:9 media this text to create Heading window This subtitle is 20 points Bullets are blue They have 110% line spacing, 2 points before & after Longer bullets in the form of a paragraph are harder to read if there is insufficient line spacing. This is the maximum recommended number of lines per slide (seven).  Sub bullets look like this

×