2014-01-28 45 views
-1

我無法找到關於設置這個功能很多信息。我有2個VBO。第一個包含位置,常規和顏色信息綁定到GL_ARRAY_BUFFER。第二個是綁定到GL_ELEMENT_ARRAY_BUFFER的索引緩衝區。在非實例化的繪製調用中,我得到了繪製到屏幕上的正確模型,但是當我使用實例渲染執行相同的調用時,每個實例中都會丟失一半的基元。我正在做一個統一數組,填充由gl_InstanceID索引的翻譯數據。翻譯工作正常,但有一半的原語沒有出現。我已經排除了淘汰問題。我認爲,因爲通過的索引數量要求繪圖調用將查找GL_ELEMENT_ARRAY_BUFFER,並根據傳入的計數值進行步幅。有人能向我解釋幕後發生了什麼事嗎?爲什麼我的索引緩衝區沒有與glDrawArraysInstanced(OpenGLES 3.0)使用

+0

其中ES 3.0您使用的實施? – genpfault

+0

我改用glDrawElementsInstanced作爲棘輪怪胎建議,現在它正常工作。謝謝! – Cristiano

+0

@Cristiano你能證明你的問題已經被點擊上解決它 –

回答

0

因爲glDrawArraysInstanced不使用元素緩衝區,但glDrawElementsInstanced確實

+0

感謝您的快速響應問題的對號回答。硬件如何知道如何繪製沒有索引緩衝區的表面? – Cristiano

+0

@Cristiano,它使用數據順序 - 每個頂點數據位置對應一個索引。 – Kimi

+0

@Cristiano換句話說,它假定索引緩存'[0,1,2,3,4,...]' –

相關問題