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

njSetTextureInfo

テクスチャ情報構造体へのデータのセット

書式

void njSetTextureInfo( *info, *tex, Type, nWidth, nHeight ) 
NJS_TEXINFO *info 
Uint16 *tex 
Sint32 Type 
Sint32 nWidth 
Sint32 nHeight 

引数

*info   テクスチャ情報(出力)
*tex   メモリテクスチャのポインタ
Type   テクスチャのタイプ
nWidth   テクスチャの横サイズ
nHeight   テクスチャの縦サイズ

戻り値

なし

解説

メモリテクスチャのとき、テクスチャ情報構造体infoにテクスチャ情報を設定します。 Typeにはカラーフォーマットとカテゴリコードを入れます。 ここで設定したinfoをnjSetTextureName関数のaddrに設定します。


<カラーフォーマット>
NJD_TEXFMT_ARGB_1555
NJD_TEXFMT_RGB_565
NJD_TEXFMT_ARGB_4444
NJD_TEXFMT_YUV_422
NJD_TEXFMT_BUMP


<カテゴリコード>
NJD_TEXFMT_TWIDDLED
NJD_TEXFMT_TWIDDLED_MM
NJD_TEXFMT_VQ
NJD_TEXFMT_VQ_MM
NJD_TEXFMT_PALETTIZE4
NJD_TEXFMT_PALETTIZE4_MM
NJD_TEXFMT_PALETTIZE8
NJD_TEXFMT_PALETTIZE8_MM
NJD_TEXFMT_RECTANGLE
NJD_TEXFMT_STRIDE


用例

NJS_TEXINFO Info;
NJS_TEXNAME texname[2];
NJS_TEXLIST texlist ={texname,2};
/* 合計2つ分のテクスチャを読み込む準備をする */
NJS_TEXMEMLIST texmemlist[2];
Sint8 *texbuf;
njInitTexture(texmemlist,2);
texbuf = syMalloc(0x20800);
njInitTextureBuffer(texbuf,0x20000);
njSetTextureInfo(&Info,Image,
	NJD_TEXFMT_RECTANGLE|
	NJD_TEXFMT_ARGB_1555,256,256);
njSetTextureName(&texname[0],"file0.pvr",0,
	NJD_TEXATTR_TYPE_FILE|
	NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname[1],&Info,1,
	NJD_TEXATTR_TYPE_MEMORY|
	NJD_TEXATTR_GLOBALINDEX);
/* テクスチャをロードする */
njLoadTexture(&texlist);
syFree(texbuf);
/* カレントテクスチャリストをtexlistにする */
njSetTexture(&texlist);
/* カレントテクスチャをtexlistの1番のテクスチャにする Image*/
njSetTextureNum(0);
    :
/* テクスチャ描画 メモリテクスチャImageの
テクスチャで描画される */
    :

備考

詳しくは、テクスチャドキュメントを参照してください。

参照

njSetTextureName()

njSetTextureInfo
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999