Ninja Library - Light Function

njCnkSetEasyMultiLightSwitch

Sets chunk EasyMulti light on/off setting

FORMAT

void njCnkSetEasyMultiLightSwitch( light, flag )
Int light
Int flag

PARAMETER

 light  Light number 
 flag  Light on/off 
  NJD_LIGHT_ON:(light on) 
  NJD_LIGHT_OFF:(light off) 

RETURN

None

DESCRIPTION

Sets the on/off status of the light source for njCnkEasyMultiDrawObject (njCnkEasyMultiDrawModel).

Set the number and condition (on/off) of the light to be used in the parameters.

If all the registered light options should be operated, specify NJD_CNK_EASY_MULTILIGHT_ALL for the light number.


EXAMPLE

sbInitSystem( NJD_RESOLUTION_640x240_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
njInitVertexBuffer( 1000000, 0, 1000, 0, 0 );
njInitMatrix( matrix, 8 , 0);
njInit3D( vbuf, 4096 );
njInitView( &view );
njSetView( &view );
/* Set chunk light as 4 */
njCnkSetEasyMultiLight( 4 );
/* Set direction of chunk light's parallel light source (first light source) */
njCnkSetEasyMultiLightVector(0.f, 0.f, -1.f);
/* Set chunk light's point light source position */
/* Set second light source (point light source) */
njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_2, 0.f, 0.f, -12.f);
/* Set third light source (point light source) */
njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_3, 0.f, 0.f, -12.f);
/* Set chunk light's point light source range (distance) */
njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_2, 6.f, 40.f);
njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_3, 6.f, 40.f);
njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_4, 6.f, 40.f);
/* Set chunk light's ambient color */
njCnkSetEasyMultiAmbient(0.1f, 0.1f, 0.1f);
/* Set the chunk light's light source color */
njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_1, 0.6f, 0.5f, 0.3f);
njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_2, 1.f, 0.5f, 0.5f);
njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_3, 0.5f, 1.f, 0.5f);
njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_4, 0.5f, 0.5f, 1.f);
	:
per = pdGetPeripheral(PDD_PORT_A0);
if( per->press & PDD_DGT_TB ) {
	static int _lt = NJD_LIGHT_ON;
	/* Set chunk light ON/OFF */
	njCnkSetEasyMultiLightSwitch(NJD_CNK_EASY_MULTILIGHT_ALL, _lt);
}
njClearMatrix();
/* Set chunk light direction-position reflection */
njCnkSetEasyMultiLightMatrices();
njTranslate( NULL, 0.f, 0.f, -10.f );
njRotateXYZ( NULL, rx,ry,rz );
njCnkEasyMultiDrawObject;

REFERENCE

njCnkEasyMultiDrawModel()
njCnkEasyMultiDrawObject()
njCnkSetEasyMultiAmbient()
njCnkSetEasyMultiLight()
njCnkSetEasyMultiLightColor()
njCnkSetEasyMultiLightMatrices()
njCnkSetEasyMultiLightPoint()
njCnkSetEasyMultiLightRange()
njCnkSetEasyMultiLightVector()

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