NinjaUtil Library - テクスチャ関数

nuReLoadTextureNumG

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

書式

Sint32 nuReLoadTextureNumG( globalIndex, texaddr, attr, lod )
Uint32 globalIndex
void *texaddr
Uint32 attr
Uint32 lod

引数

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

戻り値

 成功
-1   失敗

解説

グローバルインデックス番号globalIndexのテクスチャをリロードします。

リロードするテクスチャは前にロードしていたテクスチャと同じカテゴリー、カラーフォーマット ものとします。 ファイルからテクスチャをロードするときは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);
/* ファイルからリロードする場合もテクスチャバッファが必要になる */
nuInitTextureBuffer(texbuf,0x2B000);
/*
 グローバルインデックス番号0番のテクスチャの
 ミップマップレベル128×128をfile1.pvrに変更する。
 ※file1.pvrは256×256のミップマップテクスチャとする
*/
nuReLoadTextureNumG(0,"file1.pvr",NJD_TEXATTR_TYPE_FILE,128);
/*
 グローバルインデックス番号1番のテクスチャをすべてロードし直す。
 ※file2.pvrは128×128のミップマップテクスチャとする
*/
nuReLoadTextureNumG(1,"file2.pvr",NJD_TEXATTR_TYPE_FILE,0);
/*
 グローバルインデックス番号2番のテクスチャをすべてロードし直す。
 ※file3.pvrは256×128の長方形テクスチャとする
*/
nuReLoadTextureNumG(2,"file3.pvr",NJD_TEXATTR_TYPE_FILE,0);
syFree(texbuf);

備考

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

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


参照

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

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