##### Ninja Library - テクスチャ関数

# njReleaseTexture

テクスチャメモリのリリース

### 書式

> `Sint32 njReleaseTexture( texlist )
> NJS_TEXLIST *texlist
> `

### 引数

> *texlist | NJS_TEXLIST構造体のポインタ

### 戻り値

> 1 | 成功
> −1 | 失敗（テクスチャサーフェスが不正の場合）

### 解説

> テクスチャリストtexlistのテクスチャメモリをリリースします。ただし、テクスチャサーフェスは リファレンスカウンタが0になるときにリリースします。 Ninja2からテクスチャリストにロードされていないテクスチャが存在する場合でも エラーを返しません。(不正なテクスチャサーフェスをロードした場合は、エラーになります)

### 用例

>     NJS_TEXNAME texname[2];
>     NJS_TEXNAME texname2[2];
>     NJS_TEXLIST texlist ={texname,2};
>     NJS_TEXLIST texlist2 ={texname2,2};
>     Sint8 *texbuf;
>     /* Prepare to read four textures */
>     NJS_TEXMANAGE texmng[4];
>     NJS_TEXSYSTEM texsys[4];

>     njInitTextureEx(texmng,4,texsys,4);
>     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);
>     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);
>     /* Load texture */
>     nuLoadTexture(&texlist);
>     nuLoadTexture(&texlist2);
>     syFree(texbuf);
>     /* Release the texture in texlist */
>     njReleaseTexture(&texlist);
>     /*
>     	Even if texlist is released, since file1.pvr is
>     	in texlist2 also, file.pvr will not be released
>     	from texture memory.
>     	** However file1.pvr cannot be read with texlist
>     	   unless it is loaded again.
>     */

### 備考

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

### 参照

> njReleaseTextureAll() | テクスチャメモリの全解放
> njReleaseTextureNum() | テクスチャ番号によるテクスチャメモリのリリース
> njReleaseTextureNumG() | グローバルインデックス番号によるテクスチャメモリのリリース

njReleaseTexture

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000