Удаление невидимых – сложная задача. Зачастую, с целью получения эффективной программы, программисту приходится комбинировать возможности, предоставляемые OpenGL (использование буфера глубины), с собственными алгоритмическими приемами. Ниже приведены те действия, которые необходимо включить в программу, для решения задачи удаления невидимых с использованием только буфера глубины.
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) – вместе с очисткой буфера цвета предусмотреть очистку буфера глубины.
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH) – устанавливая режим дисплея в функции main( ), предусмотреть использование буфера глубины.
glEnable(GL_DEPTH_TEST) – включение режима удаления невидимых.
glDisable(GL_DEPTH_TEST) – выключение режима удаления невидимых.
Ниже приведен текст программы, иллюстрирующий изложенный материал.