Unk*_*337 3 c++ opengl opengl-3
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
Run Code Online (Sandbox Code Playgroud)
这是我的初始化函数的一部分,我真的不知道为什么gDEBugger打破了它,有人可以为我解释一下吗?
中断原因OpenGL错误中断glVertexAttribPointer(0,3,GL_FLOAT,FALSE,0,0x00000000)错误代码
GL_INVALID_OPERATION错误描述在当前状态下不允许指定的操作.忽略违规功能,除了设置错误标志外没有任何副作用.*在执行功能前停止
这是休息信息.
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如果type为GL_INT_2_10_10_10_REV
或者GL_UNSIGNED_INT_2_10_10_10_REV且size不是4或者,则生成GL_BGRA.
GL_INVALID_OPERATION如果类型为GL_UNSIGNED_INT_10F_11F_11F_REV且大小不是3,则生成
.
GL_INVALID_OPERATION由glVertexAttribPointerif GL_BGRA和noramlized 生成GL_FALSE.
GL_INVALID_OPERATION如果零绑定到GL_ARRAY_BUFFER缓冲区对象绑定点而指针参数不绑定,则生成
NULL.
http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribPointer.xml