public void AddParticlePipeline(RenderPipeline pipeline) { var particlePipeline = ParticlePipeline.Create(this.Device, this.MeterRegistry); particlePipeline .ClearParticleRenderTargets() .RenderTransparentParticles(this.TransparentParticleSystem) .RenderAdditiveParticles(this.AdditiveParticleSystem); pipeline .ClearRenderTargetSet() .RenderParticles(particlePipeline); }
public void AddAll(RenderPipeline pipeline) { var shadowPipeline = ShadowPipeline.Create(this.Device, this.MeterRegistry); var lightingPipeline = LightingPipeline.Create(this.Device, this.MeterRegistry); var modelPipeline = ModelPipeline.Create(this.Device, this.MeterRegistry); var particlePipeline = ParticlePipeline.Create(this.Device, this.MeterRegistry); var projectorPipeline = ProjectorPipeline.Create(this.Device, this.MeterRegistry); shadowPipeline .RenderShadowMaps(this.ShadowMapSystem); lightingPipeline .ClearLightTargets() .RenderAmbientLight(this.AmbientLightSystem, true) .RenderDirectionalLights(this.DirectionalLightSystem) .RenderPointLights(this.PointLightSystem) .RenderShadowCastingLights(this.ShadowCastingLightSystem) .RenderSunlights(this.SunlightSystem); projectorPipeline .RenderProjectors(this.ProjectorSystem); this.ProjectorSystem.Technique = Effects.Techniques.ProjectorEffectTechniques.Projector; modelPipeline .ClearModelRenderTargets() .RenderModelBatch() .RenderProjectors(projectorPipeline) .RenderLights(lightingPipeline) .CombineDiffuseWithLighting(this.CombineEffect) .AntiAlias(this.FxaaEffect, 4); particlePipeline .ClearParticleRenderTargets() .RenderTransparentParticles(this.TransparentParticleSystem) .RenderAdditiveParticles(this.AdditiveParticleSystem); pipeline .ClearRenderTargetSet() .RenderShadows(shadowPipeline) .RenderModels(this.ModelSystem, modelPipeline) .RenderParticles(particlePipeline); }