How do I write to the depth buffer in a shader?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By toastengineer

I’m working on a project where I have a shader on a quad drawing raymarched geometry to the screen, and I want entities rendered by the standard path to be drawn in the scene with correct occlusion (i.e. fractal can be behind rasterized, rasterized can be behind fractal, fractal can be simultaneously in front of and behind rasterized…)

Writing to the depth buffer causes results, but it doesn’t give correct results 'cos the values aren’t the right format. I can get the linearized depth values out of the depth buffer, but how do I put them back in the format the depth buffer wants?