1
我目前正在嘗試使用多邊形模式LINES畫線。我可以用即時模式多次成功地做到這一點。但是現在我正在試圖與維也納組織一起這樣做,並且不知道爲什麼。VBO和PolygonMode行
以下是代碼示例。據我可以告訴所有的偏移,混合和顏色方法工作正常,但它不會畫線,除非我做GL_LINES下的glDrawArays。
glPolygonMode(GL_FRONT_AND_BACK, GL_LINES);
glLineWidth(3.0f);
glColor4f(0.0f, 0.0f, 0.0f, 0.5f);
glEnable(GL_POLYGON_OFFSET_LINE);
glPolygonOffset (-5.8f, -1.0f);
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnableClientState(GL_VERTEX_ARRAY);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, vHandle);
glBufferDataARB(GL_ARRAY_BUFFER_ARB, vBuffer, GL_STATIC_DRAW_ARB);
glVertexPointer(3, GL_FLOAT, 3 << 2, 0L);
glDrawArrays(GL_TRIANGLES, 0, count /* elements */);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
glDisableClientState(GL_VERTEX_ARRAY);
glDisable(GL_POLYGON_OFFSET_LINE);
你檢查了gl錯誤嗎?您使用了錯誤的枚舉:GL_LINES而不是GL_LINE –
非常感謝!我很高興它最終變得如此簡單..我一直很困惑至於何時使用GL_LINES以及何時使用GL_LINE。有什麼不同?編輯:你是什麼意思'檢查gl錯誤'?像調試器或什麼的? –
檢查我的答案 –