typedef struct { NJS_COLOR diffuse; NJS_COLOR specular; Float exponent; Uint32 attr_texId; Uint32 attrflags; } NJS_MATERIAL;
diffuse | ディフューズ(拡散反射)色の(0〜255) |
specular | スペキュラ(鏡面反射)の色(0〜255) |
exponent | 指数(ハイライトの広がり) |
attr_texId | アトリビュートとテクスチャID |
attrflags | アトリビュートフラグ |
アトリビュートとテクスチャID のメンバ attr_texIdは、0bit〜28bitはテクスチャリストにおけるテクスチャ番号、 31bit〜29bitはシステム予約です。
アトリビュートフラグのメンバ attrflagsの各ビットは次のようになっています。
Bit | 意味 |
31〜29 | αブレンディングパラメータ(SRC) |
28〜26 | αブレンディングパラメータ(DST) |
25 | 光源無視フラグ(1の時無視) |
24 | フラットシェーディング(オン・オフ) |
23 | 両面ポリゴン(オン・オフ) |
22 | 環境マッピング(オン・オフ) |
21 | テクスチャ(有効・無効) |
20 | α(有効・無効) |
19 | スペキュラ無視(1の時無視) |
18〜17 | フリップ制御 |
16〜15 | クランプ制御 |
14〜13 | 0:Point Sampled / 1:Bilinear Filter / 2:Trilinear Filter |
11〜 8 | Anisotropic Filter |
7 | ミップマップレンジの調整16段階 |
6〜0 | 未使用 |