Я запрашиваю GL_TYPE в OpenGL и возвращает шестнадцатеричное значение как целое число, as it should.Префикс шестнадцатеричного значения 0x
Например: 0x1406 является # define'd, как GL_FLOAT, но в настоящее время дано мне от OpenGL в целочисленном виде, 5126.
К сожалению OpenGL не просто возвращает тип, и это также не просто принять значение integer (read: hex). По-видимому, он должен быть префикс 0x перед использованием.
Я пытаюсь спасти себя переключателем/футляром и вместо этого использовать/конвертировать на лету, но я не вижу другого способа. Есть ли у меня другие варианты? Никакого повышения, пожалуйста.
У вас есть MCVE этого события? Это звучит странно. – genpfault
Да, но в этот момент довольно долго, поэтому я не хотел копировать/вставлять. Это имеет смысл, хотя. OpenGL возвращает целое число, указанное в моей ссылке, и что целое число, преобразованное в hex, является типом в glew.h, определяемом как (минус 0x). Как-то мне нужно сопоставить целое число с шестнадцатеричным значением без необходимости делать какую-либо таблицу. – Stradigos
Переменные GLint не имеют типа шестнадцатеричного или десятичного числа, это просто артефакт того, как вы их распечатываете. – samgak