Ninjaライブラリ - ライト関数

njCnkSetEasyMultiLightColor

njCnkEasyMultiDrawObject(−Model)用ライトの光源色設定

書式

void njCnkSetEasyMultiLightColor( light, r, g, b ) 
Int light 
float r 
float g 
float b 

引数

light   ライト番号
 ライトの赤の成分(0〜1.f)
 ライトの緑の成分(0〜1.f)
 ライトの青の成分(0〜1.f)

戻り値

なし

解説

njCnkEasyMultiDrawObject関数とnjCnkEasyMultiDrawModel関数用の光源色を設定します。 引数には使用する光源のライト番号および輝度(強さ)と色をかけたものを入れてください。 色の範囲は、基本的には0.f(0%)〜1.f(100%)の間で指定します。

用例

	:
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( Object );

参照

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

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