Ninja Library - Light Function

njCnkSetSimpleMultiLightVector

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

FORMAT

void njCnkSetSimpleMultiLightVector( x, y, z )
Float x, y, 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 njCnkSimpleMultiDrawObject (njCnkSimpleMultiDrawModel).

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 */
njCnkSetSimpleMultiLight( 4 );
/* Set direction of chunk light's parallel light source (first light source) */
njCnkSetSimpleMultiLightVector(0.f, 0.f, -1.f);
/* Set chunk light's point light source position */
/* Set second light source (point light source) */
njCnkSetSimpleMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_2, 0.f, 0.f, -12.f);
/* Set third light source (point light source) */
njCnkSetSimpleMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_3, 0.f, 0.f, -12.f);
/* Set chunk light's point light source range (distance) */
njCnkSetSimpleMultiLightRange(NJD_CNK_EASY_MULTILIGHT_2, 6.f, 40.f);
njCnkSetSimpleMultiLightRange(NJD_CNK_EASY_MULTILIGHT_3, 6.f, 40.f);
njCnkSetSimpleMultiLightRange(NJD_CNK_EASY_MULTILIGHT_4, 6.f, 40.f);
/* Set chunk light's ambient color */
njCnkSetSimpleMultiAmbient(0.1f, 0.1f, 0.1f);
/* Set the chunk light's light source color */
njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_1, 0.6f, 0.5f, 0.3f);
njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_2, 1.f, 0.5f, 0.5f);
njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_3, 0.5f, 1.f, 0.5f);
njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_4, 0.5f, 0.5f, 1.f);
	:
njClearMatrix();
/* Set chunk light direction-position reflection */
njCnkSetSimpleMultiLightMatrices();
njTranslate( NULL, 0.f, 0.f, -10.f );
njRotateXYZ( NULL, rx,ry,rz );
njCnkSimpleMultiDrawObject;

NOTE

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

REFERENCE

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

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