public TerrainDeformableCoverContainer(RenderManager RenderManager, WorldFile File, TerrainGeometryContainer TerrainGeometry, SettingsContainer WorldSettings, SceneRenderTarget FromBelowDepth) { WorldFile = File; Name = "Cover: " + File.FileName; InitializeGeometry(RenderManager); FromBelowDepthTarget = FromBelowDepth; TerrainBottom = TerrainGeometry; DisplacementTarget = new RenderTarget2D(RenderManager.Graphics, FromBelowDepthTarget.GetWidth(), FromBelowDepthTarget.GetHeight(), false, SurfaceFormat.Single, DepthFormat.Depth24Stencil8); DisplacementSimulator = new OffScreenTarget("Displacement", RenderManager.Graphics, RenderManager.Shaders["TerrainCoverDisplacement"].Clone()); DisplacementSimulator.SetTargetPing(DisplacementTarget); DisplacementSimulator.AttachOutPut("HeightMap", Geom.Shader); DisplacementSimulator.AddParameter("HeightMap", TerrainGeometry.HeightMap); DisplacementSimulator.AddParameter("FarPlane", WorldSettings.FromBelowFarPlane); DisplacementSimulator.AddParameter("DepthOffset", WorldFile.TerrainDepth); DisplacementSimulator.DebugTextureName = "SceneDepthDebug"; FromBelowDepthTarget.Attach(DisplacementSimulator.Shader); RenderManager.AddOffScreenTarget(DisplacementSimulator); }