Previous | Next --- Slide 34 of 53
Back to Lecture Thumbnails
jerrypiglet

Why should we disable depth buffer update when rendering transparent surfaces? Is it because a semi-transparent triangle can BE occluded by an opaque one, but cannot occlude others such that it is like 'invisible' on the depth axis?

kayvonf

If you enabled it, it would not be particularly helpful. Enabling depth write would result in the depth buffer tracking the location of the closest surface (which may be transparent) and not the closest opaque surface. If you think about it, there's not a lot of value in doing that.

Since semi-transparent triangles need to be rendered in back-to-front (or front-to-back) order, you could say that all other triangles will be in front of the current one, so none will fail the depth test. In this case, you might as well just skip the write.