Я хочу организовать глубину для объектов в OpenGL ES 2.0, чтобы я мог указать один объект перед другими объектами (просто отправить единую переменную). Если я хочу выделить две строки отдельно, я просто уточню, какой из них ближе.Рендеринг глубины объекта в OpenGL ES 2.0
Я работаю с Qt и поддержкой OpenGL. Когда я склонен использовать gl_FragDepth, он дает мне ссылку на ошибку, говорящую о том, что gl_FragDepth - это незаявленный идентификатор.
Кроме того, я попытался в вершинном шейдере что-то вроде gl_Position.z = depthAttr;
, где depthAttr является равномерной переменной для объекта рендеринга.
Может кто-нибудь сказать мне, что еще я могу сделать, или что я сделал не так? Есть ли предпочтительный способ?
Вы уверены, что используете gl_FragDepth из фейдер-шейдера? не вершин? – Savail
Да, я вызываю его из фрагмента –
На самом деле объекты должны отправлять свою глубину в качестве атрибута, потому что глубина для всех объектов не одинакова. Почему вы не отправляете свою позицию в шейдер как vec3 (x, y, z)? – Savail