使用0x前缀十六进制值

时间:2015-08-05 03:14:21

标签: c++ opengl hex

我在OpenGL中查询GL_TYPE,并将十六进制值报告为整数as it should

例如:0x1406是#define' d作为GL_FLOAT但是从OpenGL以整数形式给我作为5126。

不幸的是,OpenGL并不仅仅返回类型,它也不会只接受整数(读取:十六进制)值。它显然需要在使用之前以0x为前缀。

我试图为自己保存一个开关/机箱,而是在飞行中投射/转换,但我没有看到另一种方式。我还有其他选择吗?请不要提升。

1 个答案:

答案 0 :(得分:4)

目前还不清楚什么样的转换"你要记住:0x1406等于5126.它们只是在源代码中编写相同数字的不同方式,编译器将它们转换为在运行时使用的二进制形式。

您应该能够使用==运算符将glGetProgramResource的结果与GL_FLOAT之类的常量进行比较,无论该常量是否定义为0x1406或5126源代码。