Search code examples
shadercgdepth-buffer

CG shader, control Z-Write per fragment?


Is it somehow possible to control for each fragment whether or not depth shall be written to the depth buffer?

I want my object to be depth tested properly (therefore I need to output accurate depth per fragment for testing), but I want only some of the fragments to write to the buffer.

Any way to do that?


Solution

  • Render a pass that doesn't write to the color bufffer. Use clip/discard as you please.

    Render another pass that writes to the color and not depth buffer.