![](/img/trans.png)
[英]glVertexAttribPointer (Offset?) giving GL_INVALID_OPERATION
[英]glVertexAttribPointer giving GL_INVALID_OPERATION (1282 error code)
在我的 openGL 代码中 glVertexAttribPointer 给出 1282 错误,我绑定了我的 vbo。
清除以前的错误
{
while(glGetError()!=GL_NO_ERROR);
}
检查错误
{
while(GLenum error=glGetError())
{
std::cout<<error;
}
}
我的主Function
if(glewInit() !=GLEW_OK)
{
std::cout<<"ERROR::MAIN.CPP::GLEW_INIT_FAILED"<<"\n";
glfwTerminate();
}
> Vertex
glewInit();
float positions[6]={
-0.5f,-0.5f,
0.0f,0.5f,
0.5f,-0.5f
};
GLuint buffer;
glGenBuffers(1,&buffer);
glBindBuffer(GL_ARRAY_BUFFER,buffer);//Binding BUffer
glBufferData(GL_ARRAY_BUFFER,sizeof(positions),positions,GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
这是错误
GLError();
glVertexAttribPointer(0,2,GL_FLOAT,GL_FALSE,0,0);
GLcheck();
我正在使用 Ubuntu 和我的 OpenGL 的核心版本是 4.6这里版本说明
在 OpenGL 3文档中,我发现以下内容:
如果零绑定到 GL_ARRAY_BUFFER 缓冲区 object 绑定点并且指针参数不是 NULL,则生成 GL_INVALID_OPERATION。 (注意:在核心上下文中,不再允许将 glVertexAttribPointer 和 glDrawArrays 指针传递给主 memory 中的网格数据的旧方法。您必须创建一个顶点缓冲区 Object 并用您的网格数据填充它。)
如果没有顶点数组 Object 绑定,则在核心上下文中生成 GL_INVALID_OPERATION。
不确定您使用的 OpenGL 的版本是什么。 也许值得检查这是否也是您的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.