Screen Space Decals in Warhammer 40,000: Space Marine
Oct. 12, 2012•0 likes•33,746 views
Download to read offline
Report
Technology
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
Screen Space Decals in Warhammer 40,000: Space Marine
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. Traditional Decals
Edit 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. A Wall with 4 Verts
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
4. Bullet Hits Here
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
5. Want to text a create a Heading
Edit 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. But this text to create a Heading
Edit 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. Find Smallest Mesh Patch Covering It
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
8. Duplicate the Mesh Patch
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
9. And Draw
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
10. Two Traditional Solutions
Edit this text to create a Heading
This subtitle is 20 points resolution of underlying
1. (very easy) Increase the
Bullets are blue
geometry
2. 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. 1. Wall with Many Verts
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
12. 2. Calculate to create a
Edit 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. Still this text to
Edit Problems create a Heading
This subtitle is resolution of underlying geometry
1. Increase the 20 points
– Slower blue
Bullets areto iterate
– More memory foot print
They have 110% line spacing, 2 points before & after
2. 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. UV Calculation create a Heading
Edit 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. Brilliant text to
Edit 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. Brilliant text to
Edit 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. Brilliant text to
Edit 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. Screen Space Decals a Heading
Edit 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. SSDs in text to create
Edit this Space Marine a Heading
This subtitle is 20 points
Not just for FX
It's 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. 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. 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. Implementation Details
Edit this text to create a Heading
This subtitle is 20 points
1. Draw underlying geometries onto scene
Bullets are blue box
2. Rasterize a SSD
They have 110% line spacing, 2 points before & after
3. Read the scene depth for each pixel
Longer bullets in the form of a paragraph are harder to
4. Calculate 3D position from the depth
5. read if there is insufficient line spacing. This is the
If this position is outside of the SSD box, reject
6. maximum recommended number of decal per slide
Otherwise, draw the pixel with the lines texture
(seven).
Sub bullets look like this
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. 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. 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. 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. 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. 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. 4. calculate 3D create a Heading
Edit this text toposition from depth
This subtitle is 20 points
float2 screenPosition = clipPosition.xy / clipPosition.w;
Bullets are blue
float2 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 Basically
float sceneDepth = tex2D(DepthMap, depth_uv).r;
read if there is insufficient line spacing. This
is the
maximum recommended number of lines per slide
float4 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. 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. 5. if this text to create Heading
Edit 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 the
position = mul(scenePosView, InvWorldView);
maximum recommended number of lines per slide
clip(0.5f - abs(position.xyz));
(seven).
Sub bullets look like this
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. this text Now Lighting is Free
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).
Without SSD
Sub bullets look like this
34. this text Now Lighting is Free
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).
With SSD
Sub bullets look like this
35. thisandto create Heading is same
text combiner pass
Edit 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. thisandto create Heading is same
text combiner pass
Edit 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. thisandto create Heading is same
text combiner pass
Edit 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. Mix-n-Match
Edit 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. this text to Gbuffer and Combiner
Both create Heading
Edit 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. 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. this text to create Combiner
Only Heading
Edit 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. 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. 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. 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. 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. 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. 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. Artist Control
Edit 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. Problems & to Solutions
Edit this textOurcreate a Heading
This subtitle is 20 points
1. Alpha Blending
Bullets are Objects
2. Dynamic blue
They have 110% line spacing, 2 points before & after
3. Side Stretching
Longer bullets in the form of a paragraph are harder to
4. Clipped Decals
5. 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. 1. Alpha text to create a Heading
Edit 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. 1. Alpha text to create a Heading
Edit 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. 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. 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. 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. 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. 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. 2. Dynamic Objects
Edit 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. 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. 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. 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. 3. Side Stretching
Edit 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. 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. 3. Side Stretching
Edit 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. 3. Side Stretching
Edit 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 to
2. gNormalThreashold is cos(degree)
read if there is insufficient line spacing. This is the
3. 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. 3. Side Stretching
Edit 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. 4. Clipped Decals
Edit 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. 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. 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. this text to create Heading (BAD)
4. Clipped Decal
Edit 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. this text to create Heading (BAD)
4. Clipped Decal
Edit 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. 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. 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. 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. 5. Performance
Edit 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. 5. Performance
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).
Two Sub bulletsdrawing this
ways of look like this
76. 5. Performance
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).
Thick bullets look like this
Sub
77. 5. Performance
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).
AndSub bullets look like this
Thin
78. 5. Performance
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).
PS Operations Wasted
Sub bullets look like this
79. 5. Performance
Edit 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. 5. Performance
Edit 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. 5. Performance
Edit 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. 5. Performance
Edit 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. 5. Performance
Edit 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. 5. Performance
Edit 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. 5. Performance
Edit 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. 5. Performance
Edit 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. Special text to
Edit 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. References
Edit 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. Got this text to
Edit 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. 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