Example #1
0
        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);
        }