Exemple #1
0
 public void MapWater(Camera camera)
 {
     camera.Reflecting = false;
     Plane refractionPlane = CreatePlane(waterHeight + 1.5f, Vector3.Down, camera, false);
     camera.SetParam("ClipPlane0", new Vector4(refractionPlane.Normal, refractionPlane.D));
     camera.SetParam("Clipping", true);
     camera.device.SetRenderTarget(refractionT);
     camera.device.Clear(ClearOptions.Target | ClearOptions.DepthBuffer | ClearOptions.Stencil, Color.Transparent, 1.0f, 0);
     DrawGround(camera, false);
     camera.RevertTarget();
     camera.SetParam("Clipping", false);
     refractionMap = refractionT;
 }
Exemple #2
0
 public void MapMirror(Camera camera, Sky sky)
 {
     camera.Reflecting = true;
     Plane reflectionPlane = CreatePlane(waterHeight - 0.5f, Vector3.Down, camera, true);
     camera.SetParam("ClipPlane0", new Vector4(reflectionPlane.Normal, reflectionPlane.D));
     camera.SetParam("Clipping", true);
     camera.SetTarget(reflectionT);
     camera.device.Clear(ClearOptions.Target | ClearOptions.DepthBuffer | ClearOptions.Stencil, Color.SteelBlue, 1.0f, 0);
     sky.DrawClouds(camera);
     DrawGround(camera, true);
     camera.SetParam("Clipping", false);
     camera.RevertTarget();
     reflectionMap = reflectionT;
 }