njDrawTextureMemList
テクスチャポリゴンを描画する。

書 式

#include <Ninja.h>
void njDrawTextureMemList( *polygon, count, tex, trans )
NJS_TEXTURE_VTX  *polygon
Int    count
Int    tex
Int    trans

引 数

NJS_TEXTURE_VTX *polygon
NJS_POLYGON_VTX構造体のポインタ
count
頂点数
tex
テクスチャのグローバルインデックス
trans
半透明 有効(TRUE)、無効(FALSE)

返 値

なし

機 能

テクスチャポリゴンを描画します。頂点はストリップ形式にcount数入れます。
この関数を使用する前に、テクスチャの初期化、ロードが必要になります。
使用されるテクスチャはテクスチャメモリリストのtex番目のテクスチャです。
テクスチャ又はカラーに半透明を使用する場合はtransをTRUEに、半透明を使用しない
場合はFALSEにしてください。
他の描画関数のZ座標とは次の関係があります。
          Z = 1 / ( -z )
                     z : 他の描画関数の座標 (-65536.f < z < 0.f)
従ってZの有効範囲は 1.0f 〜 無限大です。

用 例

/* 頂点の順は次のようになります。*/
/* 1  3                          */
/* 2  4                          */

NJS_TEXNAME texname[1]; 
NJS_TEXLIST texlist ={texname,1};
NJS_TEXMEMLIST tex[1];

NJS_TEXTURE_VTX  poly[4];
Sint8 *texbuf;

/* テクスチャの初期設定 */
njInitTexture(tex,1);
texbuf = syMalloc(0x20800);
njInitTextureBuffer(texbuf,0x20800);
njSetTextureName(&texname[0],"file0.pvr",0,NJD_TEXATTR_TYPE_FILE|
            NJD_TEXATTR_GLOBALINDEX);
njLoadTexture(&texlist);
syFree(texbuf);
njSetTexture(&texlist);

poly[0].x = 100.f;
poly[0].y = 100.f;
poly[0].z = 0.5f;
poly[0].u = 0.f;
poly[0].v = 0.f;
poly[0].col = 0xFFFFFFFF;

poly[1].x = 100.f;
poly[1].y = 300.f;
poly[1].z = 0.5.f;
poly[1].u = 0.f;
poly[1].v = 1.f;
poly[1].col = 0xFFFFFFFF;

poly[2].x = 300.f;
poly[2].y = 100.f;
poly[2].z = 0.5f;
poly[2].u = 1.f;
poly[2].v = 0.f;
poly[2].col = 0xFFFFFFFF;

poly[3].x = 300.f;
poly[3].y = 300.f;
poly[3].z = 0.5f;
poly[3].u = 1.f;
poly[3].v = 1.f;
poly[3].col = 0xFFFFFFFF;

/* テクスチャメモリリスト0番のテクスチャをポリゴンに貼る */
njDrawTextureMemList( poly, 4, 0, FALSE);


備 考


関 連

njDrawTexture

njDrawTextureMemList

Copyright SEGA ENTERPRISES, LTD., 1998