Я думаю, хотя, возможно, я и ошибаюсь, поскольку большинство высокопроизводительных графических приложений (в основном игр) в основном используют только вершинные буферы и тому подобное (для того, чтобы выжать каждую каплю производительности из карты), чтобыло давление, чтобы перестать беспокоиться о «несерьезных» элементах, таких как списки отображения (и даже старые добрые вызовы glVertex).ИМХО, это создает огромный барьер для людей, которые учатся писать код OpenGL, и (для моих собственных целей) является большим препятствием для создания быстрого, разборчивого и достаточно эффективного кода.
Обратите внимание, что эти функциибыли объявлены устаревшими в 3.0 и фактически удалены в 3.1 (но все же обеспечивали совместимость через расширение ARB).В OpenGL 3.2 они переместили эти функции в профиль «совместимости», который необязателен для реализации авторами драйверов.
Так что это значит?По крайней мере, NVidia пообещала продолжить поддержку режима совместимости старой школы в обозримом будущем - существует большое количество устаревшего кода, который они должны поддерживать.Вы можете найти обсуждение их поддержки в слайд-шоу по адресу:
http://www.slideshare.net/Mark_Kilgard/opengl-32-and-more
, начиная с слайда № 32.Я не знаю позицию ATI / AMD по этому вопросу, но я предполагаю, что она будет похожей.
Итак, хотя списки отображения технически удалены из необходимой части стандарта OpenGL 3.2, я думаю, что выбезопасно использовать их в течение достаточно долгого времени.В конце концов, вы можете изучить интерфейс OpenGL, ориентированный на буфер / шейдер, особенно если вашей конечной целью является написание конвертов, но это на самом деле намного менее интуитивно (даже без glRotate!), Поэтому я бы порекомендовалначиная с старого доброго OpenGL 2.x.
-matt