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

njReLoadTextureNumG

テクスチャのリロード

書式

Sint32 njReLoadTextureNumG( 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と設定することで、 128x128のレベルのテクスチャレベルのみリロードすることができます。

ミップマップテクスチャのすべてのレベルをリロードする場合、lodに0を指定します。 メモリからロードする場合、texaddrで指定したアドレスからlodのレベルにリロードします。


用例

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

備考

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

参照

njLoadTextureNum()
njReLoadTextureNum()

njReLoadTextureNumG
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998