Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
ICompilerParametersGenerator.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System.Collections.Generic;
4 using SiliconStudio.Assets.Compiler;
5 using SiliconStudio.Core.Diagnostics;
6 using SiliconStudio.Paradox.Shaders.Compiler;
7 
8 namespace SiliconStudio.Paradox.Assets.Effect
9 {
10  /// <summary>
11  /// A dynamic generator of <see cref="CompilerParameters"/> from a source parameters. See remarks.
12  /// </summary>
13  /// <remarks>
14  /// This interface can be implemented to generate permutation of <see cref="CompilerParameters"/> derived
15  /// from base parameters. This is usefull when some parameters needs to be generated based
16  /// on the condition of some values in the base parameter.
17  /// </remarks>
19  {
20  /// <summary>
21  /// The priority of the generator. Higher priority generators will override lower ones.
22  /// </summary>
23  int GeneratorPriority { get; }
24 
25  /// <summary>
26  /// Generates derived <see cref="CompilerParameters"/> from a base parameters.
27  /// </summary>
28  /// <param name="context">The context.</param>
29  /// <param name="baseParameters">The parameters.</param>
30  /// <param name="log">The log.</param>
31  /// <returns>An enumerable of derived <see cref="CompilerParameters"/>.</returns>
33  }
34 }
The context used when compiling an asset in a Package.
A dynamic generator of CompilerParameters from a source parameters. See remarks.
Interface for logging.
Definition: ILogger.cs:8