Да, OpenGL не растеризует треугольники, не увеличивая размер просмотра. Но это не означает, что это оптимально для приложений: реализация OpenGL должна преобразовывать координату вершины (с помощью фиксированного конвейера или вершинных шейдеров), а затем, имея нормализованные координаты, она, наконец, знает, лежит ли треугольник внутри поля зрения просмотра.
Это означает, что в этом случае пиксель не растеризуется, но данные вершин обрабатываются одинаково; просто не производит фрагменты, полученные из невидимого треугольника!
Расширение OpenGL ARB_occlusion_query может помочь вам, но в разделе обсуждения проясните:
Делают ли запросы окклюзии устаревшими другие алгоритмы видимости?
No.
Occlusion queries are helpful, but they are not a cure-all. They
should be only one of many items in your bag of tricks to decide
whether objects are visible or invisible. They are not an excuse
to skip frustum culling, or precomputing visibility using portals
for static environments, or other standard visibility techniques.
Для вопроса, касающегося сортировки сетки по глубине, вы должны использовать буфер глубины: по сути, фрагмент сетки эффективно визуализируется, только если его расстояние от области просмотра меньше, чем предыдущий фрагмент в той же позиции. Это поможет вам разобраться в сортировке мешей. Этот буфер практически свободен и позволяет улучшить производительность, поскольку он отбрасывает более удаленные фрагменты.