private string ImportBrgMaterial(BrgMaterial mat)
{
Maxscript.Command("mat = StandardMaterial()");
this.ImportMaterialNameFromFlags(mat);
Maxscript.Command("mat.adLock = false");
Maxscript.Command("mat.useSelfIllumColor = true");
Maxscript.Command("mat.diffuse = color {0} {1} {2}", mat.DiffuseColor.R * 255f, mat.DiffuseColor.G * 255f, mat.DiffuseColor.B * 255f);
Maxscript.Command("mat.ambient = color {0} {1} {2}", mat.AmbientColor.R * 255f, mat.AmbientColor.G * 255f, mat.AmbientColor.B * 255f);
Maxscript.Command("mat.specular = color {0} {1} {2}", mat.SpecularColor.R * 255f, mat.SpecularColor.G * 255f, mat.SpecularColor.B * 255f);
Maxscript.Command("mat.selfIllumColor = color {0} {1} {2}", mat.EmissiveColor.R * 255f, mat.EmissiveColor.G * 255f, mat.EmissiveColor.B * 255f);
Maxscript.Command("mat.opacity = {0}", mat.Opacity * 100f);
Maxscript.Command("mat.specularLevel = {0}", mat.SpecularExponent);
if (mat.Flags.HasFlag(BrgMatFlag.SubtractiveBlend))
{
Maxscript.Command("mat.opacityType = 1");
}
else if (mat.Flags.HasFlag(BrgMatFlag.AdditiveBlend))
{
Maxscript.Command("mat.opacityType = 2");
}
if (mat.Flags.HasFlag(BrgMatFlag.TwoSided))
{
Maxscript.Command("mat.twoSided = true");
}
if (mat.Flags.HasFlag(BrgMatFlag.FaceMap))
{
Maxscript.Command("mat.faceMap = true");
}
if (mat.Flags.HasFlag(BrgMatFlag.REFLECTIONTEXTURE))
{
Maxscript.Command("rTex = BitmapTexture()");
Maxscript.Command("rTex.name = \"{0}\"", Path.GetFileNameWithoutExtension(mat.sfx[0].Name));
Maxscript.Command("rTex.filename = \"{0}\"", Path.GetFileNameWithoutExtension(mat.sfx[0].Name) + ".tga");
Maxscript.Command("mat.reflectionMap = rTex");
}
if (mat.Flags.HasFlag(BrgMatFlag.BumpMap))
{
Maxscript.Command("aTex = BitmapTexture()");
Maxscript.Command("aTex.name = \"{0}\"", mat.BumpMap);
Maxscript.Command("aTex.filename = \"{0}\"", mat.BumpMap + ".tga");
Maxscript.Command("mat.bumpMap = aTex");
}
if (mat.Flags.HasFlag(BrgMatFlag.WrapUTx1) && mat.Flags.HasFlag(BrgMatFlag.WrapVTx1))
{
Maxscript.Command("tex = BitmapTexture()");
Maxscript.Command("tex.name = \"{0}\"", mat.DiffuseMap);
Maxscript.Command("tex.filename = \"{0}\"", mat.DiffuseMap + ".tga");
Maxscript.Command("mat.diffusemap = tex");
if (mat.Flags.HasFlag(BrgMatFlag.PixelXForm1))
{
Maxscript.Command("mat.filtermap = tex");
}
}
return "mat";
}