2 * PMD material information handler
\r
4 * License : The MIT License
\r
5 * Copyright(c) 2010 MikuToga Partners
\r
8 package jp.sourceforge.mikutoga.parser.pmd;
\r
10 import jp.sourceforge.mikutoga.parser.LoopHandler;
\r
11 import jp.sourceforge.mikutoga.parser.MmdFormatException;
\r
12 import jp.sourceforge.mikutoga.parser.ParseStage;
\r
15 * PMDモデルの各種材質情報の通知用ハンドラ。
\r
18 public interface PmdMaterialHandler extends LoopHandler {
\r
23 class PmdMaterialStage extends ParseStage{
\r
25 PmdMaterialStage(){ super(); return; }
\r
29 PmdMaterialStage MATERIAL_LIST = new PmdMaterialStage();
\r
33 * {@link #MATERIAL_LIST}ループの構成要素。
\r
34 * @param red 0.0~1.0の範囲の赤成分
\r
35 * @param green 0.0~1.0の範囲の緑成分
\r
36 * @param blue 0.0~1.0の範囲の青成分
\r
37 * @param alpha 0.0(透明)~1.0(不透明)のアルファ値。
\r
38 * @throws MmdFormatException 不正フォーマットによる
\r
41 void pmdMaterialDiffuse(float red, float green, float blue,
\r
43 throws MmdFormatException;
\r
47 * {@link #MATERIAL_LIST}ループの構成要素。
\r
48 * @param red 0.0~1.0の範囲の赤成分
\r
49 * @param green 0.0~1.0の範囲の緑成分
\r
50 * @param blue 0.0~1.0の範囲の青成分
\r
51 * @param shininess 光沢強度(1~15ぐらい)
\r
52 * @throws MmdFormatException 不正フォーマットによる
\r
55 void pmdMaterialSpecular(float red, float green, float blue,
\r
57 throws MmdFormatException;
\r
61 * {@link #MATERIAL_LIST}ループの構成要素。
\r
62 * @param red 0.0~1.0の範囲の赤成分
\r
63 * @param green 0.0~1.0の範囲の緑成分
\r
64 * @param blue 0.0~1.0の範囲の青成分
\r
65 * @throws MmdFormatException 不正フォーマットによる
\r
68 void pmdMaterialAmbient(float red, float green, float blue)
\r
69 throws MmdFormatException;
\r
72 * シェーディング情報の通知を受け取る。
\r
73 * {@link #MATERIAL_LIST}ループの構成要素。
\r
74 * @param toonIdx トゥーンファイル番号。
\r
75 * 0ならtoon01.bmp。9ならtoon10.bmp。0xffならtoon0.bmp。
\r
76 * @param textureFile テクスチャファイル名。
\r
78 * @param sphereFile スフィアマップファイル名。
\r
80 * @throws MmdFormatException 不正フォーマットによる
\r
83 void pmdMaterialShading(int toonIdx,
\r
84 String textureFile, String sphereFile )
\r
85 throws MmdFormatException;
\r
89 * {@link #MATERIAL_LIST}ループの構成要素。
\r
90 * @param hasEdge エッジを表示するならtrue
\r
91 * @param vertexNum 面頂点数。
\r
93 * 3で割ると積算で表される面IDの範囲を表す。
\r
94 * @throws MmdFormatException 不正フォーマットによる
\r
97 void pmdMaterialInfo(boolean hasEdge, int vertexNum)
\r
98 throws MmdFormatException;
\r