Beispiel #1
0
        /// <summary>
        /// シェーダ設定を読み込みます。
        /// </summary>
        /// <param name="lines">テキスト行配列</param>
        public void Load(string[] lines)
        {
            shader_parameters = new ShaderParameter[lines.Length];
            int i = 0;

            foreach (string line in lines)
            {
                ShaderParameter p = ShaderParameter.Parse(line);
                switch (p.name)
                {
                case "description":
                    p.system_p = true;
                    break;

                case "shader":
                    p.system_p = true;
                    break;

                case "technique":
                    p.system_p = true;
                    technique  = p.GetString();
                    break;

                case "LightDirX":
                    p.system_p = true;
                    lightDirX  = p.GetFloat();
                    break;

                case "LightDirY":
                    p.system_p = true;
                    lightDirY  = p.GetFloat();
                    break;

                case "LightDirZ":
                    p.system_p = true;
                    lightDirZ  = p.GetFloat();
                    break;

                case "LightDirW":
                    p.system_p = true;
                    lightDirW  = p.GetFloat();
                    break;

                case "LightDir":
                    p.system_p = true;
                    {
                        Vector3 v = p.GetFloat3();
                        lightDirX = v.X;
                        lightDirY = v.Y;
                        lightDirZ = v.Z;
                    }
                    break;

                case "ShadeTex":
                    p.system_p = true;
                    shadeTex   = p;
                    break;

                case "ColorTex":
                    p.system_p = true;
                    colorTex   = p;
                    break;
                }
                shader_parameters[i++] = p;
            }
            Array.Resize(ref shader_parameters, i);
        }