0

かなりトリッキーな問題に出くわしました。

iOS 用の openGL アプリのコンテキストで、glReadPixels を呼び出そうとしました。そのため、最初にグローバル バッファ変数が 1 回作成/割り当てられました。そのバッファで glReadPixel-Function を使用しようとしましたが、成功しませんでした。私は新しい写真を手に入れませんでした。ただがらくたです。

だから私の質問:最終的に解放する前にそのメモリの場所を何度も使用したいのに、割り当てられたバッファスペースで free() を使用する必要があるのはなぜですか?

例を参照してください。

int bytes = width*height*3; //Color space is RGB
if(buffer == null)
    buffer = (GLubyte *)malloc(bytes);

glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, buffer);
free(buffer);

編集: free(bytes); を置き換えました。無料で(バッファ);

4

0 に答える 0