我已初始化glewInit()和其他任何openGL的東西。所有在我做任何這些電話之前。glMapBuffer不斷返回0x00000000
glGenBuffers(1, &m_uiVertBufferHandle);
glBindBuffer(GL_ARRAY_BUFFER, m_uiVertBufferHandle);
glBufferData(GL_ARRAY_BUFFER, 0, 0, GL_READ_WRITE);
glBindBuffer(GL_ARRAY_BUFFER, 0);
這是我創造我的緩衝物II做了glBufferData因爲我在你沒有任何的存儲空間可言,如果你不把它至少一次,這將使glMapBuffer總是openGL的文章都讀給你0x00000000。
後來我打電話glMapBuffer讓我的存儲位置,開始保存數據 當我使用glMapBuffer我這樣稱呼它
void* buffer1;
glBindBuffer(GL_ARRAY_BUFFER, m_uiVertBufferHandle);
//make sure our buffer excists
buffer1 = glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE);
我總是在我的緩衝器1獲得00000000。爲什麼是這樣?我唯一能找到的兩個原因是我沒有正確初始化glewInit,而且我沒有至少調用一次glBindBufferData。
解決方案[沒有得到你喜歡的答案](http://stackoverflow.com/questions/13281508/glmapbuffer-returns-0x00000000-constantly)不是刪除你的舊問題,而是再次提問。只是FYI。 –
@NicolBolas取決於是否有人濫用系統的回答 – user3728501