Be default, I believe that when an alpha test fails, neither the frame buffer nor the Z buffer are updated. However, I wish to change this behavior arbitrarily. For example, when an alpha test fails, the frame buffer is updated but not the z buffer, or perhaps both are updated.
Thanks for any help
edit: Oh, and my question was implicit. How can I achieve this?
You don’t. First, the Z-buffer is part of the framebuffer.
Most importantly second, a fragment either writes all colors, depth, and stencil, or it doesn’t write any of them. You can mask components off at the per-primitive level, but not at a level with more granularity than that (ie: the per-fragment level).
The Z buffer and frame buffer certainly share separate address space, what do you mean when you say that the Z-buffer is part of the framebuffer?
Anyway, thanks for the answer. I may have to accept that this isn’t feasible. I guess that it would be possible to simulate the behavior in software, but this would be extremely inefficient.
what do you mean when you say that the Z-buffer is part of the framebuffer?
The framebuffer is a collection of buffers that include the Z-buffer. Also included in that collection is the front buffer, back buffer, AUX buffers, etc.