Sint32 nuReLoadTextureNum( n, texaddr, attr, lod )
Uint32 n
void *texaddr
Uint32 attr
Uint32 lod
n カレントテクスチャリストのテクスチャ番号 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); /* 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() テクスチャ番号によるテクスチャのリロード