private static void SaveShaderFiles(VisualEffectResource resource, List <GeneratedCodeData> generatedCodeData, Dictionary <VFXContext, VFXContextCompiledData> contextToCompiledData) { Profiler.BeginSample("VFXEditor.SaveShaderFiles"); try { VFXShaderSourceDesc[] descs = new VFXShaderSourceDesc[generatedCodeData.Count]; for (int i = 0; i < generatedCodeData.Count; ++i) { var generated = generatedCodeData[i]; var fileName = string.Format("Temp_{1}_{0}_{2}_{3}.{1}", VFXCodeGeneratorHelper.GeneratePrefix((uint)i), generated.computeShader ? "compute" : "shader", generated.context.name.ToLower(), generated.compilMode); descs[i].source = generated.content.ToString(); descs[i].name = fileName; descs[i].compute = generated.computeShader; } resource.shaderSources = descs; for (int i = 0; i < generatedCodeData.Count; ++i) { var generated = generatedCodeData[i]; var contextData = contextToCompiledData[generated.context]; contextData.indexInShaderSource = i; contextToCompiledData[generated.context] = contextData; } } finally { Profiler.EndSample(); } }
private static void SaveShaderFiles(VisualEffectResource resource, List <GeneratedCodeData> generatedCodeData, Dictionary <VFXContext, VFXContextCompiledData> contextToCompiledData) { Profiler.BeginSample("VFXEditor.SaveShaderFiles"); try { VFXShaderSourceDesc[] descs = new VFXShaderSourceDesc[generatedCodeData.Count]; for (int i = 0; i < generatedCodeData.Count; ++i) { var generated = generatedCodeData[i]; var fileName = generated.context.fileName; if (!generated.computeShader) { generated.content.Insert(0, "Shader \"" + generated.context.shaderName + "\"\n"); } descs[i].source = generated.content.ToString(); descs[i].name = fileName; descs[i].compute = generated.computeShader; } resource.shaderSources = descs; for (int i = 0; i < generatedCodeData.Count; ++i) { var generated = generatedCodeData[i]; var contextData = contextToCompiledData[generated.context]; contextData.indexInShaderSource = i; contextToCompiledData[generated.context] = contextData; } } finally { Profiler.EndSample(); } }