public Material(MaterialType type, MaterialParameters parameters = null, string name = "") { counter++; if (name == "") { Name = "Material" + counter.ToString(); } else { Name = name; } Type = type; if (parameters == null) { Parameters = new MaterialParameters(); } else { Parameters = parameters; } AssignedObjects = new List <Mesh>(); LoadShader(); }
public static Material CreateMaterial(MaterialType type, MaterialParameters parameters = null, string name = "") { if (Materials.ContainsKey(name)) { return(null); } Material material = new Material(type, parameters, name); Materials.Add(material.Name, material); return(material); }
private void FillPropertiesPanel(Material material) { nameTextBox.Text = material.Name; typeComboBox.SelectedIndex = (int)material.Type; MaterialParameters parameters = material.Parameters; var color = MathHelper.ColorFloatToInt(parameters.Ambient); ambientColorButton.BackColor = Color.FromArgb(color[3], color[0], color[1], color[2]); color = MathHelper.ColorFloatToInt(parameters.Diffuse); diffuseButton.BackColor = Color.FromArgb(color[3], color[0], color[1], color[2]); color = MathHelper.ColorFloatToInt(parameters.Specular); specularButton.BackColor = Color.FromArgb(color[3], color[0], color[1], color[2]); shininessNumericUpDown.Value = (decimal)parameters.Shininess; SetPropertiesVisibility(material.Type); }