A bit more Deferred CryEngine 3 - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

A bit more Deferred CryEngine 3

Description:

A bit more Deferred CryEngine 3 – PowerPoint PPT presentation

Number of Views:140
Avg rating:3.0/5.0
Slides: 28
Provided by: Mart614
Category:
Tags: cryengine | bit | deferred | lrv | more

less

Transcript and Presenter's Notes

Title: A bit more Deferred CryEngine 3


1
A bit more Deferred - CryEngine 3
Triangle Game Conference 2009
Martin Mittring Lead Graphics Programmer
2
Crytek
  • Main office Germany Frankfurt
  • More studios Kiev, Budapest, Sofia,
    Nottingham, Seoul
  • English as company language
  • 30 nationalities
  • CryEngine 1 PC only (Far Cry )
  • CryEngine 2 PC only (Crysis )
  • CryEngine 3 PC, XBox360, PS3 (announced GDC09)

3
  • 32/64 Bit, WinXP/Vista, DX9/10, Multi CPU/GPU
  • WYSIWYP
  • ResourceCompiler Source asset -gt Platform
    specific
  • Direct Light Shadow mapping
  • Indirect Light (AO) SSAO / RAM / ...
  • No precomputed lighting Production time saver,
    Memory, Consistency, Dynamic content
  • Übershaders

Mittring07
4
Goals after CryEngine 2
  • PS3 / XBox360GPU, CPU, memory
  • Improve streaming
  • Improve multithreading
  • Improve lighting
  • More predictable performance
  • Tackle the shader combination issue

5
What is the shadercombination issue?
  • Übershader is one shader with many features (e.g.
    0..4 lights, light types, CM reflection, fog,
    detail texture, normalmap, specular texture)
  • Compiling all possible permutations is a memory,
    production and performance problem
  • Usual solutions
  • dynamic branching / separating into multiple
    passes / reducing combinations and accepting less
    functionality and less performance
  • Asynchronous shader compiling
  • Distributed Job System to compile the shader cache

6
Why Deferred Rendering?
  • Rendering is a multi-dimensional query View x
    Geometry x Material x Light
  • Classic Forward Rendering for each light
    render geometry from scene query with shader
  • Classic Deferred Rendering render geometry from
    scene query outputting GBuffer render each light
    from scene query and shade with GBuffer
  • gt Decouples geometric complexity from
    lighting and shading gt Helps on shader
    combination issue and predictable performance

7
GBuffer in CryEngine 2
Z
  • Minimal GBuffer (depth)
  • Slower Early Z pass when outputting linear depth
  • Formats
  • R16
  • R16G16
  • R32
  • Proved to be very useful

8
Deferred in CryEngine 2
  • Main useDeferred shadows, Per pixel fog
  • AdditionallySoft Z clipped Particles, Motion
    Blur, Beach/Ocean, EdgeAA,Sun Rays, SSAO, Fake
    lights, 2.5D TerrainAO

SSAO
ShadowMask
9
Deferred Lighting in CryEngine 3
Normal
Specular Power
Z (native)
  • Passes
  • 1) Forward GBuffer generation
  • 2) Deferred light accumulation into texture
    (Phong)
  • 3) Forward shading with light accumulation
    texture gt No deferred shading
  • Deferred Lighting Multiple light
    primitives are possible even Image Based
    Lighting (IBL) easy to extend
  • Compared to Deferred Shading Less bandwidth and
    memory problems (10MB EDRAM XBox360) More
    flexibility on shading (besides Phong)

Geldreich09 aka Light Pre-Pass Renderer
Engel08
10
Options for the light accumulation texture
sRGB helps to distribute more details in dark
areas
  • 6 channels Diffuse and Specular
  • two 7e3 7e3 7e3, A16R16G16B16f or A8R8G8B8
  • 4 channels Diffuse and Specular strength
  • a single A16R16G16B16f or A8R8G8B8 (specular
    approximated by diffusestrength)
  • The following pictures show lighting with two
    differently coloured lights

6 channels (correct)
4 channels (fast)
11
Light accumulation texture in IBL
  • The following pictures show lighting with Diffuse
    and Specular Cubemaps
  • Diffuse RGBSpecular RGBHigh Quality(left)
  • Diffuse RGBSpecular StrengthFast
    Rendering(right)
  • Difference often neglectable (depends on
    environment)

12
Storing normals in the GBuffer
  • XYZ world space8 bit problematic with extreme
    reflections/specular10 bit good, but what about
    specular power and PS3
  • Solving Quantization ArtefactsDetail Normalmaps,
    Noise, Dither
  • XY view space (Z reconstruct)8/10/16 bit, negate
    Z bit (perspective and normal mapping)

gt Problematic
Lee09 Lob09
13
Alternative VS Normal in 2 scalars-1..1 gt -1..1
  • Normal to GBuffferGnormalize(N.xy)sqrt(N.z0.
    50.5)
  • GBuffer to NormalN.zlength2(G.xy)2-1N.xynor
    malize(G.xy)sqrt(1-N.zN.z)
  • more precision where it matters (bright part)
  • framebuffer blending friendly
  • no z reconstruction issues
  • wasted area
  • more ALU than WS

gt still, WS normals are faster
14
Video
Improved SSAO (with normals)
15
Light rasterization in2D (Rectangle) or 3D
(Convex Object)
  • 2D
  • cheap WS position reconstruction
    (InterpolatorMAD)
  • Combining multiple lights
  • Stencil prepass (if not fullscreen)
  • Coarse blocks can be rejected based on z min/max
  • 3D
  • Z buffer
  • tighter bounding object (less pixels to
    process)
  • Depth bounds test (only on some HW)

16
Deferred Light Types 1/3
  • Directional lightoptional with cloud shadows,
    multiple shadowmaps
  • Point/Projector lightsoptional with projector
    texture
  • Procedural Caustics(before this was multi-pass,
    one drawcall for each object under water
    including terrain)
  • Interleaved Shadowmap lookupsno extra
    memoryless bandwidth neededno limits on shadow
    mask channel count

17
Deferred Light Types 2/3Image Based Lighting
(IBL)
  • Light Probes are the high quality solution for
    distant light
  • Cubemaps allow efficient HDR lighting in
    real-time
  • Diffuse CM can be computed from specular CM
  • Mip adjusted lookup allows different specular
    power values
  • Improves shading in ambient lighting conditionby
    adding normal dependent and specular lighting
  • Light Probes can be generated at specified level
    positions
  • Deferred Lighting allows blending of localized
    Light Probes
  • Looks even better with SSAO

18
Ambient without SSAOwith hemispherical lighting
19
  • Bright ambient SSAO

Black ambient Shadow casting light source SSAO
Grey ambient (hemispherical)Shadow casting light
source SSAO
IBL ambient (Specular and Diffuse)Shadow casting
light sourceSSAO
20
IBL ambient (Specular and Diffuse) SSAO
brightened up for better display
Video
21
Deferred Light Types 3/3Real-time Dynamic
Global Illumination
  • Details will be presented at upcomingSiggraph
    2009 by Anton Kaplanyanwho developed that at
    Crytek
  • Implemented and fast on XBox360, PS3 and PC
  • No precomputation
  • Fully dynamic (geometry, materials and lights)
  • Unified for static and dynamic objects

22
Global Illumination off
  • black ambient
  • (to emphasize where GI
  • affects the image)

color bleeding bump without light fully
dynamic real-time
Global Illumination on
23
Global Illumination
brightened up for better display
24
Something missing?
  • Transparency gt falling back to well known
    techniques
  • Per pixel global fog and fog volumes (deferred)
  • Back to front sorted alpha transparent objects
  • Volume texture clouds, Imposter clouds, Distance
    clouds
  • Particle systems avoiding per particle sorting
  • Anti-aliasing gt Nasty but possible
  • EdgeAA,
  • ... we work on it

25
References
  • Mittring07 Finding Next Gen CryEngine2Siggrap
    h 2007, Martin Mittringhttp//ati.amd.com/develop
    er/gdc/2007/mittring-finding_nextgen_cryengine2(si
    ggraph07).pdf
  • Engel08 The Light Pre-Pass RendererShaderX7,
    Wolfgang Engelhttp//diaryofagraphicsprogrammer.b
    logspot.com/2008/03/light-pre-pass-renderer.html
  • Lee09a PrelightingMark Leehttp//www.insomni
    acgames.com/tech/articles/0209/files/prelighting.p
    df
  • Lee09b Pre-lighting in Resistance 2GDC 2009,
    Mark Leehttp//www.gdconf.com/conference/Tutorial
    20Handouts/200_insomniac/gdc09_insomniac_prelight
    ing.pdf
  • Geldreich09 Deferred Lighting and ShadingGDC
    2009, Rich Geldreich, Matt Pritchard, John
    Brookshttp//archive.gdconf.com/gdc_2004/pritchar
    d_matt.ppt
  • Shish05 Deferred Shading in S.T.A.L.K.E.R.GPU
    Gems 2, Oles Shishkovtsov http//http.developer.
    nvidia.com/GPUGems2/gpugems2_chapter09.html
  • Lob09 S.T.A.L.K.E.R Clear Sky a showcase
    for Direct3D 10.0/1GDC 2009, Igor A.
    Lobanchikov, Holger Gruenhttp//www.gdconf.com/co
    nference/Tutorial20Handouts/100_Advanced20Visual
    20Effects20with20Direct3D/100_Handout202.pdf
  • Valient07 Deferred Rendering in Killzone
    2Develop Conference 2007, Michal
    Valienthttp//www.guerrilla-games.com/publication
    s/dr_kz2_rsx_dev07.pdf

Slides should be soon at http//www.crytek.com
/technology/presentations
Special thanks to all the passionate people at
Crytek
26
(No Transcript)
27
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com