glClearColor( 1.0f, 1.0f, 1.0f, 1.0f );
AttachVertexShader( shader, "szescian_vs.glsl" );
AttachFragmentShader( shader, "szescian_fs.glsl" );
LinkProgram( shader );
glBindVertexArray( vertexVAO );
glGenBuffers( 1, &positionBuffer );
glGenBuffers( 1, &positionBuffer );
glBindBuffer( GL_ARRAY_BUFFER, positionBuffer );
glBufferData( GL_ARRAY_BUFFER, sizeof( position ), position, GL_STATIC_DRAW );
positionLoc = glGetAttribLocation( shader, "inPosition" );
glEnableVertexAttribArray ( positionLoc );
glVertexAttribPointer ( positionLoc, 3, GL_FLOAT, GL_FALSE, 0, ( void* ) 0 ); //here gDEBugger GL breaks on OpenGL Error
这是我的 init 函数的一部分,我真的不知道为什么 gDEBugger 会破坏它,有人可以为我解释一下吗?
这是中断信息。
最佳答案
GL_INVALID_OPERATION
可能产生的 glVertexAttribPointer()
错误:
如果大小为 GL_INVALID_OPERATION
而类型不是,则生成
GL_BGRA
GL_UNSIGNED_BYTE
、 GL_INT_2_10_10_10_REV
或 GL_UNSIGNED_INT_2_10_10_10_REV
。 GL_INVALID_OPERATION
,则生成 GL_INT_2_10_10_10_REV
或 GL_UNSIGNED_INT_2_10_10_10_REV
且大小不是 4 或 GL_BGRA
。 GL_INVALID_OPERATION
如果 type 是GL_UNSIGNED_INT_10F_11F_11F_REV
和 size 不是 3. GL_INVALID_OPERATION
由 glVertexAttribPointer
生成,如果大小是
GL_BGRA
,归一化是 GL_FALSE
。 GL_INVALID_OPERATION
如果零绑定(bind)到GL_ARRAY_BUFFER
缓冲区对象绑定(bind)点和指针参数不是
NULL
。 http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribPointer.xml
关于c++ - OpenGL 中奇怪的 GL_INVALID_OPERATION 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18234069/