private void OnGUI() { shader = EditorGUILayout.ObjectField(shader, typeof(Shader), true) as Shader; if (GUILayout.Button("Compile And Analyze")) { var compiled = CompileShaderUtil.GetCompileShaderText(shader); var parser = new CompiledShaderParser(compiled); ShaderDbUtil.Create(shader, parser); } if (GUILayout.Button("DebugKeyword")) { var keywords = MaliocPluginUtility.GetShaderCurrentKeyword(shader); res = "Keyword:"; foreach (var keyword in keywords) { res += keyword + "\n"; } } if (!string.IsNullOrEmpty(res)) { EditorGUILayout.TextArea(res); } }
private AnalyzedShaderInfo CreateAnalyzedInfo(Shader shader) { AnalyzedShaderInfo info = null; var compiled = CompileShaderUtil.GetCompileShaderText(shader); var parser = new CompiledShaderParser(compiled); info = ShaderDbUtil.Create(shader, parser); if (info != null) { this.shaderInfos[shader] = info; } return(info); }
private void OnClickAnalyzeBtn() { if (mat == null || mat.shader == null) { return; } var data = ShaderDbUtil.LoadShaderData(mat.shader); if (data == null) { var compiled = CompileShaderUtil.GetCompileShaderText(mat.shader); var parser = new CompiledShaderParser(compiled); data = ShaderDbUtil.Create(mat.shader, parser); } if (data != null) { SetResult(data); } }