2012-02-24 2 views
0

SOIL 호출을 캡슐화하기 위해 토양을 사용하여 클래스를 작성하려고합니다. 내가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 기능 반환 :이 lib 디렉토리를 사용하지 않은

glDeleteTextures(1, &tex_2d); 

을, 그러나 이것은 내가

+2

내가 할 것 인 것이다 반환 값은 OpenGL에서 텍스처를 실제로 사용하는 데 필요한 텍스처 ID입니다. 따라서 렌더링을 위해 더 이상 필요하지 않을 때까지 텍스처를 삭제하면 안됩니다. 또한 모든 프레임마다 텍스처를 다시 만들고 삭제해서는 안됩니다. – datenwolf