njReleaseCacheTextureNum
キャッシュメモリの開放

書 式

#include <Ninja.h>
Sint32 njReleaseCacheTextureNum(n);
Uint32 n

引 数

n
カレントテクスチャリストのテクスチャ番号

返 値

成功
1
失敗
-1

機 能

テクスチャ番号nのキャッシュメモリを開放する。

用 例

NJS_TEXNAME texname[2];
NJS_TEXLIST texlist ={texname,2};

/* 2つ分のテクスチャを読み込む準備をする */
NJS_TEXMEMLIST texmemlist[2];
Sint8 *texbuf;
Sint8 *cachebuf;

njInitTexture(texmemlist,2);

texbuf = syMalloc(0x20800);
njInitTextureBuffer(texbuf,0x20000);

/* キャッシュバッファを設定する 256x256x2bytex2枚=0x40000*/
cachebuf = syMalloc(0x40000);
njInitCacheTextureBuffer(cachebuf,0x40000);

njSetTextureName(&texname[0],"file1.pvr",0,NJD_TEXATTR_TYPE_FILE|
        NJD_TEXATTR_TYPE_CACHE|NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname[1],"file2.pvr",1,NJD_TEXATTR_TYPE_FILE|
        NJD_TEXATTR_TYPE_CACHE|NJD_TEXATTR_GLOBALINDEX);

/* テクスチャをロードする キャッシュに読み込む */
njLoadTexture(&texlist);

/* カレントテクスチャリストをtexlistにする */
njSetTexture(&texlist);

/* キャッシュからテクスチャメモリへ読み込む*/
njLoadCacheTextureNum(0);
njLoadCacheTextureNum(1);
syFree(texbuf);

/* カレントテクスチャをtexlistの0番のテクスチャにする file1.pvr*/
njSetTextureNum(0);

        :
略 テクスチャ描画 file1.pvrのテクスチャで描画される
        :

/* キャッシュにあるテクスチャ番号0のテクスチャを開放 */
njReleaseCacheTextureNum(0);

備 考

njSetTextureによりカレントテクスチャリストを指定している必要があります。
キャッシュメモリに指定のテクスチャがロードされていなくてはなりません。
キャッシュメモリを開放してもテクスチャメモリ内のテクスチャは開放されません。
詳しくは、テクスチャドキュメントを参照してください。

関 連

njReleaseCacheTextureAll
njReleaseCacheTextureNumG

njReleaseCacheTextureNum

Copyright SEGA ENTERPRISES, LTD., 1998