njCnkSetEasyMultiLightPoint
njCnkEasyMultiDrawObject(njCnkEasyMultiDrawObject)用ライトの光源方向設定(点光源)

書 式

#include <Ninja.h>
void	njCnkSetEasyMultiLightPoint( light, x, y, z )
Int	light
Float	x, y, z

引 数

light
ライト番号
x
ライトの位置(X)
y
ライトの位置(Y)
z
ライトの位置(Z)

返 値

なし

エラー

なし

機 能

njCnkEasyMultiDrawObject(njCnkEasyMultiDrawObject)用の点光源の位置を設定します。
引数には使用するライトの番号と位置を入れてください。

(例:点光源)njCnkSetEasyMultiLightPoint( NJD_CNK_EASY_MULTILIGHT_2, x, y, z );

(注意)この関数を用いて行った設定はnjCnkSetEasyMultiLightMatricesを呼ぶことで反映されます。


用 例

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個設定 */
njCnkSetEasyMultiLight( 4 );
/* チャンクライトの平行光源(1番目の光源)方向設定 */
njCnkSetEasyMultiLightVector(0.f, 0.f, -1.f);
/* チャンクライトの点光源位置設定 */
/* 2番目の光源(点光源)の設定 */
njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_2, 0.f, 0.f, -12.f);
/* 3番目の光源(点光源)の設定 */
njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_3, 0.f, 0.f, -12.f);
/* チャンクライトの点光源範囲(距離)設定 */
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);

/* チャンクライトのアンビエント色設定 */
njCnkSetEasyMultiAmbient(0.1f, 0.1f, 0.1f);

/* チャンクライトの光源色設定 */
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();
/* チャンクライトの方向・位置の反映 */
njCnkSetEasyMultiLightMatrices();
njTranslate( NULL, 0.f, 0.f, -10.f );
njRotateXYZ( NULL, rx,ry,rz );
njCnkEasyMultiDrawObject;

備 考


関 連

njCnkEasyMultiDrawModel
njCnkEasyMultiDrawObject
njCnkSetEasyMultiAmbient
njCnkSetEasyMultiLight
njCnkSetEasyMultiLightColor
njCnkSetEasyMultiLightMatrices
njCnkSetEasyMultiLightRange
njCnkSetEasyMultiLightVector
njCnkSetEasyMultiLightSwitch

njCnkSetEasyMultiLightPoint

Copyright SEGA ENTERPRISES, LTD., 1998