与 glGetFloatv 兼容的变量类型

Variable Types compatible with glGetFloatv

哪些变量类型与opengl的glGetFloat()或glGetFloatv()兼容?

P.S。这是在 C++ 中。

您要使用的基本类型是GLfloat。这与函数原型中的类型匹配。这是一个 32 位的浮点值,主要匹配 float 类型,但不能保证。

对于 glGetFloatv() return 是单个值的情况,您可以简单地使用 GLfloat 变量的地址。例如:

GLfloat val;
glGetFloatv(GL_DEPTH_CLEAR_VALUE, &val);

对于 return 多个值的情况,您可以使用数组:

GLfloat vals[4];
glGetFloatv(GL_COLOR_CLEAR_VALUE, vals);

或者,为了让它更像 C++,vector:

std::vector<GLfloat> vals(4);
glGetFloatv(GL_COLOR_CLEAR_VALUE, &vals[0]);

或者,在 C++11 中更好:

std::vector<GLfloat> vals(4);
glGetFloatv(GL_COLOR_CLEAR_VALUE, vals.data());