Ninjaライブラリ - テクスチャ関数

njReleaseTexture

テクスチャメモリの解放

書式

Sint32 njReleaseTexture( *texlist ) 
NJS_TEXLIST *texlist 

引数

*texlist   NJS_TEXLIST構造体のポインタ

戻り値

 1   成功
−1   失敗

解説

テクスチャリストtexlistのテクスチャメモリを解放します。

用例

NJS_TEXNAME texname[2];
NJS_TEXNAME texname2[2];
NJS_TEXLIST texlist ={texname,2};
NJS_TEXLIST texlist2 ={texname2,2};
Sint8 *texbuf;
/* 4つ分のテクスチャを読み込む準備をする */
NJS_TEXMEMLIST texmemlist[4];
njInitTexture(texmemlist,4);
texbuf = syMalloc(0x20800);
njInitTextureBuffer(texbuf,0x20000);
njSetTextureName(&texname[0],"file1.pvr",0,
	NJD_TEXATTR_TYPE_FILE|NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname[1],"file2.pvr",1,
	NJD_TEXATTR_TYPE_FILE|NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname2[0],"file1.pvr",0,
	NJD_TEXATTR_TYPE_FILE|NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname2[1],"file3.pvr",2,
	NJD_TEXATTR_TYPE_FILE|NJD_TEXATTR_GLOBALINDEX);
/* テクスチャをロードする */
njLoadTexture(&texlist);
njLoadTexture(&texlist2);
syFree(texbuf);
/* texlistのテクスチャを解放する */
njReleaseTexture(&texlist);
/*
  texlistを解放しても texlist2にもfile1.pvrが
  あるのでfile1.pvrはテクスチャメモリ上からは
  解放されない
  ※texlistを使ってはfile1.pvrはロードし直さない限り
  読めない
*/

備考

ロードした他のテクスチャリストで同じテクスチャが登録されているときはすべてのテクスチャリストで解放しない限り、テクスチャメモリ上から解放されることはありません。

参照

njReleaseTextureAll()
njReleaseTextureNum()
njReleaseTextureNumG()

njReleaseTexture
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999