public bool DeleteMaterial(RMaterial material) { if (_instance._MaterialList.Contains(material.name)) { _instance._MaterialList.Remove(material.name); material = null; return true; } else { return false; } return false; }
public void SaveMaterial(RMaterial material, string filename) { StreamWriter writer = new System.IO.StreamWriter(REngine.Instance._game.Content.RootDirectory + filename); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(writer.BaseStream, material); writer.Close(); }
public RMaterial CreateMaterial(string Name) { if (!_instance._MaterialList.ContainsKey(Name)) { RMaterial material = new RMaterial(); material.name = Name; material.ambColor = new Color(0, 0, 0); material.diffColor = Color.White; material.specColor = Color.White; material.specPower = 100; material.ID = _instance._MaterialList.Count; material.shader = new RShader(); material.shader.effect = new BasicEffect(REngine.Instance._graphics.GraphicsDevice); _instance._MaterialList.Add(Name, material); return material; } else { REngine.Instance.AddToLog("RMaterialFactory tried to create "+Name+" Material when its name was already taken!"); return null; } }
public RMaterial Clone() { int num = 1; for(int i=0; i<RMaterialFactory.Instance._MaterialList.Count; i++) if (RMaterialFactory.Instance._MaterialList.ContainsKey(this.name+num)) { num++; } RMaterial mat = new RMaterial(); RShader sh = new RShader(); sh.effect = shader.effect.Clone(); mat.name = this.name+num; mat.shader = sh; mat.ambColor = ambColor; mat.diffColor = diffColor; mat.ID = RMaterialFactory._instance._MaterialList.Count + 1; mat.specColor = specColor; mat.specPower = specPower; RMaterialFactory._instance._MaterialList.Add(mat.name, mat); return mat; }
public void SetMaterial(RMaterial material, string MeshName) { int mid = GetMeshIDFromName(MeshName); SetMaterial(material, mid); }
public void SetMaterial(RMaterial material, int MeshID) { _material = material; _materials[MeshID] = material; foreach(ModelMeshPart part in _model.Meshes[MeshID].MeshParts) { part.Effect = material.shader.effect; } }
public void SetMaterial(RMaterial material) { int i = 0; _material = material; _materials.Clear(); _materials.Add(i, material); i++; foreach (ModelMesh mesh in _model.Meshes) { foreach (ModelMeshPart part in mesh.MeshParts) { _materials.Add(i, material); part.Effect = material.shader.effect; i++; } } }