Exemplo n.º 1
0
 public ShaderGeneratorContext(GraphicsDevice graphicsDevice = null)
 {
     this.graphicsDevice   = graphicsDevice;
     Parameters            = new ParameterCollection();
     parameterKeyIndices   = new Dictionary <ParameterKey, int>();
     declaredSamplerStates = new Dictionary <SamplerStateDescription, ObjectParameterKey <SamplerState> >();
     currentOverrides      = new MaterialOverrides();
 }
Exemplo n.º 2
0
 private void UpdateOverrides()
 {
     // Update overrides by squashing them using multiplication
     currentOverrides = new MaterialOverrides();
     foreach (var current in overridesStack)
     {
         currentOverrides *= current;
     }
 }
Exemplo n.º 3
0
 public void PushOverrides(MaterialOverrides overrides)
 {
     if (overrides == null)
     {
         throw new ArgumentNullException("overrides");
     }
     overridesStack.Push(overrides);
     UpdateOverrides();
 }