public void TestSimpleConstructor() { using( WaterSurface surface = new WaterSurface( this.mockedGraphicsDeviceService.GraphicsDevice, new Vector2(-10.0f, -10.0f), new Vector2(10.0f, 10.0f) ) ) { Assert.IsNotNull(surface); // Nonsense; avoids compiler warning } }
public void TestDrawWaterPlane() { Effect waterSurfaceEffect = this.contentManager.Load<Effect>( "WaterSurfaceEffect" ); using( WaterSurface surface = new WaterSurface( this.mockedGraphicsDeviceService.GraphicsDevice, new Vector2(-10.0f, -10.0f), new Vector2(10.0f, 10.0f), 4, 4 ) ) { surface.SelectVertexAndIndexBuffer(); #if XNA_4 EffectTechnique technique = waterSurfaceEffect.CurrentTechnique; for(int pass = 0; pass < technique.Passes.Count; ++pass) { technique.Passes[pass].Apply(); surface.DrawWaterPlane(new GameTime(), Camera.DefaultOrthographic); } #else waterSurfaceEffect.Begin(); try { EffectTechnique technique = waterSurfaceEffect.CurrentTechnique; for(int pass = 0; pass < technique.Passes.Count; ++pass) { technique.Passes[pass].Begin(); try { surface.DrawWaterPlane(new GameTime(), Camera.DefaultOrthographic); } finally { technique.Passes[pass].End(); } } } finally { waterSurfaceEffect.End(); } #endif } }
public void TestGraphicsDeviceReset() { using( WaterSurface surface = new WaterSurface( this.mockedGraphicsDeviceService.GraphicsDevice, new Vector2(-10.0f, -10.0f), new Vector2(10.0f, 10.0f), 4, 4 ) ) { this.mockedGraphicsDeviceService.ResetDevice(); surface.UpdateReflection( new GameTime(), Camera.DefaultOrthographic, new WaterSurface.SceneDrawDelegate(drawReflection) ); Assert.IsNotNull(surface.ReflectionCamera); Assert.IsNotNull(surface.ReflectionTexture); } }
public void TestSelectIndexAndVertexBuffer() { using( WaterSurface surface = new WaterSurface( this.mockedGraphicsDeviceService.GraphicsDevice, new Vector2(-10.0f, -10.0f), new Vector2(10.0f, 10.0f), 4, 4 ) ) { GraphicsDevice graphicsDevice = this.mockedGraphicsDeviceService.GraphicsDevice; graphicsDevice.Indices = null; #if XNA_4 graphicsDevice.SetVertexBuffer(null); #else graphicsDevice.Vertices[0].SetSource( null, 0, 0 ); #endif Assert.IsNull(graphicsDevice.Indices); #if XNA_4 Assert.AreEqual(0, graphicsDevice.GetVertexBuffers().Length); #else Assert.IsNull(graphicsDevice.Vertices[0].VertexBuffer); #endif surface.SelectVertexAndIndexBuffer(); Assert.IsNotNull(graphicsDevice.Indices); #if XNA_4 Assert.IsNotNull(graphicsDevice.GetVertexBuffers()[0].VertexBuffer); #else Assert.IsNotNull(graphicsDevice.Vertices[0].VertexBuffer); #endif } }