+ * フォンシェーディングの色情報を出力する。
+ * @param material マテリアル情報
+ * @throws IOException 出力エラー
+ */
+ private void dumpColorInfo(Material material)
+ throws IOException{
+ Color diffuse = material.getDiffuseColor();
+ this.rgbaBuf = diffuse.getRGBComponents(this.rgbaBuf);
+ dumpLeFloat(this.rgbaBuf[IDX_RED]);
+ dumpLeFloat(this.rgbaBuf[IDX_GREEN]);
+ dumpLeFloat(this.rgbaBuf[IDX_BLUE]);
+ dumpLeFloat(this.rgbaBuf[IDX_ALPHA]);
+
+ float shininess = material.getShininess();
+ dumpLeFloat(shininess);
+
+ Color specular = material.getSpecularColor();
+ this.rgbaBuf = specular.getRGBComponents(this.rgbaBuf);
+ dumpLeFloat(this.rgbaBuf[IDX_RED]);
+ dumpLeFloat(this.rgbaBuf[IDX_GREEN]);
+ dumpLeFloat(this.rgbaBuf[IDX_BLUE]);
+
+ Color ambient = material.getAmbientColor();
+ this.rgbaBuf = ambient.getRGBComponents(this.rgbaBuf);
+ dumpLeFloat(this.rgbaBuf[IDX_RED]);
+ dumpLeFloat(this.rgbaBuf[IDX_GREEN]);
+ dumpLeFloat(this.rgbaBuf[IDX_BLUE]);
+
+ return;
+ }
+
+ /**
+ * シェーディング情報を出力する。
+ * @param material マテリアル情報
+ * @throws IOException 出力エラー
+ * @throws IllegalTextExportException ファイル名が長すぎる
+ */
+ private void dumpShadeInfo(Material material)
+ throws IOException, IllegalTextExportException{
+ ShadeInfo shade = material.getShadeInfo();
+ int toonIdx = shade.getToonIndex();
+ dumpByte(toonIdx);
+
+ boolean showEdge = material.getEdgeAppearance();
+ byte edgeFlag;
+ if(showEdge) edgeFlag = 0x01;
+ else edgeFlag = 0x00;
+ dumpByte(edgeFlag);
+
+ int surfaceNum = material.getSurfaceList().size();
+ dumpLeInt(surfaceNum * TRIANGLE);
+
+ dumpShadeFileInfo(shade);
+
+ return;
+ }
+
+ /**