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(); }
private void UpdateOverrides() { // Update overrides by squashing them using multiplication currentOverrides = new MaterialOverrides(); foreach (var current in overridesStack) { currentOverrides *= current; } }
public void PushOverrides(MaterialOverrides overrides) { if (overrides == null) { throw new ArgumentNullException("overrides"); } overridesStack.Push(overrides); UpdateOverrides(); }