using System; using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace Nuclex.Graphics.SpecialEffects.Terrain { #if false /// Manages the rendering of terrain based on a regular grid public class GridTerrain where VertexType : struct { #region interface IVertexSetter /// /// Used to assign values to specific components of the grid's vertices /// public interface IVertexSetter { /// Sets the position of a vertex /// Vertex whose position will be set /// Position that will be assigned to the vertex void SetPosition(ref VertexType vertex, Vector3 position); /// Sets the texture coordinates of a vertex /// Vertex whose texture coordinates will be set /// /// Texture coordinates that will be assigned to the vertex /// void SetTextureCoordinate(ref VertexType vertex, Vector2 textureCoordinate); } #endregion // interface IVertexSetter /// Initializes a new grid-based terrain /// Graphics device the terrain is rendered on /// Vertex elements of the provided vertex type /// Number of quadrilaterals in the terrain public GridTerrain( GraphicsDevice graphicsDevice, VertexElement[] vertexElements, Point size ) { } /// Vertex declaration for the vertices in the grid private VertexDeclaration vertexDeclaration; /// Vertex buffer containing the grid vertices private DynamicVertexBuffer vertexBuffer; /// Index buffer containing the indices to the vertex buffer private IndexBuffer indexBuffer; /// Graphics device the grid will be rendered with private GraphicsDevice graphicsDevice; } #endif } // namespace Nuclex.Graphics.SpecialEffects.Terrain