Если вы хотите, чтобы все фрагменты имели глубину 1,0, необходимо убедиться, что компонент z нормализованной координаты устройства равен 1,0.
Нормализованная координата устройства рассчитывается с помощью деления перспективы формирует координату клипа (думайте об этом как gl_Position.xyz / gl_Position.w
).
Установите gl_Position.z
равным gl_Position.w
, после того как координата клипа установлена, что приводит к тому, что gl_Position.z / gl_Position.w
равно 1,0:
gl_Position.z = gl_Position.w;
Но обратите внимание, что глубина фрагмента также может быть установлена в шейдере фрагмента, присваивая значение gl_FragDepth
:
(Конечно, это предотвращает1017 * Ранний тест фрагмента может иметь место)
gl_FragDepth = 1.0;