Ninjaライブラリ - モデル関数

njCnkEasyMultiDrawModel

チャンクモデルの描画

書式

void njCnkEasyMultiDrawModel( *model ) 
NJS_CNK_MODEL *model 

引数

*model   チャンクモデル構造体へのポインタ

戻り値

なし

解説

4光源(専用)付きチャンクモデル関数です。CHUNKモデルをカレントマトリクスで座標変換して描画します。 描画属性として、グーローテクスチャと、グーローポリゴンのみ描画できます。 なお、他のモデル関数と違い、ライトの設定は専用の関数を使用します。

 njCnkSetEasyMultiLight()   ライトの設定 
 njCnkSetEasyMultiLightSwitch()   点灯・消灯設定 
 njCnkSetEasyMultiAmbient()   アンビエント設定 
 njCnkSetEasyMultiLightColor()   光源色設定 
 njCnkSetEasyMultiLightVector()   光源方向設定(平行光源) 
 njCnkSetEasyMultiLightPoint()   光源方向設定(点光源) 
 njCnkSetEasyMultiLightRange()   光源有効範囲設定 
 njCnkSetEasyMultiLightMatrices()   方向・位置を反映 

サポートしているチャンク形式は、次のとおりです。

 頂点チャンク   NJD_CV_VN 
 ストリップチャンク   NJD_CS, NJD_CS_UVH, NJD_CS_UVN 


用例

	:
njInitVertexBuffer( 500000, 0, 10000, 0, 0 );
njInitMatrix( matrix, 128, 0);
njInit3D( vbuf, 4096 );
njInitView( &view );
njSetView( &view );
njCnkSetEasyMultiLight(4);
njCnkSetEasyMultiLightVector(0.f, 0.f, -1.f);
njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_2, 0.f, 0.f, -12.f);
njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_3, 0.f, 0.f, -12.f);
njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_4, 0.f, 0.f, -12.f);
njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_2, 6.f, 40.f);
njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_3, 6.f, 40.f);
njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_4, 6.f, 40.f);
njCnkSetEasyMultiAmbient(0.2f, 0.2f, 0.2f);
njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_1, 0.5f, 0.4f, 0.7f);
njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_2, 1.5f, 0.0f, 0.0f);
njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_3, 0.0f, 1.5f, 0.0f);
njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_4, 0.0f, 0.0f, 1.5f);
njCnkSetEasyMultiLightSwitch(NJD_CNK_EASY_MULTILIGHT_ALL, 1);
while(1) {
 njClearMatrix();
 njTranslate( NULL, 0.f, 0.f, -10.f );
 njRotateXYZ( NULL, xx,yy,zz );
 njCnkEasyMultiDrawModel( model );
 xx += 257;
 yy += 179;
 zz += 193;
 njWaitVSync();
}

参照

njCnkSetEasyMultiLight()
njCnkSetEasyMultiLightSwitch()
njCnkSetEasyMultiAmbient()
njCnkSetEasyMultiLightColor()
njCnkSetEasyMultiLightVector()
njCnkSetEasyMultiLightPoint()
njCnkSetEasyMultiLightRange()
njCnkSetEasyMultiLightMatrices()
njCnkEasyMultiDrawObject()

njCnkEasyMultiDrawModel
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999