NinjaUtil Library - テクスチャ関数

nuReLoadTextureNum

テクスチャ番号によるテクスチャのリロード

書式

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

引数

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

戻り値

 成功
-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);
/* When reloading from file, texture buffer is needed */
nuInitTextureBuffer(texbuf,0x2B000);
njSetTexture(&texlist);
/*
 Change texture #0 texture, mipmap level 128x128 to file1.pvr.
 (Here, file1.pvr is 256x256 mipmap texture.)
*/
nuReLoadTextureNum(0,"file1.pvr",NJD_TEXATTR_TYPE_FILE,128);
/*
 Reloads all the textures of texture #1.
 (Here, file2.pvr is 128x128 mipmap texture.)
*/
nuReLoadTextureNum(1,"file2.pvr",NJD_TEXATTR_TYPE_FILE,0);
/*
 Reloads all the textures of texture #2.
 (Here file3.pvr is 256x128 rectangle texture.)
*/
nuReLoadTextureNum(2,"file3.pvr",NJD_TEXATTR_TYPE_FILE,0);
syFree(texbuf);

備考

メモリテクスチャの場合、lodで設定したテクスチャの先頭を指定します。

Ninja2からnjReLoadTextureNum()関数を削除し、同様の機能をする njReLoadTextureLodNum()関数を新たに追加しました。


参照

nuReLoadTextureNumG() グローバルインデックス番号によるテクスチャのリロード
njReLoadTextureLodNum() テクスチャ番号によるテクスチャのリロード

nuReLoadTextureNum
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000