gpt4 book ai didi

c++ - OpenGL 4 : Draw with glVertexAttrib

转载 作者:行者123 更新时间:2023-11-28 06:05:04 26 4
gpt4 key购买 nike

是否可以仅使用 glVertexAttrib3f 调用在 OpenGL 4+ 中绘制?以下内容适用于旧版 OpenGL 模式,但当我切换到 OpenGL 4 时,什么也不会呈现。

glBegin(GL_TRIANGLES);
glVertexAttrib3f(1, 0, 0, -1);
glVertexAttrib3f(0, -0.5, -0.5, -0.5 );
glVertexAttrib3f(0, -0.5, 0.5, -0.5 );
glVertexAttrib3f(0, 0.5, 0.5, -0.5 );

glVertexAttrib3f(1, 0, 0, 1);
glVertexAttrib3f(0, 0.5, -0.5, 0.5 );
glVertexAttrib3f(0, 0.5, 0.5, 0.5 );
glVertexAttrib3f(0, -0.5, 0.5, 0.5 );
....
glEnd();

我想我应该去掉那些 glBegin() 和 glEnd() 函数,也许可以调用 glDrawArrays() 但还没有让它工作。

最佳答案

glBegin/glEnd 是已弃用的遗留功能,自版本 3.1 以来,它们不再是 OpenGL 核心配置文件的一部分。简而言之,不应再使用它们。尽管如此,如果你想使用它们,你可以,但在那种情况下你必须使用 compatibility profile在您的 OpenGL 上下文中,否则它们不受支持。

如果您使用 GLFW对于上下文和窗口创建,您可以在 context creation 处设置兼容性配置文件带有以下提示:

glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE);

我强烈推荐以下教程网站

了解现代 OpenGL 功能和用法。

关于c++ - OpenGL 4 : Draw with glVertexAttrib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32556385/

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