Sint32 nuLoadTexture( texlist )
NJS_TEXLIST *texlist
texlist テクスチャリスト構造体のポインタ
1 成功 -1 失敗
テクスチャアトリビュートの設定によって以下の動作をします。ロード方式に関するアトリビュートは、以下のように定義されています。
定義 意味 NJD_TEXATTR_TYPE_FILE または、設定なし ファイルからテクスチャをロードします。この場合nuInitTextureBuffer()関数でテクスチャバッファを設定する必要があります。 NJD_TEXATTR_TYPE_MEMORY メインメモリからテクスチャをロードします。この場合テクスチャバッファを設定する必要はありません。 NJD_TEXATTR_TYPE_SURFACE テクスチャサーフェス領域のみを確保します。実際にテクスチャメモリへテクスチャをロードしません。レンダテクスチャやフレームバッファテクスチャを使用する場合に使用します。この場合テクスチャバッファを設定する必要はありません。 NJD_TEXATTR_TYPE_SYSAREA テクスチャ管理領域(テクスチャマネージメント領域、テクスチャシステム領域)のみを取得します。ムービーテクスチャを使用する場合に使用します。この場合テクスチャバッファを設定する必要はありません。
NJS_TEXNAME texname[2]; NJS_TEXLIST texlist ={texname,2}; /* Prepare to read in two textures */ NJS_TEXMANAGE texmng[2]; NJS_TEXSYSTEM texsys[2]; Sint8 *texbuf; njInitTextureEx(texmng,2,texsys,2); texbuf = syMalloc(0x20000); nuInitTextureBuffer(texbuf,0x20000); /* Set the two textures */ 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); /* Load texture */ nuLoadTexture(&texlist); syFree(texbuf); /* Set texlist as the current texture list */ njSetTexture(&texlist); /* Set current texture to texlist #0 */ njSetTextureNum(0);
この関数を実行する前に必ず、njInitTextureEx()関数を実行しておく必要があります。 Ninja2からnjLoadTexture()関数は削除されました。
nuInitTextureBuffer() テクスチャのワークメモリの指定 nuLoadTextureNum() テクスチャ番号によるテクスチャのロード(完了復帰) nuLoadTextureReq() テクスチャのロード(即時復帰)