void AddCube() { scene.Root.AddChildren(node = new Node(new StringBuilder("Cube"))); // A cube with six faces, each one with its own material cubeMesh = GeometryFactory.CreateCube(editorEngine); for (int numFace = 0; numFace < 6; numFace++) { Material material = new Material("standard"); MaterialLayer layer = material.CreateLayer(); layer.ShaderID = 0; layer.DiffuseMap = editorEngine.Textures.CreateTexture2DFromFile(new StringBuilder((numFace + 1).ToString())); if (numFace == 0) { layer.NormalMap = editorEngine.Textures.CreateTexture2DFromFile(new StringBuilder("bump_NM_height")); } cubeMesh.Materials.Add(material); } node.ScaleX = 30; node.ScaleZ = 30; node.ScaleY = 0.01f; //mesh.Visible = false; node.AddRenderable(cubeMesh); // A new node scene.Root.AddChildren(node2 = new Node(new StringBuilder("clone"))); node2.Position = new AIOEngine.MathSpace.Vector3(2, 1, 0); RenderableMeshMultiMaterial mesh2 = cubeMesh.Clone(); //node2.AddRenderable(mesh2); mesh2.Visible = false; mesh2.DrawBounding = true; }