メモリが大量に使用されて困っています。
解放すればいいのか、放っておいてもいいのかわからない状況です
コードですが
ヘッダに以下の構造体があります
C++
1vector<CUSTOM_VERTEX> cverts; 2 struct CUSTOM_VERTEX 3 { 4 GLfloat tx, ty; 5 GLfloat r, g, b, a; 6 GLfloat nx, ny, nz; 7 GLfloat x, y, z; 8 };
この構造体を使っている関数内の処理です
C++
1{ 2 for (int i = 0; i <1000 i++) { 3 CUSTOM_VERTEX cv = { 4 ...割愛 5 }; 6 cverts.push_back(cv); 7 } 8 glBindBuffer(GL_ARRAY_BUFFER, buffers[0]); 9 glBufferData(GL_ARRAY_BUFFER, cverts.size() * sizeof(CUSTOM_VERTEX), &cverts[0], GL_DYNAMIC_DRAW); 10 glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, VboIdx[0]); 11 glBufferData(GL_ELEMENT_ARRAY_BUFFER, indexs.size() * sizeof(int), &indexs[0], GL_DYNAMIC_DRAW); 12 13 glBindBuffer(GL_ARRAY_BUFFER, 0); 14 glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); 15}
この処理を何度も呼び出したところ、プロセスメモリに大量のCUSTOM_VERTEX構造体が存在するようになりました。
そこで、このメモリを解放したいのですが方法がわかりません。。
試して効果がなかったコード
glDeleteBuffers(1,buffers); cverts.clear();

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。