Avatar

Rendering The Future (layman's version... by a layman...) (Destiny)

by uberfoop @, Seattle-ish, Sunday, March 16, 2014, 12:02 (3914 days ago) @ Ragashingo

I was referring to this portion:

We first compute a 1/4x1/4 resolution conservative depth buffer (each pixel records the farthest depth from the camera for the corresponding 4x4 block of original pixels). We can use this as our depth buffer for Z-culling (and more importantly, early-Z culling).

Early Z culling refers to throwing stuff out prior to shading it on the basis that it's behind some other object and therefore not visible.

Notice that the low-resolution depth buffer records "the farthest depth from the camera for the corresponding 4x4 block". If you're about to calculate some per-pixel shading for something that lies within that block, but which is farther away than the value in the low-resolution depth buffer, it follows that the thing you're about to shade lies behind everything in the 4x4 block. So it's not visible, so you decide to not do the shading you were about to do.

Basically, early Z culling is a means of increasing efficiency without changing the way the scene looks (it works by throwing out tasks that wouldn't have contributed to the image anyway). It's quite different from simply not bothering to render small objects at a distance.


Complete thread:

 RSS Feed of thread