njCnkSetSimpleMultiLightVector English
|INDEX|
チャンクSimpleMultiライトの光源方向設定(平行光源)

書 式

#include <Ninja.h>
void	njCnkSetSimpleMultiLightVector( x, y, z )
Float	x, y, z

引 数

x
ライトの単位方向ベクトル(X)
y
ライトの単位方向ベクトル(Y)
z
ライトの単位方向ベクトル(Z)

返 値

なし

エラー

なし

機 能

njCnkSimpleMultiDrawObject(njCnkSimpleMultiDrawModel)用の平行光源の方向を設定します。
引数には使用するライトの単位方向ベクトルの成分を入れてください。
(注意)この関数を用いて行った設定はnjCnkSetSimpleMultiLightMatricesを呼ぶことで
反映されます。(njCnkSetSimpleMultiLightMatrices参照)


用 例

	.....
	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 );

	/* チャンクライトを4個設定 */
	njCnkSetSimpleMultiLight( 4 );

	/* チャンクライトの平行光源(1番目の光源)方向設定 */
	njCnkSetSimpleMultiLightVector(0.f, 0.f, -1.f);

	/* チャンクライトの点光源位置設定 */
	/* 2番目の光源(点光源)の設定 */
	njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_2, 0.f, 0.f, -12.f);
	/* 3番目の光源(点光源)の設定 */
	njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_3, 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.1f, 0.1f, 0.1f);

	/* チャンクライトの光源色設定 */
	njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_1, 0.6f, 0.5f, 0.3f);
	njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_2, 1.f, 0.5f, 0.5f);
	njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_3, 0.5f, 1.f, 0.5f);
	njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_4, 0.5f, 0.5f, 1.f);

	.....
	njClearMatrix();
	/* チャンクライトの方向・位置の反映 */
	njCnkSetSimpleMultiLightMatrices();

	njTranslate( NULL, 0.f, 0.f, -10.f );
	njRotateXYZ( NULL, rx,ry,rz );
	njCnkSimpleMultiDrawObject( object );

備 考


関 連

njCnkSimpleMultiDrawObject
njCnkSimpleMultiDrawModel
njCnkSetSimpleMultiAmbient
njCnkSetSimpleMultiLight
njCnkSetSimpleMultiLightColor
njCnkSetSimpleMultiLightMatrices
njCnkSetSimpleMultiLightPoint
njCnkSetSimpleMultiLightRange
njCnkSetSimpleMultiLightSwitch


njCnkSetSimpleMultiLightVector |INDEX|

Copyright SEGA ENTERPRISES, LTD., 1998