public override void Unload(PipelinePluginContext context) { // Cleanup render features RenderFeature.RenderFeatures.Remove(gameRenderFeature); base.Unload(context); }
public override void Load(PipelinePluginContext context) { base.Load(context); // Add the custom render feature RenderFeature.RenderFeatures.Add(gameRenderFeature = new GameRenderFeature()); }
/// <inheritdoc/> protected override BackgroundRenderFeature CreateRenderFeature(PipelinePluginContext context) { // Mandatory render stages var mainRenderStage = context.RenderSystem.GetOrCreateRenderStage("Main", "Main", new RenderOutputDescription(context.RenderContext.GraphicsDevice.Presenter.BackBuffer.ViewFormat, context.RenderContext.GraphicsDevice.Presenter.DepthStencilBuffer.ViewFormat)); var backgroundFeature = new BackgroundRenderFeature(); backgroundFeature.RenderStageSelectors.Add(new SimpleGroupToRenderStageSelector { RenderStage = mainRenderStage, EffectName = "Test", }); return(backgroundFeature); }
protected override UIRenderFeature CreateRenderFeature(PipelinePluginContext context) { // Mandatory render stages var transparentRenderStage = context.RenderSystem.GetOrCreateRenderStage("Transparent", "Main", new RenderOutputDescription(context.RenderContext.GraphicsDevice.Presenter.BackBuffer.ViewFormat, context.RenderContext.GraphicsDevice.Presenter.DepthStencilBuffer.ViewFormat)); var uiRenderFeature = new UIRenderFeature(); uiRenderFeature.RenderStageSelectors.Add(new SimpleGroupToRenderStageSelector { EffectName = "Test", RenderStage = transparentRenderStage, }); return(uiRenderFeature); }
/// <inheritdoc/> protected override ParticleEmitterRenderFeature CreateRenderFeature(PipelinePluginContext context) { // Mandatory render stages var mainRenderStage = context.RenderSystem.GetOrCreateRenderStage("Main", "Main", new RenderOutputDescription(context.RenderContext.GraphicsDevice.Presenter.BackBuffer.ViewFormat, context.RenderContext.GraphicsDevice.Presenter.DepthStencilBuffer.ViewFormat)); var transparentRenderStage = context.RenderSystem.GetOrCreateRenderStage("Transparent", "Main", new RenderOutputDescription(context.RenderContext.GraphicsDevice.Presenter.BackBuffer.ViewFormat, context.RenderContext.GraphicsDevice.Presenter.DepthStencilBuffer.ViewFormat)); var particleEmitterRenderFeature = new ParticleEmitterRenderFeature(); particleEmitterRenderFeature.RenderStageSelectors.Add(new ParticleEmitterTransparentRenderStageSelector { //EffectName = "Test", MainRenderStage = mainRenderStage, TransparentRenderStage = transparentRenderStage, }); return(particleEmitterRenderFeature); }
public override void Load(PipelinePluginContext context) { base.Load(context); var physicsDebugShapeRenderStage = context.RenderSystem.GetRenderStage("PhysicsDebugShape"); RegisterPostProcessPipelineState((RenderNodeReference renderNodeReference, ref RenderNode renderNode, RenderObject renderObject, PipelineStateDescription pipelineState) => { if (renderNode.RenderStage == physicsDebugShapeRenderStage) { pipelineState.RasterizerState = RasterizerStates.Wireframe; } }); RegisterRenderStageSelector(new SimpleGroupToRenderStageSelector { EffectName = MeshPipelinePlugin.DefaultEffectName, RenderStage = physicsDebugShapeRenderStage, }); }
public void Unload(PipelinePluginContext context) { }
public void Load(PipelinePluginContext context) { }