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

njInitCacheTextureBuffer

キャッシュテクスチャバッファの設定

書式

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);
/*
キャッシュバッファを設定する 256x256x2バイトx2枚=0x40000
テクスチャのデータ分のメモリが必要
*/
cachebuf = syMalloc(0x40000);
njInitCacheTextureBuffer(cachebuf,0x40000);
/* ファイルからキャッシュに読み込みを指定 */
njSetTextureName(&texname[0],"file1.pvr",0,
	NJD_TEXATTR_TYPE_FILE
	| NJD_TEXATTR_CACHE|NJD_TEXATTR_GLOBALINDEX);
/* ファイルからキャッシュに読み込みを指定 */
njSetTextureName(&texname[1],"file2.pvr",1,
	NJD_TEXATTR_TYPE_FILE
	| NJD_TEXATTR_CACHE|NJD_TEXATTR_GLOBALINDEX);
/* テクスチャをロードする キャッシュに読み込む */
njLoadTexture(&texlist);
syFree(texbuf);
/* カレントテクスチャリストをtexlistにする */
njSetTexture(&texlist);
/* キャッシュからテクスチャメモリへ読み込む*/
njLoadCacheTexture(&texlist);
/* カレントテクスチャをtexlistの0番のテクスチャにする file1.pvr*/
njSetTextureNum(0);
    :
略 テクスチャ描画file1.pvrのテクスチャで描画される
    :

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