Я устанавливаю программу OpenGL c ++ с SDL в качестве «оболочки». Я заметил, что, как только я добавил эту строку:
#include <glload/gl_3_3.h>
#include <glload/gl_load.hpp>
Все «старые» команды OpenGL, такие как glBegin (), glEnd () и т. Д., Становятся неопределенными, хотя я до сих пор
#include <GL\GLU.h>
только после этого. Это не проблема, так как я не собираюсь использовать их в этой программе на данный момент, но это немного раздражает, и мне было интересно, есть ли способ обойти это.
Кроме того, почему я должен использовать
<glload/gl_3_3.h>
в отличие от
<glload/gl_3_3.hpp>
даже если я пишу на C ++, а не на C, что противоречит документации по glsdk?
glsdk_0_5_2 / документы / html / group__module__glload.html
При запросе API версии 3.3 вы запрашиваете именно это. Начиная с OpenGL 3.3, glBegin
, glEnd
и многие старые функции с фиксированным конвейером были удалены.
Вы действительно не должны беспокоиться об этом и просто кодировать против выбранной вами версии API; Вы, конечно, не пропустите ни одну из старых функций.