C++ 与glGetFloatv兼容的变量类型

C++ 与glGetFloatv兼容的变量类型,c++,opengl,visual-c++-2010,C++,Opengl,Visual C++ 2010,哪些变量类型与opengl的glGetFloat()或glGetFloatv()兼容 这是C++。 < P>你要使用的基本类型是 GLfloat < /代码>。这与函数原型中的类型匹配。这是一个32位浮点值,主要与float类型相匹配,但不能保证这一点 对于glgetfloat()返回单个值的情况,只需使用GLfloat变量的地址即可。例如: GLfloat val; glGetFloatv(GL_DEPTH_CLEAR_VALUE, &val); 对于返回多个值的情况,可以使用数组:

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


这是C++。

< P>你要使用的基本类型是<代码> GLfloat < /代码>。这与函数原型中的类型匹配。这是一个32位浮点值,主要与
float
类型相匹配,但不能保证这一点

对于
glgetfloat()
返回单个值的情况,只需使用
GLfloat
变量的地址即可。例如:

GLfloat val;
glGetFloatv(GL_DEPTH_CLEAR_VALUE, &val);
对于返回多个值的情况,可以使用数组:

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

或者,使其更为C++,<代码>向量 >:

std::vector<GLfloat> vals(4);
glGetFloatv(GL_COLOR_CLEAR_VALUE, &vals[0]);
std::向量vals(4);
glGetFloatv(GL_颜色_清除值,&vals[0]);
或者,在C++11中更好:

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