Ninja Library - Light Function

njCnkSetEasyMultiLightVector

Sets the light source direction for the chunk EasyMulti light (parallel light source)

FORMAT

void njCnkSetEasyMultiLightVector( x, y, z )
float x
float y
float z

PARAMETER

 x  The light's unit direction vector (X) 
 y  The light's unit direction vector (Y) 
 z  The light's unit direction vector (Z) 

RETURN

None

DESCRIPTION

Sets the direction of the parallel light source for njCnkEasyMultiDrawObject (njCnkEasyMultiDrawModel).

Enter the light unit direction vector constituents to be used in the parameters.


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);
.....
njClearMatrix();
/* Set chunk light direction-position reflection */
njCnkSetEasyMultiLightMatrices();
njTranslate( NULL, 0.f, 0.f, -10.f );
njRotateXYZ( NULL, rx,ry,rz );
njCnkEasyMultiDrawObject;

NOTE

The settings made using this function are reflected when njCnkSetEasyMultiLightMatrices() function is called.

REFERENCE

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

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