コード例 #1
0
 static public int IsValid(IntPtr l)
 {
     try {
                     #if DEBUG
         var    method     = System.Reflection.MethodBase.GetCurrentMethod();
         string methodName = GetMethodName(method);
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.BeginSample(methodName);
                     #else
         Profiler.BeginSample(methodName);
                     #endif
                     #endif
         UnityEngine.Rendering.ShaderKeyword self = (UnityEngine.Rendering.ShaderKeyword)checkSelf(l);
         var ret = self.IsValid();
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
             #if DEBUG
     finally {
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.EndSample();
                     #else
         Profiler.EndSample();
                     #endif
     }
             #endif
 }
コード例 #2
0
 public static ShaderKeywordType GetGlobalKeywordType(ShaderKeyword index)
 {
     if (index.IsValid())
     {
         return(GetGlobalShaderKeywordType(index.m_Index));
     }
     return(ShaderKeywordType.UserDefined);
 }
コード例 #3
0
 public void Disable(ShaderKeyword keyword)
 {
     if (keyword.m_IsLocal || !keyword.IsValid())
     {
         DisableKeywordName(this, keyword.m_Name);
     }
     else
     {
         DisableGlobalKeyword(this, keyword.m_Index);
     }
 }
コード例 #4
0
 public void Enable(ShaderKeyword keyword)
 {
     CheckKeywordCompatible(keyword);
     if (keyword.m_IsLocal || !keyword.IsValid())
     {
         EnableKeywordName(this, keyword.m_Name);
     }
     else
     {
         EnableGlobalKeyword(this, keyword.m_Index);
     }
 }
コード例 #5
0
 static public int IsValid(IntPtr l)
 {
     try {
         UnityEngine.Rendering.ShaderKeyword self = (UnityEngine.Rendering.ShaderKeyword)checkSelf(l);
         var ret = self.IsValid();
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
コード例 #6
0
        public void Disable(ShaderKeyword keyword)
        {
            if (!keyword.IsValid())
            {
                return;
            }

            uint slice, mask;

            ComputeSliceAndMask(keyword, out slice, out mask);
            fixed(uint *bits = m_Bits)
            {
                bits[slice] &= ~mask;
            }
        }
コード例 #7
0
        public bool IsEnabled(ShaderKeyword keyword)
        {
            if (!keyword.IsValid())
            {
                return(false);
            }

            uint slice, mask;

            ComputeSliceAndMask(keyword, out slice, out mask);
            fixed(uint *bits = m_Bits)
            {
                return((bits[slice] & mask) != 0);
            }
        }