第3章 バイナリフォーマット




3-19. LightList




(2)Lightエリア

 Lightエリアは実際のライトデータを格納するエリアです。マッピングは以下のようになっています。

LightHeader u32 light_tag
u32 this_light_index
u32 light_header_size
u32 light_size
u32 light_name_index
u32 light_type
float ambient_r
float ambient_g
float ambient_b
u32 dir_light_num
u32 nintendo_extension_block_size
u32 user_extension_block_size
DirLight(0)
・・・
DirLight(dir_light_num - 1)
NintendoExtensionBlock
UserExtensionBlock

図 Lightエリアメモリマップ

u32 light_tag Lightエリアを示すタグを記述します。以下のタグを記述してください。

TAG_LIGHT	0x000f0100

u32 this_light_index このLightエリアのインデックス番号を記述します。
u32 light_header_size このLightHeaderエリアのバイト数を記述します。
u32 light_size このLightエリアのバイト数を記述します。
u32 light_name_index Light名を記述するNameList中のインデックス番号を記述します。
u32 light_type ライトのタイプを記述します。現在下記のタイプが定義されています。

LIGHT_TYPE_DIRECTION	0X00000000
LIGHT_TYPE_POSITION	0x00000001

LIGHT_TYPE_DIRECTIONは方向付きライトに平行光を指定します。
LIGHT_TYPE_POSITIONは方向付きライトに疑似ポジショナルライトを指定します。
float ambient_r アンビエントライトカラーのRed成分
float ambient_g アンビエントライトカラーのGreen成分
float ambient_b アンビエントライトカラーのRed成分
u32 dir_light_num DirLightエリアの数を指定します。
u32 nintendo_extension_block_size 任天堂拡張ブロックサイズ
u32 user_extension_block_size ユーザー拡張ブロックサイズ
DirLight 1つの方向付きライトに関するデータを記述するエリアです。
NintendoExtensionBlock 任天堂拡張ブロック
UserExtensionBlock ユーザー拡張ブロック


Copyright 1997 NINTENDO Co.,Ltd. All rights reserved.

目次へ 次へ