0
我在glDrawArrays上看到了很多与EXC_BAD_ACCESS信号相关的其他帖子,但没有一个完全适合我的问题,所以就这样了。glDrawArrays与glVertexAttrib3f崩溃
下面的代码工作:
glEnableVertexAttribArray(mAttributes.position);
glEnableVertexAttribArray(mAttributes.color);
GLsizei stride = sizeof(Vertex);
const GLvoid* pPos = &mVertices2[0].mPos.x;
const GLvoid* pColors = &mVertices2[0].mColor.r;
glVertexAttribPointer(mAttributes.position, 2, GL_FLOAT, GL_FALSE, stride, pPos);
glVertexAttribPointer(mAttributes.color, 3, GL_FLOAT, GL_FALSE, stride, pColors);
glDrawArrays(GL_LINE_STRIP, 0, mVertices2.size());
但我似乎无法写入颜色以恒定的属性。这在glDrawArrays崩溃:
glEnableVertexAttribArray(mAttributes.position);
glEnableVertexAttribArray(mAttributes.color);
glVertexAttribPointer(mAttributes.position, 2, GL_FLOAT, GL_FALSE, stride, pPos);
glVertexAttrib3f(mAttributes.color, 1.0f, 0.0f, 0.0f);
glDrawArrays(GL_LINE_STRIP, 0, mVertices2.size()); // <-- EXC_BAD_ACCESS because of the line above
有谁知道为什么?你只能使用glDrawElements
的恒定顶点属性调用吗?
啊,当然,这是我的权利。感谢您的快速回答,我正在盯着这个,并没有得到任何地方。 – 2012-03-13 13:03:14
Yuppi .... !!!我已经在OpenGL中深入工作了。 – Siten 2014-11-13 12:24:40