2012-02-24 62 views
0

我正在嘗試編寫一個使用土壤來封裝SOIL調用的類。我卻無法找到刪除存儲的任何其他方式,如果我加載使用土壤圖像庫和釋放內存

SOIL_load_OGL_texture  

那麼,什麼是這個調用清理後的正確方法的形象呢?

回答

1

它返回OGL質地標識

/* load an image file directly as a new OpenGL texture */ 
GLuint tex_2d = SOIL_load_OGL_texture 
    (
     "img.png", 
     SOIL_LOAD_AUTO, 
     SOIL_CREATE_NEW_ID, 
     SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT 
    ); 

所以應該被釋放,使用OGL功能:

glDeleteTextures(1, &tex_2d); 
我沒有用過這個LIB

,但是這是我會做什麼

+2

我認爲重要的是要提到的是,返回的值是您使用OpenGL實際使用紋理所需的紋理ID。因此,除非您不再需要渲染,否則不得刪除紋理。你也不應該重新創建和刪除每一幀的紋理。 – datenwolf 2012-02-24 11:35:43