Существует ли переносимый способ извлечения этого значения для буфера вложений заданной глубины из вершинного шейдера или со стороны процессора, чтобы я мог отправить его в шейдер как константу?
Это не совсем то, как работают графические процессоры.
Затенение вершин не знает ни о треугольниках, ни о каких-либо операциях на стадии фрагмента. В тот момент, когда вы затеняете свои вершины, текущая глубина кадрового буфера даже не существует - особенно на графических процессорах на основе тайлов, обычно встречающихся на мобильных устройствах - поэтому вы не можете знать, что вы должны быть «перед».
Идея на стороне ЦП еще хуже - вам нужно знать это в тот момент, когда вы отправляете вызовы отрисовки, и в этот момент вы не знаете, где что-то находится - все ваши данные меша будут вПространство объекта.
Также стоит отметить, что минимальное разрешаемое расстояние не является постоянной величиной. Он нелинейный, и распределение значений зависит от положения ближнего и дальнего клипа в перспективном преобразовании и глубины фактического местоположения.