Exemplo n.º 1
0
        public override object GetGlobalValues(object dest)
        {
            var value = FormatAccessor.GetGlobalValues(this);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
Exemplo n.º 2
0
        public override object CopyWithoutKeywords(Material source, object dest)
        {
            var value = FormatAccessor.GetValue(this, source);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
Exemplo n.º 3
0
        public virtual object Copy(object source, object dest)
        {
            var value = ReflectiveField.GetValue(source);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
Exemplo n.º 4
0
        public override object Copy(Material source, object dest)
        {
            var value = source.IsKeywordEnabled(Keyword);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
Exemplo n.º 5
0
        public override object Lerp(object v0, object v1, object dest, float t)
        {
            var value = ReflectiveField.GetValue(v0);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
        public override void SetGlobalValues(object source)
        {
            var value = (int)ReflectiveField.GetValue(source);

            if (value == 0)
            {
                for (int i = 0; i < KeywordsAndMask.Length; i += 2)
                {
                    string keyword = GetKeyword(i);
                    if (keyword != null)
                    {
                        Shader.DisableKeyword(keyword);
                    }
                }
            }
            else
            {
                for (int i = 0; i < KeywordsAndMask.Length; i += 2)
                {
                    string keyword   = GetKeyword(i);
                    var    enumValue = GetMask(i);
                    if (keyword != null && enumValue == value)
                    {
                        Shader.EnableKeyword(keyword);
                    }
                    else
                    {
                        Shader.DisableKeyword(keyword);
                    }
                }
            }
        }
Exemplo n.º 7
0
        public override object GetGlobalValues(object dest)
        {
            var value = Shader.IsKeywordEnabled(Keyword);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
Exemplo n.º 8
0
        public override object CopyWithoutKeywords(object source, object dest)
        {
            var value = ReflectiveField.GetValue(source);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
Exemplo n.º 9
0
        public override object Lerp(object v0, object v1, object dest, float t)
        {
            var value0    = ReflectiveField.GetValue(v0);
            var value1    = ReflectiveField.GetValue(v1);
            var valueDest = FormatAccessor.Lerp(value0, value1, t);

            ReflectiveField.SetValue(dest, valueDest);
            return(dest);
        }
Exemplo n.º 10
0
        public void CopyWithoutKeywords(object source, Material dest)
        {
            var sourceValue = ReflectiveField.GetValue(source);

            foreach (var child in Children)
            {
                child.CopyWithoutKeywords(sourceValue, dest);
            }
        }
Exemplo n.º 11
0
        public void Copy(object source, Material dest, ICollection <string> enabledKeywords)
        {
            var sourceValue = ReflectiveField.GetValue(source);

            foreach (var child in Children)
            {
                child.Copy(sourceValue, dest, enabledKeywords);
            }
        }
Exemplo n.º 12
0
        public override void Copy(object source, Material dest, ICollection <string> enabledKeywords)
        {
            bool value = (bool)ReflectiveField.GetValue(source);

            if (value)
            {
                enabledKeywords.Add(Keyword);
            }
        }
Exemplo n.º 13
0
        public void SetGlobalValues(object source)
        {
            var value = ReflectiveField.GetValue(source);

            foreach (var child in Children)
            {
                child.SetGlobalValues(value);
            }
        }
Exemplo n.º 14
0
        public object GetGlobalValues(object dest)
        {
            var value = ReflectiveField.GetValue(dest);

            foreach (var child in Children)
            {
                child.GetGlobalValues(value);
            }
            return(dest);
        }
Exemplo n.º 15
0
        public object CopyWithoutKeywords(Material source, object dest)
        {
            var destValue = ReflectiveField.GetValue(dest);

            foreach (var child in Children)
            {
                child.CopyWithoutKeywords(source, destValue);
            }
            return(dest);
        }
Exemplo n.º 16
0
 public void SetGlobalValues(object source, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var value = ReflectiveField.GetValue(source);
         foreach (var child in Children)
         {
             child.SetGlobalValues(value, filter);
         }
     }
 }
Exemplo n.º 17
0
 public void Copy(object source, Material dest, ICollection <string> enabledKeywords, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var sourceValue = ReflectiveField.GetValue(source);
         foreach (var child in Children)
         {
             child.Copy(sourceValue, dest, enabledKeywords, filter);
         }
     }
 }
Exemplo n.º 18
0
 public void ForEach(object v0, ShaderFieldAction1 action)
 {
     if (action.Invoke(this, v0))
     {
         var t0 = ReflectiveField.GetValue(v0);
         foreach (var child in Children)
         {
             child.ForEach(t0, action);
         }
     }
 }
Exemplo n.º 19
0
        public object Copy(object source, object dest)
        {
            var sourceValue = ReflectiveField.GetValue(source);
            var destValue   = ReflectiveField.GetValue(dest);

            foreach (var child in Children)
            {
                child.Copy(sourceValue, destValue);
            }
            return(dest);
        }
Exemplo n.º 20
0
 public void CopyWithoutKeywords(object source, Material dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var sourceValue = ReflectiveField.GetValue(source);
         foreach (var child in Children)
         {
             child.CopyWithoutKeywords(sourceValue, dest, filter);
         }
     }
 }
Exemplo n.º 21
0
 public object CopyWithoutKeywords(Material source, object dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var destValue = ReflectiveField.GetValue(dest);
         foreach (var child in Children)
         {
             child.CopyWithoutKeywords(source, destValue, filter);
         }
     }
     return(dest);
 }
Exemplo n.º 22
0
 public object GetGlobalValues(object dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var value = ReflectiveField.GetValue(dest);
         foreach (var child in Children)
         {
             child.GetGlobalValues(value, filter);
         }
     }
     return(dest);
 }
Exemplo n.º 23
0
        public object Lerp(object v0, object v1, object dest, float t)
        {
            var value0    = ReflectiveField.GetValue(v0);
            var value1    = ReflectiveField.GetValue(v1);
            var destValue = ReflectiveField.GetValue(dest);

            foreach (var child in Children)
            {
                child.Lerp(value0, value1, destValue, t);
            }
            return(dest);
        }
Exemplo n.º 24
0
        public override int GetEnabledKeywords(object source)
        {
            bool value = (bool)ReflectiveField.GetValue(source);

            if (value)
            {
                return(Mask);
            }
            else
            {
                return(0);
            }
        }
Exemplo n.º 25
0
        public override void SetGlobalValues(object source)
        {
            bool value = (bool)ReflectiveField.GetValue(source);

            if (value)
            {
                Shader.EnableKeyword(Keyword);
            }
            else
            {
                Shader.DisableKeyword(Keyword);
            }
        }
Exemplo n.º 26
0
 public void ForEach(object v0, object v1, object v2, ShaderFieldAction3 action)
 {
     if (action.Invoke(this, v0, v1, v2))
     {
         var t0 = ReflectiveField.GetValue(v0);
         var t1 = ReflectiveField.GetValue(v1);
         var t2 = ReflectiveField.GetValue(v2);
         foreach (var child in Children)
         {
             child.ForEach(t0, t1, t2, action);
         }
     }
 }
Exemplo n.º 27
0
 public object Copy(object source, object dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var sourceValue = ReflectiveField.GetValue(source);
         var destValue   = ReflectiveField.GetValue(dest);
         foreach (var child in Children)
         {
             child.Copy(sourceValue, destValue, filter);
         }
     }
     return(dest);
 }
Exemplo n.º 28
0
 public object Lerp(object v0, object v1, object dest, float t, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var value0    = ReflectiveField.GetValue(v0);
         var value1    = ReflectiveField.GetValue(v1);
         var destValue = ReflectiveField.GetValue(dest);
         foreach (var child in Children)
         {
             child.Lerp(value0, value1, destValue, t, filter);
         }
     }
     return(dest);
 }
Exemplo n.º 29
0
        public override int GetEnabledKeywords(object source, ICollection <string> keywords)
        {
            bool value = (bool)ReflectiveField.GetValue(source);

            if (value)
            {
                keywords.Add(Keyword);
                return(Mask);
            }
            else
            {
                return(0);
            }
        }
Exemplo n.º 30
0
        public override object GetGlobalValues(object dest)
        {
            int mask = 0;

            for (int i = 0; i < KeywordsAndMask.Length; i += 2)
            {
                string keyword = GetKeyword(i);
                if (keyword != null && Shader.IsKeywordEnabled(keyword))
                {
                    mask |= GetMask(i);
                }
            }
            ReflectiveField.SetValue(dest, mask);
            return(dest);
        }