##### Ninja Library - テクスチャ関数

# njReLoadTextureLodNumG

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

### 書式

> `Sint32 njReLoadTextureLodNumG( globalIndex, pTexture, lod )
> Uint32 globalIndex
> Sint8 *pTexture
> Uint32 lod
> `

### 引数

> globalIndex | グローバルインデックス番号
> pTexture | メモリテクスチャのアドレス
> lod | ミップマップのレベル

### 戻り値

> 1 | 成功
> −1 | 失敗

### 解説

> メインメモリにあるテクスチャをグローバルインデックス番号globalIndexの テクスチャをリロードします。リロードするテクスチャは前にロードしていた テクスチャと同じカテゴリーものとします。 また、ミップマップテクスチャの場合、lodを指定することで各ミップマップレベルのみ リロードすることができます。たとえば、lodに128と設定することで、128×128のレベルの テクスチャレベルのみリロードすることができます。 ミップマップテクスチャの場合、テクスチャをすべてリロードする場合、lodに0を指定します。 Ninja1のnjReLoadTextureNumG関数でメモリからロードした場合と同じ機能です。

### 用例

>     Sint32 nuReLoadTextureNumG(Uint32 globalIndex,void *texaddr,Uint32 attr,Uint32 lod)
>     {
>     	Sint8 *pTexture;
>     	char  filename[32];
>     	Sint8 *texbuf;
>     	Int texbuf_size;
>     	Uint32 Surfaceflag;
>     	Uint32 nTextureType;
>     	Uint32 nWidth;
>     	Uint32 nHeight;
>     	Uint32 size;
>     	NJS_PVRHEADERDATA pvrh;
>     	Sint8 *tex_start;
>     	Sint32 texmng_no;
>     	Sint32 ret;

>     	if(attr & NJD_TEXATTR_TYPE_MEMORY){
>     		pTexture = texaddr;
>     	}
>     	else{
>     		njCheckFileName(filename,(char*)texaddr,".PVR");
>     		nuGetTextureBuffer(&texbuf,&texbuf_size);

>     		if(nuTexFreadAll(filename,texbuf,texbuf_size) < 0){
>     			return -1;
>     		}

>     		if((tex_start = njLoadPvrHeader(&pvrh,NULL,texbuf)) == NULL){
>     			pTexture = texbuf;
>     		}
>     		else{
>     			pTexture = tex_start;
>     		}

>     		ret = njSearchTextureManageNum(globalIndex,0,0,&texmng_no);
>     		if(ret != 1){
>     			return -1;
>     		}
>     		Surfaceflag = _nj_texmanage[texmng_no].texsys->texsurface.fSurfaceFlags;
>     		if((lod != 0) && (Surfaceflag & NJD_SURFACEFLAGS_MIPMAPED)){
>     			nTextureType = (_nj_texmanage[texmng_no].texsys->texsurface.Type >> 16);
>     			nWidth = nHeight = (lod >> 1);
>     			size = njCalcTextureSize(nWidth,nHeight,nTextureType);
>     			pTexture = (Sint8*)((Uint32)pTexture + size);
>     		}
>     	}
>     	return njReLoadTextureLodNumG(globalIndex,pTexture,lod);

>     }

### 備考

> pTextureはlodで設定したテクスチャの先頭を指定します。

### 参照

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

njReLoadTextureLodNumG

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000