njInitCahceTextureBuffer
キャッシュテクスチャバッファを設定します

書 式

#include <Ninja.h>
void   njInitCacheTextureBuffer(addr,size);
Sint8* addr
Uint32 size

引 数

*addr
キャッシュテクスチャバッファの先頭ポインタ
size
キャッシュテクスチャバッファのサイズ

返 値

なし

エラー

なし

機 能

キャッシュテクスチャとして必要なメモリを指定します。
ここで指定したメモリはキャッシュテクスチャを使用している間必要です。

用 例

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

/* 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);
syFree(texbuf);

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

/* キャッシュからテクスチャメモリへ読み込む*/
njLoadCacheTexture(&texlist);

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

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

備 考


関 連


njInitCahceTextureBuffer

Copyright SEGA ENTERPRISES, LTD., 1998