我想知道,如果我使用glBufferData
,它會在我調用它時分配內存嗎(也就是說,如果size參數大於可用內存,那麼它會崩潰),還是它有一些特殊的內容只有當我實際上將數據複製到緩衝區時才分配內存的時間規則?glBufferData是根據現場的大小實際分配內存嗎?
如何在GPU的內存將這種看法::
glBufferData(GL_ARRAY_BUFFER, 1000, NULL, GL_DYNAMIC_DRAW);
然後,又怎麼會被佔領
爲了使它更加簡潔,我的問題回答一個更實際的問題來回答內存變化,當你做到這一點在同一個緩衝:
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(poly), &poly);
好吧,我已經知道了。但是,作爲一個側面問題,我有用戶生成的內容可以改變(越來越多)以最大大小(可能是一個相當大的值)分配數據看起來像是浪費資源(因爲大多數用戶不會生成內容) o允許的最大尺寸)。任何想法如何我可以處理這個?謝謝 – Meda 2013-02-15 21:27:59
@Meda:有一個提問新問題的按鈕。只要確定清楚你到底在做什麼。 – 2013-02-15 21:53:53