Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
EffectCompilerChain.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;
4 using System.Collections.Generic;
5 
6 using SiliconStudio.Core.Diagnostics;
7 using SiliconStudio.Paradox.Effects;
8 
9 namespace SiliconStudio.Paradox.Shaders.Compiler
10 {
11  /// <summary>
12  /// Helper class that delegates actual compilation to another <see cref="IEffectCompiler"/>.
13  /// </summary>
15  {
16  private readonly EffectCompilerBase compiler;
17 
19  {
20  if (compiler == null) throw new ArgumentNullException("compiler");
21  this.compiler = compiler;
22  }
23 
24  protected EffectCompilerBase Compiler
25  {
26  get { return compiler; }
27  }
28 
29  public override EffectBytecode Compile(ShaderMixinSource mixin, string fullEffectName, ShaderMixinParameters compilerParameters, HashSet<string> modifiedShaders, HashSet<string> recentlyModifiedShaders, LoggerResult log)
30  {
31  return compiler.Compile(mixin, fullEffectName, compilerParameters, modifiedShaders, recentlyModifiedShaders, log);
32  }
33  }
34 }
A mixin performing a combination of ShaderClassSource and other mixins.
A logger that stores messages locally useful for internal log scenarios.
Definition: LoggerResult.cs:14
Base class for implementations of IEffectCompiler, providing some helper functions.
Helper class that delegates actual compilation to another IEffectCompiler.
Contains a compiled shader with bytecode for each stage.
override EffectBytecode Compile(ShaderMixinSource mixin, string fullEffectName, ShaderMixinParameters compilerParameters, HashSet< string > modifiedShaders, HashSet< string > recentlyModifiedShaders, LoggerResult log)
Compiles the ShaderMixinSource into a platform bytecode.