Exemple #1
0
 public MQOMaterial(string name)
 {
     Name  = name;
     Tex   = "";
     Alpha = "";
     Bump  = "";
     Color = new MQOColor();
 }
Exemple #2
0
 public void Dispose()
 {
     Name  = null;
     Tex   = null;
     Spa   = null;
     Alpha = null;
     Bump  = null;
     Color = null;
 }
Exemple #3
0
            internal bool parseParams(string str)
            {
                var mc =
                    new Regex("(?<key>\\w+)\\((?:\"(?<val>.*)\"|(?<val>[^\\)]+))\\)", RegexOptions.Compiled).Matches(str);

                foreach (Match m in mc)
                {
                    var key = m.Groups["key"].Value;
                    var val = m.Groups["val"].Value;
                    switch (key)
                    {
                    case "shader":
                        shader = val;
                        break;

                    case "tex":
                        String[] TexTemp = val.Split('*');
                        try
                        {
                            Tex = TexTemp[0];
                            Spa = TexTemp[1];
                        }
                        catch (Exception)
                        {
                        }
                        //Tex = val;
                        break;

                    case "aplane":
                        Alpha = val;
                        break;

                    case "bump":
                        Bump = val;
                        break;

                    case "col":
                        var c = new Regex(@"(-?\d+(?:\.\d+)?)", RegexOptions.Compiled).Matches(val);
                        if (c.Count != 4)
                        {
                            return(false);
                        }
                        var Color = new MQOColor();
                        for (var i = 0; i < 4; i++)
                        {
                            Color.SetValue(i, decimal.Parse(c[i].Groups[0].Value));
                        }
                        break;

                    case "dif":
                        Diffuse = float.Parse(val);
                        break;

                    case "amb":
                        Ambient = float.Parse(val);
                        break;

                    case "emi":
                        Emission = float.Parse(val);
                        break;

                    case "spc":
                        Specular = float.Parse(val);
                        break;

                    case "power":
                        Power = float.Parse(val);
                        break;

                    case "uid":
                        uid = decimal.Parse(val);
                        break;

                    case "dbls":
                        dbls = decimal.Parse(val);
                        break;

                    default:
                        Console.WriteLine();
                        break;
                    }
                }
                return(true);
            }