gpt4 book ai didi

c++ - 为什么中没有缓冲区

转载 作者:行者123 更新时间:2023-12-02 10:26:56 32 4
gpt4 key购买 nike

接下来的教程向我展示了以下代码:

...

void update() {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);

glVertex4f(0, 0, 0, 0);
glVertex4f(1, 0, 0, 0);
glVertex4f(0, 1, 0, 0);

glEnd();

glutSwapBuffers();
}

...
它工作得很好,但是我从OpenTK的教程中知道Core配置文件要好得多,因为它更灵活,更快速。
因此,我遵循了另一本使用缓冲区的教程。它显示了类似以下代码的内容:
float data[] = {
0, 0, 0,
1, 0, 0,
0, 1, 0
}
GLuint vao;

void update () {
...
}

void main() {
// glut stuff

glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
}
...
问题是 <gl/GL.h>(由于某种原因)没有任何与缓冲区相关的函数定义。我真的不知道为什么会这样,所以我必须下载另一个我不知道的库,还是我丢失了什么?
我正在使用Visual Studio和默认头文件(如果有的话)。

最佳答案

感谢t.niese和Rabbid76这么快就解决了我的问题!
以下是他们的解决方案:


在许多系统上,默认的OpenGL header 仅提供旧版本(When do I need to use an OpenGL function loader?)的OpenGL功能。并且您需要加载并指向这些功能。为了避免手动执行此操作,有类似gladglew的加载程序
拉比德76
您必须使用OpenGL加载程序,例如GLEWGLAD

关于c++ - 为什么<gl/GL.h>中没有缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64006543/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com