哪些变量类型与opengl的glGetFloat()或glGetFloatv()兼容?
P.S。这是用c ++。
答案 0 :(得分:1)
您要使用的基本类型是GLfloat
。这与函数原型中的类型匹配。这是一个32位浮点值,它大多与float
类型匹配,但这不能保证。
对于glGetFloatv()
返回单个值的情况,您只需使用GLfloat
变量的地址即可。例如:
GLfloat val;
glGetFloatv(GL_DEPTH_CLEAR_VALUE, &val);
对于返回多个值的情况,您可以使用数组:
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());