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

njCnkEasyDrawModel

CHUNKモデルの描画

書式

void njCnkEasyDrawModel( *model )
NJS_CNK_MODEL *model

引数

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

戻値

なし

解説

チャンクモデルをカレントマトリクスで座標変換して描画します。 また、表裏判定の機能をサポートしていません(Double Side になります)。 この関数を使った描画のライトの設定は次の専用の関数を使用します。

njCnkSetEasyLight()光源設定
njCnkSetEasyLightIntensity()光源の強さ設定
njCnkSetEasyLightColor()光源の色設定

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

頂点チャンクNJD_CV_SH, NJD_CV_VN_SH, NJD_CV, NJD_CV_D8, NJD_CV_IN, NJD_CV_IN, NJD_CV_VN, NJD_CV_VNX, NJD_CV_VN_D8
ストリップチャンクNJD_CS, NJD_CS_UVH, NJD_CS_UVN


用例

sbInitSystem( NJD_RESOLUTION_640x240_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
njInitVertexBuffer( 500000, 0, 10000, 0, 0 );
njInitMatrix( matrix, 128, 0);
njInit3D( vbuf, 4096 );
njInitView( &view );
njSetView( &view );
njCnkSetEasyLight( 0.f, 0.f, 1.0f );
njCnkSetEasyLightIntensity( 1.0f, 0.0f );
njCnkSetEasyLightColor( 1.0f, 1.0f, 1.0f );
while(1) {
 njClearMatrix();
 njTranslate( NULL, 0.f, 0.f, -10.f );
 njRotateXYZ( NULL, xx,yy,zz );
 njCnkEasyDrawModel( model );
 xx += 257;
 yy += 179;
 zz += 193;
 njWaitVSync();
}

備考

チャンク形式の場合、画角やアスペクト比はライトの設定の前で行います。
njCnkSetAmbient()でアンピエントの設定を行います。
この値とデータ側のアンビエントをかけて実際のアンビエントカラーとなります。
ベーシックモデルからチャンクモデルにコンバートした場合は、アンビエントデータが0になるので、
アンビエントが効かなくなります。ご注意ください

参照

njCnkSetEasyLight()
njCnkSetEasyLightIntensity()
njCnkSetEasyLightColor()
njCnkEasyDrawObject()

njCnkEasyDrawModel
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998