Ninja Library - テクスチャ関数

njReleaseTextureAll

テクスチャメモリの全解放

書式

void njReleaseTextureAll( void )

引数

なし

戻り値

なし

解説

ユーザーが登録したテクスチャ、Nindowsのテクスチャのすべてをリリースします。 njExitTexture関数の中でも実行されます。ただし、デバッグプリント用テクスチャは リリースされません。 Ninja2からロードしたテクスチャには、texlist.textures[i].attrに NJD_TEXATTR_REGISTRATIONを設定しています。njReleaseTextureAll関数で テクスチャをリリースした場合、このフラグを消すことができないので 次にテクスチャをロードするときには、NJD_TEXATTR_REGISTRATIONを 消してからロードしてください。


用例

NJS_TEXNAME texname[2];
NJS_TEXLIST texlist ={texname,2};
Sint8 *texbuf;
/* Prepare to read in two textures */
NJS_TEXMANAGE texmng[2];
NJS_TEXSYSTEM texsys[2];

njInitTextureEx(texmng,2,texsys,2);
texbuf = syMalloc(0x20000);
nuInitTextureBuffer(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);
  
/* Load texture */
nuLoadTexture(&texlist);
syFree(texbuf);
/* Set texlist as the current texture list */
njSetTexture(&texlist);
/* Set current texture to texture #0 in texlist  file1.pvr */
njSetTextureNum(0);
  
    :
 lit. Drawing texture with texture in file1.pvr
    :
/* Release all textures */
njReleaseTextureAll();

備考

もう一度テクスチャを使用したいときは、もう一度ロードする必要があります。

参照

njReleaseTexture() テクスチャメモリのリリース
njReleaseTextureNum() テクスチャ番号によるテクスチャメモリのリリース
njReleaseTextureNumG() グローバルインデックス番号によるテクスチャメモリのリリース

njReleaseTextureAll
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000