コード例 #1
0
ファイル: ShaderUtils.cs プロジェクト: gucheng0712/FancyToon
        public String Dump()
        {
            String result;
            var    sb = new StringBuilder();

            sb.Append(ShaderUtils.DumpShaderPasses(shader));

            if (snippets != null && snippets.Count > 0)
            {
                sb.AppendFormat("// Total snippets: {0}", snippets.Count).AppendLine();
                sb.AppendLine();

                for (int i = 0; i < snippets.Count; ++i)
                {
                    var snippet = snippets[i];
                    sb.AppendFormat("// Snippet #{0} platforms {1:x}:", snippet.id, snippet.platformBits).AppendLine();
                    sb.AppendLine();

                    if (snippet.shader_features != null && snippet.shader_features.Length > 0)
                    {
                        sb.AppendFormat("Keywords stripped away when not used:\n\n{0}", String.Join("\n", snippet.shader_features)).AppendLine();
                        sb.AppendLine();
                    }
                    if (snippet.multi_compiles != null && snippet.multi_compiles.Length > 0)
                    {
                        sb.AppendFormat("Keywords always included into build:\n\n{0}", String.Join("\n", snippet.multi_compiles)).AppendLine();
                        sb.AppendLine();
                    }
                    if (snippet.builtins != null && snippet.builtins.Length > 0)
                    {
                        sb.AppendFormat("Builtin keywords used:\n\n{0}", String.Join("\n", snippet.builtins)).AppendLine();
                        sb.AppendLine();
                    }
                    sb.AppendLine();

                    if (snippet.variants != null && snippet.variants.Count > 0)
                    {
                        sb.AppendFormat("{0} keyword variants used in scene:", snippet.variants.Count).AppendLine();
                        sb.AppendLine();
                        for (int j = 0; j < snippet.variants.Count; ++j)
                        {
                            sb.AppendFormat("[{0}]:", j).AppendLine();
                            sb.Append(String.Join("\n", snippet.variants[j].ToArray()));
                            sb.AppendLine();
                            sb.AppendLine();
                        }
                    }
                    else
                    {
                        sb.Append(TAG_NO_KEYWORDS_DEFINED).AppendLine();
                    }
                    sb.AppendLine();
                }
                result = sb.ToString();
            }
            else
            {
                result = "Empty ShaderParsedCombinations.";
            }
            Debug.Log(result);
            return(result);
        }