protected override void CreateScene() { // Set ambient light SceneMgr.AmbientLight = new ColourValue(0.7F, 0.7F, 0.7F); // Create a skydome //SceneMgr.SetSkyDome(true, "Examples/CloudySky", 5, 8); //SceneMgr.SetSkyBox(true, "Examples/StormySkyBox", 200f, true); SceneMgr.SetSkyBox(true, "Examples/CloudyNoonSkyBox", 200f, true); // Define a floor plane mesh Mogre.Plane p; p.normal = Vector3.UNIT_Y; p.d = 50f; MeshManager.Singleton.CreatePlane("FloorPlane", ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME, p, 1000F, 1000F, 20, 20, true, 1, 10F, 10F, Vector3.UNIT_Z); putMeshMat("FloorPlane", "Examples/GrassFloor", Vector3.ZERO, false); // // Create a light Light l = SceneMgr.CreateLight("MainLight"); l.Type = (Light.LightTypes.LT_POINT); //l. = 200; l.Direction = (new Vector3(0, -1, 1).NormalisedCopy); l.DiffuseColour = (new ColourValue(0.5f, 0.5f, 0.5f)); l.SpecularColour = (new ColourValue(0.1f, 0.1f, 0.1f)); // Accept default settings: point light, white diffuse, just set position // NB I could attach the light to a SceneNode if I wanted it to move automatically with // other objects, but I don't l.Position = new Vector3(20F, 30F, 20F); //SceneMgr.RootSceneNode.AttachObject(l); //throw new NotImplementedException(); _cameraCtl = new CameraMan(base.Camera); _cameraCtl.FastMove = false; // Generates every type of primitive new PlaneGenerator().setNumSegX(20).setNumSegY(20).setSizeX(150f).setSizeY(150f).setUTile(5.0f).setVTile(5.0f).realizeMesh("planeMesh"); putMesh2("planeMesh", new Vector3(0, 0, 0)); new SphereGenerator().setRadius(2.0f).setUTile(5.0f).setVTile(5.0f).realizeMesh("sphereMesh"); putMesh("sphereMesh", new Vector3(0, 10, 0)); new CylinderGenerator().setHeight(3.0f).setRadius(1.0f).setUTile(3.0f).realizeMesh("cylinderMesh"); putMesh("cylinderMesh", new Vector3(10, 10, 0)); new TorusGenerator().setRadius(3.0f).setSectionRadius(1.0f).setUTile(10.0f).setVTile(5.0f).realizeMesh("torusMesh"); putMesh("torusMesh", new Vector3(-10, 10, 0)); new ConeGenerator().setRadius(2.0f).setHeight(3.0f).setNumSegBase(36).setNumSegHeight(2).setUTile(3.0f).realizeMesh("coneMesh"); putMesh("coneMesh", new Vector3(0, 10, -10)); new TubeGenerator().setHeight(3.0f).setUTile(3.0f).realizeMesh("tubeMesh"); putMesh("tubeMesh", new Vector3(-10, 10, -10)); new BoxGenerator().setSizeX(2.0f).setSizeY(4.0f).setSizeZ(6.0f).realizeMesh("boxMesh"); putMesh("boxMesh", new Vector3(10, 10, -10)); // new CapsuleGenerator().setHeight(2.0f).realizeMesh("capsuleMesh"); putMesh("capsuleMesh", new Vector3(0, 10, 10)); TorusKnotGenerator tkg = (new TorusKnotGenerator().setRadius(2.0f).setSectionRadius(0.5f).setUTile(3.0f) as TorusKnotGenerator); tkg.setNumSegCircle(64).setNumSegSection(16).realizeMesh("torusKnotMesh"); putMesh("torusKnotMesh", new Vector3(-10, 10, 10)); // new IcoSphereGenerator().setRadius(2.0f).setNumIterations(3).setUTile(5.0f).setVTile(5.0f).realizeMesh("icoSphereMesh"); putMesh("icoSphereMesh", new Vector3(10, 10, 10)); new RoundedBoxGenerator().setSizeX(1.0f).setSizeY(5.0f).setSizeZ(5.0f).setChamferSize(1.0f).realizeMesh("roundedBoxMesh"); putMesh("roundedBoxMesh", new Vector3(20, 10, 10)); new SpringGenerator().setNumSegCircle(32).setNumSegPath(30).realizeMesh("springMesh"); putMesh("springMesh", new Vector3(20, 10, 0)); }