Sint32 njSetTextureNum( n ) Uint32 n
n | テクスチャ番号 |
1 | 成功 |
−1 | 失敗 |
●カレントテクスチャのテクスチャ番号について
テクスチャ設定時に作成した、NJS_TEXNAME構造体で、
NJS_TEXNAME texname[5];
NJS_TEXLIST texlist={texname,5};
/* テクスチャ番号 0 */
njSetTextureNum(&texname[0],"file1.pvr",10,
NJD_TEXATTR_TYPE_FILE |
NJD_TEXATTR_GLOBALINDEX);
/* テクスチャ番号 1*/
njSetTextureNum(&texname[1],"file2.pvr",11,
NJD_TEXATTR_TYPE_FILE |
NJD_TEXATTR_GLOBALINDEX);
/* テクスチャ番号 2*/
njSetTextureNum(&texname[2],"file1.pvr",12,
NJD_TEXATTR_TYPE_FILE |
NJD_TEXATTR_GLOBALINDEX);
/* テクスチャ番号 3*/
njSetTextureNum(&texname[3],"file2.pvr",13,
NJD_TEXATTR_TYPE_FILE |
NJD_TEXATTR_GLOBALINDEX);
/* テクスチャ番号 4*/
njSetTextureNum(&texname[4],"file1.pvr",14,
NJD_TEXATTR_TYPE_FILE |
NJD_TEXATTR_GLOBALINDEX);
と1つのNJS_TEXLIST構造体で設定したNJS_TEXNAME構造体のはじめから 0,1,2,3,,,とテクスチャ番号は付きます。
NJS_TEXNAME texname[2]; NJS_TEXNAME texname2[2]; NJS_TEXLIST texlist ={texname,2}; NJS_TEXLIST texlist2 ={texname2,2}; /* 合計4つ分のテクスチャを読み込む準備をする */ NJS_TEXMEMLIST texmemlist[4]; Sint8 *texbuf; njInitTexture(texmemlist,4); texbuf = syMalloc(0x20800); njInitTextureBuffer(texbuf,0x20000); njSetTextureName(&texname[0],"file1.pvr",0, NJD_TEXATTR_TYPE_FILE| NJD_TEXATTR_GLOBALINDEX); njSetTextureName(&texname[1],"file2.pvr",1, NJD_TEXATTR_TYPE_FILE| NJD_TEXATTR_GLOBALINDEX); njSetTextureName(&texname2[0],"file3.pvr",2, NJD_TEXATTR_TYPE_FILE| NJD_TEXATTR_GLOBALINDEX); njSetTextureName(&texname2[1],"file4.pvr",3, NJD_TEXATTR_TYPE_FILE| NJD_TEXATTR_GLOBALINDEX); /* テクスチャをロードする */ njLoadTexture(&texlist); /* テクスチャをロードする */ njLoadTexture(&texlist2); syFree(texbuf); /* カレントテクスチャリストをtexlistにする */ njSetTexture(&texlist); /* カレントテクスチャをtexlistの0番のテクスチャにする file1.pvr*/ njSetTextureNum(0); : 略 テクスチャ描画 file1.pvrのテクスチャで描画される : /* カレントテクスチャリストをtexlist2にする */ njSetTexture(&texlist2); /* カレントテクスチャをtexlist2の1番のテクスチャにする file4.pvr*/ njSetTextureNum(1); : 略 テクスチャ描画 file4.pvrのテクスチャで描画される :