내 목표는 다른 색상과 가능한 경우 다양한 너비의 VBO를 사용하여 세그먼트 목록을 렌더링하는 것입니다. 세그먼트를 정의하는 정점의 쌍VBO를 사용하여 다른 너비의 컬러 선을 그립니까?
class Vector2f {
public:
float x, y;
};
세그먼트의리스트로 구성
각 정점
은에 의해 정의된다. 는 다음 나는 VBO 초기화 :glGenBuffers(1, &vbo);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(Vector2f) * segments.size(), &segments[0], GL_DYNAMIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
을 그리고 내가 사용하여 그리는 : 내 예에서
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, sizeof(Vector2f), (void*)(sizeof(float) * 0));
glColor3f(0.0f, 1.0f, 0.0f);
glDrawArrays(GL_LINES, 0, segments.size());
glDisableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, 0);
, 나는 각 세그먼트에 색상을주고 싶다. 색상은 이전에 정의되었으므로 3 가지 옵션 중 하나만 사용할 수 있습니다. 어떻게해야합니까? 그리고 그것을 모두 반복하지 않고 색인을 사용하여 최적화 할 수 있습니까?
그렇다면 어떻게됩니까?
또한 개별 세그먼트의 너비를 정의 할 수 있습니까?
그래서 색인을 사용하여 색상 배열을 최적화 할 수 없습니까? – gdf31
@ gdf31 : 사실 OpenGL은 각 속성에 대해 별도의 색인 배열을 허용하지 않습니다. – genpfault
@ gdf31 : 솔직히 말해서 데스크톱을 목표로한다면 OpenGL 정점 데이터는 소수의 텍스처와 비교하면 현미경입니다. – genpfault