Sint32 nuReLoadTextureNumG( globalIndex, texaddr, attr, lod )
Uint32 globalIndex
void *texaddr
Uint32 attr
Uint32 lod
globalIndex グローバルインデックス番号 texaddr ファイル名またはテクスチャメモリのアドレス attr テクスチャのアトリビュート lod ミップマップのレベル
1 成功 -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() グローバルインデックス番号によるテクスチャのリロード