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

njCnkSimpleMultiDrawModel

チャンクモデルの描画

書式

void njCnkSimpleMultiDrawModel( *model ) 
NJS_CNK_MODEL *model 

引数

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

戻り値

なし

解説

4光源(専用)付きチャンクモデル関数です。チャンクモデルをカレントマトリクスで座標変換して描画します。 njCnkEasyMultiDrawModel関数と同様の機能ですが、環境マッピングに対応しています。 なお、他のモデル関数と違い、ライトの設定は専用の関数を使用します。


njCnkSetSimpleMultiLight()
njCnkSetSimpleMultiLightSwitch()
njCnkSetSimpleMultiAmbient()
njCnkSetSimpleMultiLightColor()
njCnkSetSimpleMultiLightVector()
njCnkSetSimpleMultiLightPoint()
njCnkSetSimpleMultiLightRange()
njCnkSetSimpleMultiLightMatrices()

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

 頂点チャンク   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 );
njCnkSetSimpleMultiLight(4);
njCnkSetSimpleMultiLightVector(0.f, 0.f, -1.f);
njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_2, 0.f, 0.f, -12.f);
njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_3, 0.f, 0.f, -12.f);
njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_4, 0.f, 0.f, -12.f);
njCnkSetSimpleMultiLightRange(NJD_CNK_SIMPLE_MULTILIGHT_2, 6.f, 40.f);
njCnkSetSimpleMultiLightRange(NJD_CNK_SIMPLE_MULTILIGHT_3, 6.f, 40.f);
njCnkSetSimpleMultiLightRange(NJD_CNK_SIMPLE_MULTILIGHT_4, 6.f, 40.f);
njCnkSetSimpleMultiAmbient(0.2f, 0.2f, 0.2f);
njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_1, 0.5f, 0.4f, 0.7f);
njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_2, 1.5f, 0.0f, 0.0f);
njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_3, 0.0f, 1.5f, 0.0f);
njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_4, 0.0f, 0.0f, 1.5f);
njCnkSetSimpleMultiLightSwitch(NJD_CNK_SIMPLE_MULTILIGHT_ALL, 1);
while(1) {
 njClearMatrix();
 njTranslate( NULL, 0.f, 0.f, -10.f );
 njRotateXYZ( NULL, xx,yy,zz );
 njCnkSimpleMultiDrawModel( Model );
 xx += 257;
 yy += 179;
 zz += 193;
 njWaitVSync();
}

参照

njCnkSetSimpleMultiLight()
njCnkSetSimpleMultiLightSwitch()
njCnkSetSimpleMultiAmbient()
njCnkSetSimpleMultiLightColor()
njCnkSetSimpleMultiLightVector()
njCnkSetSimpleMultiLightPoint()
njCnkSetSimpleMultiLightRange()
njCnkSetSimpleMultiLightMatrices()
njCnkSimpleMultiDrawObject()

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