내 간단한 OpenGL 프로그램에 버텍스 버퍼 객체 (VBO)를 사용할 때 세그먼테이션 오류가 발생합니다. 우선 seg 오류를 일으키는 코드의 일부를 공유하도록하겠습니다. 오류를 치화 원인이 무엇인지 아는 사람이버텍스 버퍼 객체를 사용하여 Opengl
cout<< sizeof(glm::vec4)<<endl;
16
cout<< objectVertices.size()<<endl;
507
있습니까 :
//GLuint objectVerticesVBO; type of my VBO
vector<glm::vec4> objectVertices; // I fill this vector somewhere in the code
glGenBuffers(1, &objectVerticesVBO);
glBindBuffer(GL_ARRAY_BUFFER, objectVerticesVBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(glm::vec4)* objectVertices.size(), &objectVertices, GL_STATIC_DRAW);
glVertexPointer(3, GL_FLOAT, 0,0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
지금 여기에 내가 인쇄 한 일부 출력은? 나는 renderScene 기능에 내 코드에이 부분을 추가하면
, 나는 단지 빈 화면을 얻을 :
또 다른 질문이다.
glUseProgram(gProgramShader);
glBindBuffer(GL_ARRAY_BUFFER, objectVerticesVBO);
glVertexPointer(3, GL_FLOAT, 0, 0);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, objectIndicesVBO);
glDrawElements(GL_TRIANGLES, objectVertices.size(), GL_UNSIGNED_INT, 0);
무엇이 문제입니까?
질문을 보는 것에서 명백한 중복은 아니지만 http://stackoverflow.com/q/24048666/3530129와 같은 문제입니다. –