与 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());
哪些变量类型与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());