Ninja Library - モデル・2パラシンプルマルチ関数

njCnkSimpleMultiDrawModel2p

チャンクモデルのSIMPLE MULTI描画(2パラメータモディファイア用)

書式

Sint32 njCnkSimpleMultiDrawModel2p( model, color )
NJS_CNK_MODEL *model
Float *color

引数

model   チャンクモデル構造体へのポインタ
color   2パラメータ目のディフューズへ積算する配列のポインタ

戻り値

-1   クリップアウト
 正常

解説

チャンクモデルをカレントマトリクスで座標変換してSIMPLE MULTI描画します。 2パラメータモディファイア用です。

引数 colorが示している配列は、"ARGB"の順にならんでいます。

描画属性として、グーローテクスチャとグーローポリゴンのみ描画できます。

ライトの設定は専用の関数を使用します。

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

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


用例


Sint32	UserInit(void)
{
 njCnkSetSimpleMultiLight(4);
 njCnkSetSimpleMultiLightVectorEx(NJD_CNK_SIMPLE_MULTILIGHT_1, 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);

 njSetCheapShadowMode( -1 );
 njControl3D( NJD_CONTROL_3D_SHADOW | NJD_CONTROL_3D_TRANS_MODIFIER );

 return USER_CONTINUE;
}
Sint32	UserMain(void)
{
 col[0] = 1.0f;
 col[1] = 1.5f;
 col[2] = 0.6f;
 col[3] = 0.7f;

 njPushMatrixEx();
 njCnkSetSimpleMultiLightMatrices();
 njTranslate( NULL, 0.f, 0.f, -10.f );
 njRotateXYZ( NULL, xx,yy,zz );
 njCnkSimpleMultiDrawModel2p( model , col );
 xx += 257;
 yy += 179;
 zz += 193;
 njPopMatrixEx();
 return USER_CONTINUE;
}

参照

njCnkSetSimpleMultiLight() njCnkSimpleMultiDrawObject(−Model)関数用光源の個数設定
njCnkSetSimpleMultiLightVectorEx() njCnkSimpleMultiDrawObject(−Model)用ライトの光源方向設定(平行光源)
njCnkSetSimpleMultiLightPoint() njCnkSimpleMultiDrawObject(−Model)関数用光源の方向設定(点光源)
njCnkSetSimpleMultiLightRange() njCnkSimpleMultiDrawObject(−Model)関数用光源の有効範囲設定(点光源)
njCnkSetSimpleMultiAmbient() njCnkSimpleMultiDrawObject(−Model)関数用アンビエント光の色設定
njCnkSetSimpleMultiLightColor() njCnkSimpleMultiDrawObject(−Model)関数用光源の色設定
njCnkSetSimpleMultiLightSwitch() njCnkSimpleMultiDrawObject(−Model)関数用光源の点灯・消灯設定
njCnkSimpleMultiDrawModel() CHUNKモデルのSIMPLE MULTI描画
njCnkSimpleMultiDrawObject() CHUNKオブジェクトのSIMPLE MULTI描画

njCnkSimpleMultiDrawModel2p
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000