njInitShape
シェープバッファの初期化。

書 式

#include <Ninja.h>
void   njInitShape( Float *buf )
Float  *buf

引 数

*buf
シェープ用バッファ

返 値

なし

エラー

なし

機 能

シェープ用のテンポラリ・バッファをセットします。
バッファの数は、すべてのオブジェクト内でシェープとして使用されるモデルの最大頂点数をN個とすると、頂点もしくは法線のみのシェープの場合はN×3個、両方の場合はN×6個となります。
例えば、頂点シェープのみ使用する”人間1”と”人間2”のオブジェクト内で、”人間1”の”顔”のモデルが1000個の頂点を使用しこれがオブジェクト内の最大頂点数の時は、"buf[3000]"を指定することになります。

用 例

#define  OBJECT    object_sample  /* NJA(NAM)ファイル内に記述 */
#define  MOTION    motion_sample  /* NAMファイル内に記述 */
#define  SHAPE    shape_sample  /* NASファイル内に記述 */
extern NJS_OBJECT  OBJECT[];
extern NJS_MOTION  MOTION[];
extern NJS_MOTION  SHAPE[];
float  buf[6000];
float  ff=0.f;

...........
InitShape(buf);

...........
njDrawShapeMotion( OBJECT,MOTION,SHAPE,ff );

ff+=0.2f;
if( ff >= (MOTION->nbFrame-1) ) ff=0.f;
...........

備 考

シェープ(頂点アニメーション)を行う(シェープモーションの引数がNULLでない)njDrawShapeMotion、njFastDrawShapeMotion、njDrawShapeMotionLink、njFastDrawShapeMotionLinkは、この関数の設定が必要となります。

関 連

njDrawShapeMotion()
njFastDrawShapeMotion()
njDrawShapeMotionLink()
njFastDrawShapeMotionLink()

njInitShape

Copyright SEGA ENTERPRISES, LTD., 1998