public PrismMeshScene() { DefaultFloor(); Light(1, 1, -1); Add(BuildPolygon(3).Scale(0.2, 0.25, 0.2).Translate(tx: -0.75, tz: 0)); Add(BuildPolygon(4).Scale(0.2, 0.25, 0.2).Translate(tx: -0, tz: 0.75)); Add(BuildPolygon(5).Scale(0.2, 0.25, 0.2).Translate(tx: 0.75, tz: 0.5)); Add(BuildPolygon(6).Scale(0.2, 0.25, 0.2).Translate(tx: 0.5, tz: -0.5)); IEnumerable <Tuple> points = new Tuple[] { Helper.CreatePoint(-3, 0, 5), Helper.CreatePoint(3, 0, 5), Helper.CreatePoint(3, 0, 3), Helper.CreatePoint(-1, 0, 3), Helper.CreatePoint(-1, 0, 1), Helper.CreatePoint(1, 0, 1), Helper.CreatePoint(1, 0, -1), Helper.CreatePoint(-1, 0, -1), Helper.CreatePoint(-1, 0, -3), Helper.CreatePoint(3, 0, -3), Helper.CreatePoint(3, 0, -5), Helper.CreatePoint(-3, 0, -5) }; var mesh = new PrismMesh(points); var triangleMeshFactory = new TriangleMeshFactory(false); var letterE = (triangleMeshFactory.Build(mesh).Scale(0.1).Rotate(ry: Math.PI / 4)); letterE.Material.Pattern = new SolidPattern(Color._Blue); Add(letterE); }