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());
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        /// <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)
 {
 }