public PostProcessAction(string assetName, string technique, int[] inputIndices, OutputRule outputRule = OutputRule.NewRenderTarget, float scale = 1.0f) : this()
 {
     AssetName    = assetName;
     Technique    = technique;
     Scale        = scale;
     InputIndices = inputIndices;
     OutputRule   = outputRule;
 }
        public void WhenRuleIsConstructed_ThenPropertiesAreExpected()
        {
            var output = "OUTPUT";
            var rule   = new Func <int, bool>(_ => true);

            var outputRule = new OutputRule(output, rule);

            outputRule.Output.Should().Be(output);
            outputRule.Rule.Should().BeSameAs(rule);
        }
        protected RenderToTextureCommandBase(IServiceRegistry services, Texture2DDescription textureDescription = default(Texture2DDescription),
                                             OutputRule outputRule = OutputRule.NewRenderTarget)
            : base(services, CommandType.PostProcessing)
        {
            IDirectXDeviceSettings deviceSettings = services.GetService <IDirectXDeviceSettings>();

            viewport        = new Viewport(0, 0, deviceSettings.PreferredBackBufferWidth, deviceSettings.PreferredBackBufferHeight);
            this.outputRule = outputRule;
            inputs          = new List <Texture>();

            if (outputRule == OutputRule.NewRenderTarget)
            {
                if (textureDescription.Width == 0 || textureDescription.Height == 0)
                {
                    this.textureDescription = PostProcessor.GetTextureDescription(deviceSettings.PreferredBackBufferWidth, deviceSettings.PreferredBackBufferHeight);
                }
                else
                {
                    this.textureDescription = textureDescription;
                }
            }
        }
Exemple #4
0
 public PostProcessCommand(IServiceRegistry services, Technique technique, ModelMesh quad, IEntity entity, Texture2DDescription textureDescription = default(Texture2DDescription), OutputRule outputRule = OutputRule.NewRenderTarget)
     : base(services, textureDescription, outputRule)
 {
     Contract.Requires <ArgumentNullException>(technique != null, "technique");
     Contract.Requires <ArgumentNullException>(quad != null, "quad");
     Contract.Requires <ArgumentNullException>(entity != null, "entity");
     this.technique = technique;
     this.quad      = quad;
     this.entity    = entity;
 }