:
njInitVertexBuffer( 500000, 0, 10000, 0, 0 );
njInitMatrix( matrix, 128, 0);
njInit3D( vbuf, 4096 );
njInitView( &view );
njSetView( &view );
njCreateLight(<[0], NJD_SPEC_DIR);
njCreateLight(<[1], NJD_SPEC_POINT);
njCreateLight(<[2], NJD_SPEC_POINT);
njCreateLight(<[3], NJD_SPEC_POINT);
njSetLightDirection(<[0], 0.f, 0.f, -1.f);
njSetLightLocation(<[1], 0.f, 0.f, -12.f);
njSetLightLocation(<[2], 0.f, 0.f, -12.f);
njSetLightLocation(<[3], 0.f, 0.f, -12.f);
njSetLightRange(<[1], 4.f, 16.f);
njSetLightRange(<[2], 4.f, 16.f);
njSetLightRange(<[3], 4.f, 16.f);
njCnkSetAmbient(0.3f, 0.3f, 0.3f);
njSetLightColor(<[0], 0.3f, 0.2f, 0.1f);
njSetLightColor(<[1], 1.f, 0.0f, 0.0f);
njSetLightColor(<[2], 0.0f, 1.f, 0.0f);
njSetLightColor(<[3], 0.0f, 0.0f, 1.f);
njSetLightIntensity(<[0], 0.f, 1.f, 0.f);
njSetLightIntensity(<[1], 0.f, 1.f, 0.f);
njSetLightIntensity(<[2], 0.f, 1.f, 0.f);
njSetLightIntensity(<[3], 0.f, 1.f, 0.f);
if( _stop ) {
njUnitMatrix(&m);
njTranslate( &m, 0.f, 0.f, zzz );
njRotateXYZ( &m, xx1,yy1,zz1 );
njCalcPoint( &m, &p, &p1 );
njUnitMatrix(&m);
njTranslate( &m, 0.f, 0.f, zzz );
njRotateXYZ( &m, xx2,yy2,zz2 );
njCalcPoint( &m, &p, &p2 );
njUnitMatrix(&m);
njTranslate( &m, 0.f, 0.f, zzz );
njRotateXYZ( &m, xx3,yy3,zz3 );
njCalcPoint( &m, &p, &p3 );
xx1 += 357;
yy1 += 269;
zz1 += 211;
xx2 += 169;
yy2 += 351;
zz2 += 223;
xx3 += 109;
yy3 += 217;
zz3 += 273;
njSetLightLocation(<[1], p1.x, p1.y, p1.z);
njSetLightLocation(<[2], p2.x, p2.y, p2.z);
njSetLightLocation(<[3], p3.x, p3.y, p3.z);
}
njClearMatrix();
njTranslate( NULL, 0.f, 0.f, -10.f );
njRotateXYZ( NULL, xx,yy,zz );
if( _stop ) njCnkPreLightModel( MODEL );
njCnkEasyDrawModel( MODEL );