private static void AddTextureParams(CrossMod.Rendering.GlTools.Material mat, Material material) { foreach (var param in mat.textureNameByParamId) { var textureParam = new TextureParam { Name = param.Key.ToString(), Value = param.Value }; // Update the material for rendering. textureParam.PropertyChanged += (s, e) => mat.UpdateTexture(param.Key, (s as TextureParam).Value); material.TextureParams.Add(textureParam); } }
private static void AddBooleanParams(CrossMod.Rendering.GlTools.Material mat, Material material) { foreach (var param in mat.boolByParamId) { var boolParam = new BooleanParam { Name = param.Key.ToString(), Value = param.Value }; // Update the material for rendering. boolParam.PropertyChanged += (s, e) => mat.UpdateBoolean(param.Key, (s as BooleanParam).Value); material.BooleanParams.Add(boolParam); } }
private static void AddFloatParams(CrossMod.Rendering.GlTools.Material mat, Material material) { foreach (var param in mat.floatByParamId) { var floatParam = new FloatParam { Name = param.Key.ToString(), Value = param.Value }; // Update the material for rendering. floatParam.PropertyChanged += (s, e) => mat.UpdateFloat(param.Key, (s as FloatParam).Value); material.FloatParams.Add(floatParam); } }
private static void AddVec4Params(CrossMod.Rendering.GlTools.Material mat, Material material) { foreach (var param in mat.vec4ByParamId) { var vec4Param = new Vec4Param { Name = param.Key.ToString(), Value1 = param.Value.X, Value2 = param.Value.Y, Value3 = param.Value.Z, Value4 = param.Value.W, }; // Update the material for rendering. vec4Param.PropertyChanged += (s, e) => { var sender = (s as Vec4Param); mat.UpdateVec4(param.Key, new OpenTK.Vector4(sender.Value1, sender.Value2, sender.Value3, sender.Value4)); }; material.Vec4Params.Add(vec4Param); } }