/// <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); }