public void Bloom(IBloomStage stage, ITexture source, IRenderTarget target) { if (stage == null) { throw new Yak2DException("Unable to queue BloomEffectStage. Stage is null", new ArgumentNullException()); } if (source == null) { throw new Yak2DException("Unable to queue BloomEffectStage. Source is null", new ArgumentNullException()); } if (target == null) { throw new Yak2DException("Unable to queue BloomEffectStage. Target is null", new ArgumentNullException()); } if (source.Id == target.Id) { throw new Yak2DException("Unable to queue BloomEffectStage. Source and Target Surfaces cannot be the same", new ArgumentNullException()); } _commandQueue.Add(RenderCommandType.BloomEffectStage, stage.Id, target.Id, 0UL, source.Id, 0UL, 0UL, 0UL, RgbaFloat.Clear); }
public void SetBloomConfig(IBloomStage effect, BloomEffectConfiguration config, float transitionSeconds) { if (effect == null) { throw new Yak2DException("Unable to set bloom effect as stage passed is null"); } SetBloomConfig(effect.Id, config, transitionSeconds); }