Ninja Library - Model Function

njCnkSimpleMultiDrawModel

Draws chunk model

FORMAT

void njCnkSimpleMultiDrawModel( *model )
NJS_CNK_MODEL *model

PARAMETER

 *model  Pointer to chunk model structure 

RETURN

None

DESCRIPTION

Function for chunk model with 4 light sources (dedicated). Performs drawing by coordinate transformation of chunk model with the current matrix. Although this function is similar to njCnkEasyMultiDrawModel(), it supports environment mapping. As opposed to other model functions, light setting is performed by dedicated functions.

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

The following chunk formats are supported.

 Apex chunk  NJD_CV_VN 
 Strip chunk  NJD_CS, NJD_CS_UVH, NJD_CS_UVN 


EXAMPLE

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 );
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();
}

REFERENCE

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

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