好的,所以我正在尝试用C++编写一些代码,并尝试像一些疯狂的幼儿一样尝试和修补OpenGL。但问题是,每次你尝试调用顶点或设置颜色时,我都会绊倒3f
你必须写glColor3f
或glVertex3f
例如在这个三角形中,
glBegin(GL_TRIANGLES);
glColor3f(0.4,0.4,0.4,0.4)
glVertex3f(x,y,z)
glVertex3f(x,y,z)
glVertex3f(x,y,z)
现在我本可以不去努力并写道:
glBegin(GL_TRIANGLES);
glColor(0.4,0.4,0.4,0.4)
glVertex(x,y,z)
glVertex(x,y,z)
glVertex(x,y,z)
你看没有3f
没有人向我解释为什么在那里。
请有人告诉我这个3f
是什么意思。我认为这就像一些十六进制或使 63 仍然没有任何意义的东西
由于 OpenGL 是一个 C API,并且在 C 中没有函数重载,但 OpenGL 希望提供直接以特定格式提供数据的能力,因此这些函数具有不同的参数类型,具有不同的命名版本。
例如 glVertex
如果你真的可以编译一个裸glVertex
,它是其他版本之一的快捷方式,但我不相信这是每个规范,所以你可能不应该使用它。