public void ProcessShaderSet(ShaderSetProcessorInput input) { var shaderDefinition = new ShaderDefinition(); foreach (var resource in input.Model.AllResources) { try { var resourceBinding = CreateResourceBinding(input.Model, resource); shaderDefinition.ResourceBindings.Add(resourceBinding); } catch (Exception ex) { throw new Exception($"Could not create resource binding for set {input.SetName}, resource {resource.Name}, value type {resource.ValueType.Name}", ex); } } var path = Path.Combine(UserArgs, input.SetName + ".json"); var json = shaderDefinition.ToJson(); File.WriteAllText(path, json); }