2015-10-06 2 views
1

Есть много обучающих программ OpenGL - я думаю, более 90% из них используют glBegin()/glEnd() с вершинами, установленными между этими двумя вызовами. Теперь я обнаружил, что некоторые люди говорят мне, что эти функции устарели и больше не доступны в более новых версиях OpenGL.OpenGL 2.1 и glBegin()/glEnd()

Итак: это правильно?

В моем приложении я должен быть совместим с OpenGL 2.1.

+0

https://open.gl - достойный учебник, в котором используется ядро ​​OpenGL. –

ответ

2

Да, методы glBegin()/glEnd() устарели. glDrawArrays - современный подход и доступен в OpenGL 2.1. Вот related question on SO.

Кроме того, я сомневаюсь в этом 90% -ном значении.

+1

«Кроме того, я сомневаюсь в этом 90% -ном значении». Я видел в основном устаревшие учебники OpenGL, поэтому я думаю, что число 90% - это правда. – lisyarus

+1

'glDrawArrays()' намного старше. Он был добавлен в OpenGL 1.1. –

+0

Просто подчеркнуть, насколько он старше: OpenGL-1.1 был выпущен в 1996 году. OpenGL-2 был выпущен в 2004 году. – datenwolf

0

Ответ да и нет. Дух OpenGL 2 и более - больше не использовать немедленный режим и фиксированный конвейер. Из OpenGL 3 они «устарели». Но, к счастью, в то же время было признано «Legacy OpenGL» и ARB compatibility расширение. Таким образом, вы можете использовать все еще использовать их (по модулю некоторые варианты между ОС о том, что внутри или нет).

 Смежные вопросы

  • Нет связанных вопросов^_^