to home

Ninjaライブラリ

マトリクス構造体


NJS_TEX構造体


[定義]
テクスチャUV座標構造体
[記述]

typedef struct {
        Sint16  u;      /* テクスチャU座標      */
        Sint16  v;      /* テクスチャV座標      */
} NJS_TEX;

NJS_BGRA構造体


[定義]
ARGB成分を個別にバイト設定する構造体
[記述]

typedef struct {
        Uint8   b;      /* B成分 0 - 255        */
        Uint8   g;      /* G成分 0 - 255        */
        Uint8   r;      /* R成分 0 - 255        */
        Uint8   a;      /* A成分 0 - 255        */
} NJS_BGRA;

NJS_COLOR共用体


[定義]
カラー、テクスチャUVを定義する共用体
[記述]

typedef union {
        Uint32          color;  /* パックカラー値               */
        NJS_TEX         tex;    /* テクスチャUV値               */
        NJS_BGRA        argb;   /* ARGB成分別設定カラー値       */
} NJS_COLOR;

NJS_ARGB構造体


[定義]
ARGB成分を個別に浮動小数点で設定する構造体
[記述]

typedef struct {
        Float   a;      /* A成分 0.f - 1.f */
        Float   r;      /* R成分 0.f - 1.f */
        Float   g;      /* G成分 0.f - 1.f */
        Float   b;      /* B成分 0.f - 1.f */
} NJS_ARGB;

NJS_POINT2I構造体


[定義]
符号付き16ビットでX,Y座標値を設定する構造体
[記述]

typedef struct {
	Sint16	x;	/* X座標(横)*/
	Sint16	y;	/* Y座標(縦)*/
} NJS_POINT2I;

NJS_POINT2構造体


[定義]
浮動小数点でX,Y座標値を設定する構造体
[記述]

typedef struct {
	Float	x;	/* X座標(横)*/
	Float	y;	/* Y座標(縦)*/
} NJS_POINT2;

NJS_POINT3, NJS_VECTOR構造体


[定義]
浮動小数点でX,Y,Z座標値を設定する構造体
[記述]

typedef struct {
	Float   x;	/* X座標 */
	Float   y;	/* Y座標 */
	Float   z;	/* Z座標 */
} NJS_POINT3, NJS_VECTOR;

NJS_POINT2COL構造体


[定義]
2Dドロー系の頂点データを定義する構造体
[記述]

typedef struct {
	NJS_POINT2	*p;	/* 頂点データのポインタ 	*/
	NJS_COLOR	*col;	/* 頂点カラーデータのポインタ	*/
	NJS_COLOR	*tex;	/* テクスチャUVデータのポインタ	*/
	Uint32		num;	/* 頂点数 			*/
} NJS_POINT2COL;

NJS_POINT3COL構造体


[定義]
3Dドロー系の頂点データを定義する構造体
[記述]

typedef struct {
	NJS_POINT3	*p;	/* 頂点データのポインタ 	*/
	NJS_COLOR	*col;	/* 頂点カラーデータのポインタ	*/
	NJS_COLOR	*tex;	/* テクスチャUVデータのポインタ */
	Uint32		num;	/* 頂点数 			*/
} NJS_POINT3COL;

NJS_LINE構造体


[定義]
直線のコリジョンを設定する構造体
[記述]

typedef struct {
	Float	px,py,pz;	/* 頂点座標 */
	Float	vx,vy,vz;	/* ベクトル */
} NJS_LINE;

NJS_PLANE構造体


[定義]
平面のコリジョンを設定する構造体
[記述]

typedef struct {
	Float	px,py,pz;	/* 頂点座標 */
	Float	vx,vy,vz;	/* ベクトル */
} NJS_PLANE;

NJS_PVECTOR構造体


[定義]
頂点とベクトルを設定する構造体
[記述]

typedef struct {
	Float	px,py,pz;	/* 頂点座標 */
	Float	vx,vy,vz;	/* ベクトル */
} NJS_PVECTOR;

NJS_SPHERE構造体


[定義]
球型のコリジョンを定義する構造体
[記述]

typedef struct{
	NJS_POINT3	c;	/* 中心座標 	*/
	Float		r;	/* 半径		*/
} NJS_SPHERE;



NJS_CAPSULE構造体


[定義]
カプセル型のコリジョンを定義する構造体
[記述]

typedef struct{
	NJS_POINT3	c1;	/* 中心座標1 	*/
	NJS_POINT3	c2;	/* 中心座標2 	*/
	Float		r;	/* 半径 	*/
} NJS_CAPSULE;




NJS_BOX構造体


[定義]
立方体型のコリジョンを定義する構造体
[記述]

typedef struct{
	NJS_POINT3	v[8];	/* 頂点座標 	*/
} NJS_BOX;



NJS_VIEW構造体


[定義]
ビューを設定する構造体
[記述]

typedef struct {
	NJS_MATRIX	m;		/* ビューマトリックス 	*/
	Float   	px,py,pz;	/* 視点の位置座標 初期値(0.f,0.f,0.f) */
	Float   	vx,vy,vz;	/* 視線の向きベクトル 初期値(0.f,0.f,-1.f) */
	Angle   	roll;		/* 視線の傾き 初期値 0 	*/
	Float   	apx,apy,apz;	/* Viwe関数のAbsolute系の視点の位置座標 初期値(0.f,0.f,0.f) */
	Float   	avx,avy,avz;	/* Viwe関数のAbsolute系の視線の向きベクトル初期値(0.f,0.f,-1.f) */
	Angle   	aroll;		/* Viwe関数のAbsolute系の視線の傾き 初期値 0 */
} NJS_VIEW;

NJS_SCREEN構造体


[定義]
3Dのスクリーンを定義する構造体
[記述]

typedef struct {
	Float   dist;		/* スクリーンの原点からの距離 	*/
	Float   w,h;		/* スクリーン幅、高さ 		*/
	Float   cx,cy;		/* スクリーン中心座標 		*/
} NJS_SCREEN;

NJS_MATRIX


[定義]
マトリクスの型を定義します。
[記述]

typedef Float   NJS_MATRIX[16];

Copyright SEGA ENTERPRISES, LTD., 1998