Deferred shading delay coloring (translation)

Source: Internet
Author: User
Tags pixel coloring dota 2

Original address: En.wikipedia.org/wiki/deferred_shading

In the field of 3D computer graphics, Deferred Shadingis a screen space coloring technique. It is called deferred because in fact there is no shading in the vertex and pixel shaders in the first pass: Instead, the coloring is "deferred (delay)" to the second pass. In the first pass of the deferred shader, only the data needed for the shading calculation is collected. The position, normals, and material of each surface are then rendered to the geometry buffer (g-buffer) using the render to texture technique. After that, the pixel shader uses the information from the texture buffers in screen space to calculate the direct and indirect illumination for each pixel. SSDO (screen space directional occlusion) can be used as part of the deferred shading pipeline to provide direction for shadows and cross-reflection.   Advantages The main advantage of  deferred coloring is the separation of scene geometry from illumination. Only one geometry pass is required, and each light calculates only the pixels it actually affects. This allows you to render multiple lights in your scene without compromising performance. There are some other advantages to this approach. These benefits may include simpler management of complex lighting resources, easy management of other complex shader resources, and simplified software rendering pipelines. One of the key drawbacks of deferred rendering is the inability to handle transparency in the algorithm, although this problem is a common issue in the Z-buffer scenario, which tends to process the transparent portions of the rendered scene by delaying and sorting. Depth stripping can be used to implement order-independent transparency in deferred rendering, but at the expense of additional batching and g-buffer size. Modern hardware that supports DIREACTX 10 or later is often able to perform batches at a fast enough speed to maintain sufficient frame rates for interaction. When using order-independent transparency (typically for consumer applications), deferred coloring is not less efficient than forward coloring using the same technique. Another serious drawback is the difficulty of using multiple materials. Although you can use several different materials, you need to store more data in G-buffer, the data is quite large and consumes a lot of memory bandwidth. Another rather serious drawback is that hardware antialiasing no longer produces the correct results due to the separation of the illumination phase and the geometry phase, because the interpolated sub-sample will result in meaningless positional, normal, and tangent properties. One of the most common techniques to overcome this limitation is to use edge detection on the final image and then Blur on the edge, however, recently developed more advanced post-processing edge smoothing techniques such as MLAA (used in Killzone 3 and Dragon age II), FXAA (for Crysis 2 "," Fear 3 "," Duke Nukem Forever "), Sraa,dlaA (for Star wars:the Force unileashed II), and MSAA (used as the default anti-aliasing solution in Crysis 2). Although it is not an edge smoothing technique, temporal anti-aliasing (used in Halo reach and Unreal Engine) can also help to smooth the appearance of edges. DirectX introduces an attribute that allows a shader to access a single sample in a multi-sample render target (a depth buffer of 10.1), allowing users of this API to access hardware antialiasing in the deferred shader. These features also allow them to correctly apply HDR brightness mappings to antialiasing edges, and in earlier versions of the API, any anti-aliasing benefits have been lost. Deferred lighting deferred Lighting (also known as light pre-pass) is a modification to Deferred shading. In deferred shading, this technique uses three passes instead of two passes. When you pass the scene geometry for the first time, only the attributes required to calculate the per-pixel illumination (emissivity) are written to the G-buffer. Screen space, the "Deferred" pass only outputs diffuse and specular illumination data, so a second pass is required on the scene to read the illumination data and output the final pixel coloring. The obvious advantage of Deferred lighting is that it greatly reduces the size of the g-buffer. The obvious price is that the scene geometry needs to be rendered twice instead of once. Another additional cost is that the deferred pass in the deferred lighting must output diffuse and specular radiation separately, while the shading pass in deferred deferred only needs to output a single combined radiation value. By reducing the size of the g-buffer, this technology can overcome a serious disadvantage of deferred shading-multi-material. Another problem that can be solved is MSAA. The Deferred lighting can be used with MSAA on DirectX9 hardware. The application of Deferred lighting in commercial games

This technique is used more and more in video games because it can use a lot of dynamic lights, which reduces the complexity of the required shader directives. Some examples of the use of deferred lighting are:

  • Alan Wake
  • Assassin ' s Creed III
  • BioShock Infinite
  • Blur
  • Brink
  • Crackdown and crackdown 2
  • Crysis 2
  • Dead Space
  • Deus Ex:human Revolution
  • Dragon ' s Dogma
  • Guild Wars 2
  • Halo:reach
  • Infamous and infamous 2
  • LittleBigPlanet
  • Metal Gear Solid V:ground Zeroes
  • Metal Gear Solid v:the Phantom Pain
  • Shift 2 Unleashed
  • Red Dead Redemption
  • Resistance series
  • Rochard
  • StarCraft II
  • Uncharted and Uncharted 2
  • Vanquish
The application of Deferred shading in commercial games

Compared to deferred lighting, this technique is not very popular due to the high memory size and bandwidth requirements. Especially on the 7th generation mainframe, the graphics memory size and bandwidth are limited and often bottlenecks.

  • Amnesia:the Dark Descent
  • Battlefield 3
  • Dota 2
  • Dungeons
  • Digital Combat Simulator (DCS) World 2.5
  • Grand Theft Auto IV
  • Killzone 2 and Killzone 3
  • Mafia II
  • Miner Wars 2081
  • Metro 2033
  • Rift
  • Shrek
  • Splinter cell:conviction
  • The S.T.A.L.K.E.R game Series:shadow of Chernobyl, Clear Sky and Call of Pripyat
  • Tabula Rasa
  • Trine
  • Trine 2
  • Viva Pinata
game engine with deferred shading technology

    • Anvilnext
    • Chrome Engine
    • CryEngine 3
    • Fox Engine
    • Frostbite 2
    • Gamestart
    • Haemimont Games Engine (HGE)
    • I-novae
    • MT Framework
    • Rockstar Advanced Game Engine
    • Source
    • Torque 3D
    • Unity
    • Unreal Engine 4
    • Vision
History

The concept of Deferred shading was originally published by Michael Deering and his colleagues in 1988 as an article entitled the triangle processor and normal vector shader:a VLSI system for high performance graphics paper. Although the word "Deferred" was never used in the text, a key concept was introduced. Each pixel are shaded only once after depth resolution. The Deferred shading we know today, using G-buffer, was introduced by Saito and Takahashi in a 1990 paper, although they did not use the word "Deferred". The first video game to use deferred shading is "Shrek", the Xbox game launched in 2001. In about 2004, commercial graphics hardware began to appear. This technology was later popular in applications such as video games and eventually became mainstream from 2008 to 2010.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.