OpenGL에서 단일 구조체와 단일 VBO를 사용하여 객체에 색상을 추가하려고합니다. 이를 위해, 나는 그 다음과 같습니다 만든 Vertex
구조체를 가지고 :OpenGL VBO의 색상은 무엇입니까?
typedef struct {
float x;
float y;
float z;
float r;
float g;
float b;
float a;
} Vertex;
내가 테스트를 실행하기 때문에 이미 내가 원하는 것을 얻을 좌표 정확하게 모든 색상을 설정하고있어 알고 내 목록에 저장 한 각 객체를 반복하고 점을 그리고 glVertex3f
및 glColor4f
을 사용하여 색상을 설정합니다 (이는 내가 찾고있는 것보다 훨씬 느립니다). 그러나 VBO를 사용하여 그릴하려고 할 때 나는 모든 곳의 색 삼각형이 엉망이되었습니다.
VBO를 끌어 내 렌더링 루프의 일부는 다음과 같습니다 : 내가 잘못 뭐하는 거지
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, NULL);
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(4, GL_FLOAT, offsetof(Vertex, r), NULL);
glDrawArrays(GL_TRIANGLES, 0, vertex_amount);
glBindBuffer(GL_ARRAY_BUFFER, 0);
? 당신이 stride
에 대한 0
을 사용할 수 있도록 Vertex
의 배열에