Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #4
0
        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);
            }
        }