近日在OpenGL紅寶書上看到這樣的講解。

 

其核心意思是,在創(chuàng)建VBO時用

glBufferData(GL_ARRAY_BUFFER, length, NULL, GL_STATIC_DRAW);

來初始化buffer占用的內(nèi)存(此內(nèi)存在GPU端),其中的 NULL 表示并未初始化數(shù)據(jù)(即此buffer中的數(shù)據(jù)是隨機值,類似在C語言中剛剛創(chuàng)建一個數(shù)組 int x[10]; 的情況)。

這樣,就不必在CPU端申請大量內(nèi)存了。接下來需要初始化buffer數(shù)據(jù)時,用

復(fù)制代碼
1 IntPtr pointer = buffer.MapBuffer(MapBufferAccess.WriteOnly); 2 var array = (vec3*)pointer.ToPointer(); 3 for (int i = 0; i < length; i++) 
        		

網(wǎng)友評論