0
好吧,我有一個vector<float>
的x,y,z值,我試圖用opengl渲染它,有些東西沒有工作,並想知道我在做什麼錯誤,所以請幫忙!從緩衝區上傳和繪圖
這是怎麼了我根緩衝
GLUint buffer;
int length = data.points.size() * 3 * sizeof(float);
glGenBuffers(1, &buffer);
glBindBuffer(GL_ARRAY_BUFFER, buffer);
glBufferData(GL_ARRAY_BUFFER, length, &data.points[0], GL_STATIC_DRAW);
,這是我如何繪製它:
glEnableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, buffer);
glVertexPointer(3, GL_FLOAT, 0, (char *)NULL);
glDrawArrays(GL_POINTS, 0, buffer);
glDisableClientState(GL_VERTEX_ARRAY);
有什麼不對?
有問題嗎?我改變了我的代碼來修復你的建議,但仍然沒有繪製 – Dean
我在你發佈的代碼中看不到任何其他問題。如果它沒有繪製任何東西,可能有很多原因。最常見的是您的幾何體不在相機的視野範圍內。你是否在某處設置了點顏色?我有時候做的一件事是使用除黑色以外的清晰顏色。這會告訴你,如果你畫黑點,或根本沒有點。 –
是的,我的相機是好的,它似乎是繪製一個點,沒有別的......一切都在視線中,我想我將不得不繼續檢查 – Dean