to home

Ninjaライブラリ

チャンク構造体


NJS_CNK_MODEL構造体


[定義]
チャンクモデルを設定する構造体
[記述]

typedef struct {
	Sint32		*vlist;		/* 頂点チャンクリスト	*/
	Sint16		*plist;		/* ポリゴンチャンクリスト	*/
	NJS_POINT3      center;		/* モデルの中心		*/
	Float		r;		/* モデルの半径		*/
} NJS_CNK_MODEL;

NJS_CNK_OBJECT構造体


[定義]
チャンクオブジェクトを設定する構造体
[記述]

typedef struct cnkobj {
	Uint32          evalflags;  /* マトリックス演算評価フラグ	*/
	NJS_CNK_MODEL   *model;     /* チャンクモデルポインタ		*/
	Float           pos[3];     /* 移動量	*/
	Angle           ang[3];     /* 回転量	*/
	Float           scl[3];     /* スケール		*/
	struct cnkobj   *child;     /* 子供へのポインタ		*/
	struct cnkobj   *sibling;   /* 兄弟へのポインタ		*/
} NJS_CNK_OBJECT;

NJS_CNK_VERTEX_BUF構造体


[定義]
チャンクモデル用頂点バッファ構造体
[記述]

typedef	struct	{
	Sint32		clip;	/* クリップフラグ	*/
	Float		sx;	/* 透視変換後のX座標	*/
	Float		sy;	/* 透視変換後のY座標	*/
	Float		ooz;	/* 1 / z 値	*/
	NJS_POINT3	p;	/* 3D上の頂点座標	*/
	Uint32		dmy1;	/* ダミー	*/
	Sint32		vtype;	/* 法線タイプ	*/
	NJS_VECTOR	v;	/* 法線ベクトル		*/
	union {	
		Uint32		argb[2];	/* パックカラー		*/
		Float		inten[2];	/* intensity値		*/
	} col;					/* カラー共用体	*/
	Sint32		NinjaFlag;	/* Ninjaフラグ		*/
	Sint32		UserFlag;	/* ユーザフラグ		*/
} NJS_CNK_VERTEX_BUF;

NJS_CNK_EASY_BUF構造体


[定義]
チャンクEASYモデル用頂点バッファ構造体
[記述]

typedef	struct	{
	Float	x;	/* 透視変換後のX座標	*/
	Float	y;	/* 透視変換後のY座標	*/
	Float	ooz;	/* 1 / z 値		*/
	Float	inten;	/* intensity値		*/
} NJS_CNK_EASY_BUF;

NJS_CNK_SIMPLE構造体


[定義]
チャンクSIMPLEモデル用頂点バッファ構造体
[記述]

typedef	struct	{
	Float	z;	/* 3D上のZ座標		*/
	Float	spec;	/* Specular値		*/
	Float	x;	/* 透視変換後のX座標	*/
	Float	y;	/* 透視変換後のY座標	*/
	Float	ooz;	/* 1 / z 値		*/
	Float	inten;	/* Intensity値		*/
	Float	nx;	/* 法線 X		*/
	Float	ny;	/* 法線 Y		*/
} NJS_CNK_SIMPLE_BUF;

NJS_CNK_EASYMULTI_BUF構造体


[定義]
チャンクEASYMULTIモデル用頂点バッファ構造体
[記述]

typedef	struct	{
	Float	z;	/* 3D上のZ座標		*/
	Float	x;	/* 透視変換後のX座標	*/
	Float	y;	/* 透視変換後のY座標	*/
	Float	ooz;	/* 1 / z 値	*/
	Float	r;	/* 赤		*/
	Float	g;	/* 緑		*/
	Float	b;	/* 青		*/
	Float	a;	/* アルファ	*/
} NJS_CNK_EASYMULTI_BUF;

Copyright SEGA ENTERPRISES, LTD., 1998