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

njReLoadTextureNum

テクスチャのリロード

書式

Sint32 njReLoadTextureNum( n, *texaddr, attr, lod ) 
Uint32 n 
void *texaddr 
Uint32 attr 
Uint32 lod 

引数

 カレントテクスチャリストのテクスチャ番号
*texaddr   ファイル名またはテクスチャメモリのアドレス
attr   テクスチャのアトリビュート
lod   ミップマップのレベル

戻り値

 1   成功
−1   失敗

解説

カレントテクスチャリストのテクスチャ番号nのテクスチャをロードし直します。

リロードするテクスチャは前にロードしていたテクスチャと同じものとします。 ファイルからテクスチャをロードするときはattrにNJD_TEXATTR_TYPE_FILEを、メモリからテクスチャをロードするときはattrにNJD_TEXATTR_TYPE_MEMORYを指定します。 また、ミップマップテクスチャの場合、lodを指定することで各ミップマップレベルのみ、リロードすることができます。たとえば、lodに128と設定することで、128×128のレベルのテクスチャレベルのみリロードすることができます。 ミップマップテクスチャのすべてのレベルをリロードする場合、lodに0を指定します。 メモリからロードする場合、texaddrで指定したアドレスからlodのレベルにリロードします。


用例

カレントテクスチャリストの
テクスチャ番号0番に256×256のミップマップ
テクスチャ番号1番に128×128のミップマップ
テクスチャ番号2番に256×128の長方形テクスチャ
がロードされているものとする
Sint8* texbuf;
texbuf = syMalloc(0x2B000);
/* ファイルからリロードする場合もテクスチャバッファが
   必要になる */
njInitTextureBuffer(texbuf,0x2B000);
/*
 テクスチャ番号0番のテクスチャのミップマップレベル128×128を
 file1.pvrに変更する。
 ※file1.pvrは256×256のミップマップテクスチャとする
*/
njReLoadTextureNum(0,"file1.pvr",NJD_TEXATTR_TYPE_FILE,128);
/*
 テクスチャ番号1番のテクスチャをすべてロードし直す。
 ※file2.pvrは128×128のミップマップテクスチャとする
*/
njReLoadTextureNum(1,"file2.pvr",NJD_TEXATTR_TYPE_FILE,0);
/*
 テクスチャ番号2番のテクスチャをすべてロードし直す。
 ※file3.pvrは256×128の長方形テクスチャとする
*/
njReLoadTextureNum(2,"file3.pvr",NJD_TEXATTR_TYPE_FILE,0);
syFree(texbuf);

備考

メモリテクスチャの場合、lodで設定したテクスチャの先頭を指定します。 詳しくは、テクスチャドキュメントを参照してください。

参照

njLoadTextureNum()
njReLoadTextureNumG()

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