Ejemplo n.º 1
0
        public StripShaderCompilerData(UnityEditor.Rendering.ShaderCompilerData shaderCompilerData, bool isStripped = false)
        {
            if (shaderKeywordSet == null)
            {
                shaderKeywordSet = new List <StripShaderKeyword>();
            }
            UnityEngine.Rendering.ShaderKeyword[] keywordSet = shaderCompilerData.shaderKeywordSet.GetShaderKeywords();
            for (int i = 0; i < keywordSet.Length; i++)
            {
                StripShaderKeyword shaderKeyword = new StripShaderKeyword(keywordSet[i]);
                shaderKeywordSet.Add(shaderKeyword);
            }
            Array array = Enum.GetValues(typeof(UnityEngine.Rendering.BuiltinShaderDefine));

            foreach (UnityEngine.Rendering.BuiltinShaderDefine v in array)
            {
                if (shaderCompilerData.platformKeywordSet.IsEnabled(v))
                {
                    StripBuiltinShaderDefine newdefine = StripTypeConvert.ConvertUnityTypeToStripType(v);
                    platformKeywordSet = platformKeywordSet | newdefine;
                }
            }
            shaderRequirements     = shaderCompilerData.shaderRequirements;
            graphicsTier           = shaderCompilerData.graphicsTier;
            shaderCompilerPlatform = shaderCompilerData.shaderCompilerPlatform;
            this.isStripped        = isStripped;
        }
Ejemplo n.º 2
0
        public bool IsEquip(UnityEditor.Rendering.ShaderCompilerData shaderCompilerData)
        {
            bool equip = true;

            equip = equip && shaderRequirements == shaderCompilerData.shaderRequirements;
            if (!equip)
            {
                return(equip);
            }
            equip = equip && graphicsTier == shaderCompilerData.graphicsTier;

            if (!equip)
            {
                return(equip);
            }
            equip = equip && shaderCompilerPlatform == shaderCompilerData.shaderCompilerPlatform;

            if (!equip)
            {
                return(equip);
            }
            if (equip)
            {
                return(equip);
            }
            return(false);
        }
Ejemplo n.º 3
0
 public void AddShaderCompilerData(UnityEditor.Rendering.ShaderCompilerData shaderCompilerData, bool isStripped = false)
 {
     if (this.shaderVariants != null)
     {
         StripShaderCompilerData a = new StripShaderCompilerData(shaderCompilerData);
         a.isStripped = isStripped;
         this.shaderVariants.Add(a);
     }
 }
Ejemplo n.º 4
0
 public StripShaderCompilerData GetStripShaderCompilerData(UnityEditor.Rendering.ShaderCompilerData shaderCompilerData)
 {
     if (this.shaderVariants != null)
     {
         int n = this.shaderVariants.Count;
         for (int i = 0; i < n; i++)
         {
             if (this.shaderVariants[i].IsEquip(shaderCompilerData))
             {
                 return(this.shaderVariants[i]);
             }
         }
     }
     return(null);
 }
Ejemplo n.º 5
0
        public void AddCompileInfo(string shaderName, UnityEditor.Rendering.ShaderSnippetData snippet, UnityEditor.Rendering.ShaderCompilerData shaderVariant, bool isStripped = false)
        {
            if (infos == null)
            {
                infos = new List <ShaderCompileVariantInfo>();
            }
            for (int i = 0; i < infos.Count; i++)
            {
                if (infos[i].shaderName == shaderName)
                {
                    infos[i].AddSnippetComileDataTuple(snippet, shaderVariant, isStripped);
                    return;
                }
            }
            ShaderCompileVariantInfo info = new ShaderCompileVariantInfo(shaderName);

            info.AddSnippetComileDataTuple(snippet, shaderVariant, isStripped);
            infos.Add(info);
        }
Ejemplo n.º 6
0
        public void AddSnippetComileDataTuple(UnityEditor.Rendering.ShaderSnippetData snippet, UnityEditor.Rendering.ShaderCompilerData shaderVariant, bool isStripped = false)
        {
            SnippetComileDataTuple tuple = GetSnippetComileDataTuple(snippet);

            if (tuple != null)
            {
                tuple.AddShaderCompilerData(shaderVariant, isStripped);
            }
            else
            {
                tuple = new SnippetComileDataTuple(snippet, shaderVariant, isStripped);
                AddSnippetComileDataTuple(tuple);
            }
        }
Ejemplo n.º 7
0
 public SnippetComileDataTuple(UnityEditor.Rendering.ShaderSnippetData snippet, UnityEditor.Rendering.ShaderCompilerData ashaderVariant, bool isStripped = false)
 {
     this.snippet        = new StripShaderSnippetData(snippet);
     this.shaderVariants = new List <StripShaderCompilerData>();
     this.shaderVariants.Add(new StripShaderCompilerData(ashaderVariant, isStripped));
 }