-
マテリアルエフェクトパッケージファイル ( *.mep ) のフォーマットリファレンスです。
- MEP_SHADER_TYPE 列挙定数
- MEP_COMPILE_FLAG 列挙定数
Version 1.0.0.0
- 最初のフォーマット
[Chg] | ??? |
ファイルヘッダ |
情報ヘッダ |
バーテックスシェーダー |
ピクセルシェーダー |
名前 | 説明 | 値 |
---|---|---|
MEP_SHADER_DEFAULT | デフォルト | 0 |
MEP_SHADER_MASK | マスク( 屈折マッピング用 ) | 1 |
MEP_SHADER_SHADOW | シャドウ | 2 |
MEP_SHADER_TYPE_MAX | 3 |
名前 | 説明 | 値 |
---|---|---|
MEP_CF_NORMAL | 法線 | 0x00000001 |
MEP_CF_TANGENT_SPACE | 接線空間 | 0x00000002 |
MEP_CF_TEXTURE | テクスチャ座標 | 0x00000004 |
MEP_CF_SIMPLE_VERTEX | シンプルバーテックス | 0x00000008 |
MEP_CF_BLEND_VERTEX | ブレンドバーテックス | 0x00000010 |
MEP_CF_LIGHTING | ライティング | 0x00000020 |
MEP_CF_BOTH_LIGHTING | 両面ライティング | 0x00000040 |
MEP_CF_SHADOW_RECEIVE | 自身にシャドウマッピングを行う | 0x00000080 |
MEP_CF_REFRACT_CLIP | 半透明ポリゴンの屈折クリッピング | 0x00000100 |
MEP_CF_DIFFUSE_HALF_LAMBERT | ディフューズ : ハーフランバート | 0x00000200 |
MEP_CF_DIFFUSE_MAPPING | ディフューズ : テクスチャマッピング | 0x00000400 |
MEP_CF_DIFFUSE_FRESNEL | ディフューズ : フレネル効果 | 0x00000800 |
MEP_CF_DIFFUSE_RIM_LIGHTING | ディフューズ : リムライティング | 0x00001000 |
MEP_CF_SPECULAR_PHONG | スペキュラー : フォン | 0x00002000 |
MEP_CF_SPECULAR_BLINN_PHONG | スペキュラー : ブリンフォン | 0x00004000 |
MEP_CF_SPECULAR_COOK_TORRANCE | スペキュラー : クックトランス | 0x00008000 |
MEP_CF_SPECULAR_MAPPING | スペキュラー : テクスチャマッピング | 0x00010000 |
MEP_CF_REFLECT_MAPPING | 反射 : テクスチャマッピング | 0x00020000 |
MEP_CF_REFLECT_FRESNEL | 反射 : フレネル効果 | 0x00040000 |
MEP_CF_EMISSIVE_MAPPING | エミッシブ : テクスチャマッピング | 0x00080000 |
MEP_CF_BUMP_MAPPING | バンプ : テクスチャマッピング | 0x00100000 |
MEP_CF_PARALLAX | バンプ : 視差遮断マッピング | 0x00200000 |
MEP_CF_WATER | バンプ : ウォーター ( ウェーブアニメーション ) | 0x00400000 |
MEP_CF_REFRACT_MAPPING | バンプ : 屈折マッピング | 0x00800000 |
MEP_CF_SOFTEDGE | ソフトエッジ | 0x01000000 |
MEP_CF_WAVE_INVERT | バンプ : ウェーブアニメーションを逆転 | 0x02000000 |
MEP_CF_ATMOSPHERE | 大気散乱シミュレーション | 0x10000000 |
MEP_CF_FOG | フォグ | 0x20000000 |
MEP_CF_SHADOW | シャドウマッピング | 0x40000000 |
MEP_CF_SSAO | スクリーンスペースアンビエントオクルージョン | 0x80000000 |
ファイルヘッダ
-
ファイルヘッダはマテリアルエフェクトパッケージファイルを識別するためのものです。
- MEP_FILE_HEADER
ファイルヘッダ ( MEP_FILE_HEADER 構造体 ) |
名前 | 型 | 説明 | 値 |
---|---|---|---|
magic | UInt32 | マジック値 | 0x4652504D |
version | UInt32 | バージョン | 0x01020000 |
情報ヘッダ
-
情報ヘッダはマテリアルエフェクトパッケージ全般の情報を記述します。
- MEP_INFO_HEADER
- MEP_TYPE 列挙定数
- MEP_FLAG 列挙定数
情報ヘッダ ( MEP_INFO_HEADER 構造体 ) |
名前 | 型 | 説明 |
---|---|---|
type | UInt32 | タイプ MEP_TYPE 列挙定数のいずれか。 |
flags | UInt32 | フラグ MEP_FLAG 列挙定数の組み合わせ。 |
numVertexShader | UInt32 | バーテックスシェーダーの数 |
numPixelShader | UInt32 | ピクセルシェーダーの数 |
名前 | 説明 | 値 |
---|---|---|
MEP_FORWARD | フォワード | 0 |
名前 | 説明 | 値 |
---|---|---|
MEP_FOG | フォグ | 0x00000001 |
MEP_SHADOW_MAPPING | シャドウマッピング | 0x00000002 |
MEP_REFRACT_MAPPING | シャドウマッピング | 0x00000004 |
MEP_ATMOSPHERE_SCATTERING | 大気散乱シミュレーション | 0x00000040 |
MEP_AMBIENT_OCCLUSION | アンビエントオクルージョン | 0x00000100 |
バーテックスシェーダー
-
バーテックスシェーダーは MEP_INFO_HEADER::numVertexShader の値の数だけ存在します。
- MEP_VERTEX_SHADER_DESC 構造体
- MEP_VERTEX_ELEMENT 構造体
- VERTEX_ELEMENT_SEMANTIC 列挙定数
- VERTEX_ELEMENT_FORMAT 列挙定数
バーテックスシェーダーの記述 ( MEP_VERTEX_SHADER_DESC ) |
バイナリ ( UInt8 [ MEP_SHADER_TYPE_MAX ][ MEP_VERTEX_SHADER_DESC::binarySize ] ) |
入力レイアウト ( MEP_VERTEX_ELEMENT [ MEP_VS_HEADER::numElement ] ) |
名前 | 型 | 説明 |
---|---|---|
id | UInt32 |
識別子 MEP_COMPILE_FLAG 列挙定数の以下の組み合わせ。 MEP_CF_NORMAL MEP_CF_TANGENT_SPACE MEP_CF_TEXTURE MEP_CF_SIMPLE_VERTEX MEP_CF_BLEND_VERTEX MEP_CF_LIGHTING MEP_CF_SHADOW_RECEIVE MEP_CF_BUMP_MAPPING MEP_CF_REFRACT_MAPPING MEP_CF_SSAO |
binarySize | UInt32[MEP_SHADER_TYPE_MAX] | バイナリのサイズ ( バイト単位 ) |
numILElement | UInt32 | 入力レイアウトの要素数 |
reserve | UInt32 | 予約領域 |
名前 | 型 | 説明 |
---|---|---|
semanticType | UInt32 | セマンティックタイプ VERTEX_ELEMENT_SEMANTIC 列挙定数のいずれか。 |
semanticIndex | UInt32 | セマンティックインデックス |
format | UInt32 | フォーマット VERTEX_ELEMENT_FORMAT 列挙定数のいずれか。 |
offset | UInt32 | オフセット ( バイト単位 ) |
名前 | 説明 | 値 |
---|---|---|
VES_POSITION | 座標 | 0 |
VES_BLENDWEIGHT | ブレンドウェイト | 1 |
VES_BLENDINDICES | ブレンドインデックス | 2 |
VES_NORMAL | 法線 | 3 |
VES_PSIZE | ポイントサイズ | 4 |
VES_TEXTURE | テクスチャ座標 | 5 |
VES_TANGENT | 接線 | 6 |
VES_BINORMAL | 従法線 | 7 |
VES_COLOR | カラー | 8 |
名前 | 説明 | 値 |
---|---|---|
VEF_FLOAT32_1 | 32ビット浮動小数点 * 1 | 0 |
VEF_FLOAT32_2 | 32ビット浮動小数点 * 2 | 1 |
VEF_FLOAT32_3 | 32ビット浮動小数点 * 3 | 2 |
VEF_FLOAT32_4 | 32ビット浮動小数点 * 4 | 3 |
VEF_UINT8_4 | 符号無し8ビット整数 * 4 | 4 |
VEF_INT16_2 | 符号付き16ビット整数 * 2 | 5 |
VEF_INT16_4 | 符号付き16ビット整数 * 4 | 6 |
VEF_UINT8_4N | 符号無し8ビット整数 * 4 | 7 |
VEF_INT16_2N | 符号付き16ビット整数 * 2 | 8 |
VEF_INT16_4N | 符号付き16ビット整数 * 4 | 9 |
VEF_UINT16_2N | 符号無し16ビット整数 * 2 | 10 |
VEF_UINT16_4N | 符号無し16ビット整数 * 4 | 11 |
VEF_FLOAT16_2 | 16ビット浮動小数点 * 2 | 12 |
VEF_FLOAT16_4 | 16ビット浮動小数点 * 4 | 13 |
ピクセルシェーダー
-
ピクセルシェーダーは MEP_INFO_HEADER::numPixelShader の値の数だけ存在します。
- MEP_PIXEL_SHADER_DESC 構造体
ピクセルシェーダーの記述 ( MEP_PIXEL_SHADER_DESC ) |
バイナリ ( UInt8 [ MEP_SHADER_TYPE_MAX ][ MEP_PIXEL_SHADER_DESC::binarySize ] ) |
名前 | 型 | 説明 |
---|---|---|
id | UInt32 |
識別子 MEP_COMPILE_FLAG 列挙定数の以下の組み合わせ。 MEP_CF_TEXTURE MEP_CF_LIGHTING MEP_CF_BOTH_LIGHTING MEP_CF_SHADOW_RECEIVE MEP_CF_REFRACT_CLIP MEP_CF_DIFFUSE_HALF_LAMBERT MEP_CF_DIFFUSE_MAPPING MEP_CF_DIFFUSE_FRESNEL MEP_CF_DIFFUSE_RIM_LIGHTING MEP_CF_SPECULAR_PHONG MEP_CF_SPECULAR_BLINN_PHONG MEP_CF_SPECULAR_COOK_TORRANCE MEP_CF_SPECULAR_MAPPING MEP_CF_REFLECT_MAPPING MEP_CF_REFLECT_FRESNEL MEP_CF_EMISSIVE_MAPPING MEP_CF_BUMP_MAPPING MEP_CF_PARALLAX MEP_CF_WATER MEP_CF_REFRACT_MAPPING MEP_CF_SOFTPARTICLE MEP_CF_WAVE_INVERT MEP_CF_ATMOSPHERE MEP_CF_FOG MEP_CF_SHADOW MEP_CF_SSAO |
binarySize | UInt32[MEP_SHADER_TYPE_MAX] | バイナリのサイズ ( バイト単位 ) |