Crackdown: shader simulates raytracing Tech

Discussion in 'Console Technology' started by MasterDisaster, Jan 12, 2007.

  1. Cal

    Cal
    Newcomer

    Joined:
    Oct 7, 2006
    Messages:
    58
    Likes Received:
    12
    Location:
    Shanghai
    But, didn't you think accessing the sub-samples to enable MSAA while using deferred shading is quite a cost? I guess I was confused by the term "deferred lighting" and "deferred shading". Maybe they were just referring to something else.

    In case of deferred shading, I assume the basic scheme to use MSAA is like this:
    1. Generate the geometry buffer with MSAA on and resolve it without downsampling for the purpose of accessing sub-samples. It needs more than one tile to finish the 4x sized g-buffer (let's assume it's 4xAA).
    2. Run the lighting shader on the g-buffer. In the shader, you have to sample 4 sub-samples and run the full lighting calculation on each of them (because you have no info whether they are continuous), and then interpolate them to get one final pixel. That is, to some degree, turning the multi-sampling into super-sampling.
     
  2. Jawed

    Legend

    Joined:
    Oct 2, 2004
    Messages:
    11,716
    Likes Received:
    2,137
    Location:
    London
    When you convert the g-buffer (which in XB360 has to be constructed as distinct tiles) into something that's readable for the lighting pass, you end up with something that's ~30MB, yes: 1280x720 x8 (colour+z) x4 (samples) bytes. And there may be a second G-buffer for additional attributes, e.g. another 4 bytes per pixel (i.e. another 50%). Z will be shared by both G-buffers, so they'd need to be at the same resolution to be of any use.

    Hopefully we'll find a more detailed description of their technique in some developer conference...

    They might pre-process the g-buffer to identify edges (caused by Z-discontinuities) which need the black outline.

    But separately, you're right, in the final lighting pass they need to down-res from the MSAA'd g-buffer to final screen res. That should be a fairly simple "texture filtering" problem for destination pixels that have no "edge" within them (whether it's a surface edge or a discontinuity, black-outlined, edge) - but all edge pixels need to be special-cased, "super-sampled" as you say.

    :grin: I think we're pretty much in agreement, it's just that you weren't aware that XB360 supports non-blended-MSAA render to texture. I'm not a developer, so I'm not really best-qualified to talk about this stuff though.

    Admittedly there's some non-overlap between "deferred shading" and "deferred lighting", so I might be reading too much into all this.

    Jawed
     
    #42 Jawed, Jan 28, 2007
    Last edited by a moderator: Jan 28, 2007
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...