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

njCnkSetSimpleMultiLightSwitch

njCnkSimpleMultiDrawObject(njCnkSimpleMultiDrawObject)用ライトの点灯・消灯設定

書式

void njCnkSetSimplelMultiLightSwitch( light, flag )
Int light
Int flag

引数

lightライト番号
flagライトのon/off
NJD_LIGHT_ON:(点灯)
NJD_LIGHT_OFF:(消灯)

戻値

なし

解説

njCnkSimpleMultiDrawObject(njCnkSimpleMultiDrawObject)用の光源の点灯・消灯を設定します。

引数には使用するライトの番号および状態(点灯・消灯)を設定してください。

なお、登録したすべてのライトを操作する際には、 ライトの番号にNJD_CNK_SIMPLE_MULTILIGHT_ALLを指定してください。


用例

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_EASY_MULTILIGHT_2, 0.f, 0.f, -12.f);
/* 3番目の光源(点光源)の設定 */
njCnkSetSimpleMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_3, 0.f, 0.f, -12.f);
/* チャンクライトの点光源範囲(距離)設定 */
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);
/* チャンクライトのアンビエント色設定 */
njCnkSetSimpleMultiAmbient(0.1f, 0.1f, 0.1f);
/* チャンクライトの光源色設定 */
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);
	:
per = pdGetPeripheral(PDD_PORT_A0);
if( per->press & PDD_DGT_TB ) {
	static int _lt = NJS_LIGHT_ON;	/* チャンクライトのON・OFF設定 */
	njCnkSetSimpleMultiLightSwitch(NJD_CNK_SIMPLE_MULTILIGHT_ALL, _lt);
}
njClearMatrix();
/* チャンクライトの方向・位置の反映 */
njCnkSetSimpleMultiLightMatrices();
njTranslate( NULL, 0.f, 0.f, -10.f );
njRotateXYZ( NULL, rx,ry,rz );
njCnkSimpleMultiDrawObject;

参照

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

njCnkSetSimpleMultiLightSwitch
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998