<Page Background="Black"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Viewport3D>
    <Viewport3D.Camera>
      <OrthographicCamera Position="5,5,5" LookDirection="-1,-1,-1" Width="10"/>
    </Viewport3D.Camera>
    <Viewport3D.Children>
      <ModelVisual3D x:Name="Light">
        <ModelVisual3D.Content>
          <AmbientLight/>
        </ModelVisual3D.Content>
      </ModelVisual3D>
      <ModelVisual3D>
        <ModelVisual3D.Transform>
          <x:Static Member="Transform3D.Identity"/>
        </ModelVisual3D.Transform>
        <ModelVisual3D.Content>
          <Model3DGroup x:Name="House">

            <GeometryModel3D x:Name="Roof">
              <GeometryModel3D.Material>
                <DiffuseMaterial Brush="Blue"/>
              </GeometryModel3D.Material>
              <GeometryModel3D.Geometry>
                <MeshGeometry3D Positions="-1,1,1 0,2,1 0,2,-1 -1,1,-1 0,2,1 1,1,1
                                  1,1,-1 0,2,-1"
                                TriangleIndices="0 1 2 0 2 3 4 5 6 4 6 7"/>
              </GeometryModel3D.Geometry>
            </GeometryModel3D>

            <GeometryModel3D x:Name="Sides">
              <GeometryModel3D.Material>
                <DiffuseMaterial Brush="Green"/>
              </GeometryModel3D.Material>
              <GeometryModel3D.Geometry>
                <MeshGeometry3D Positions="-1,1,1 -1,1,-1 -1,-1,-1 -1,-1,1 1,1,-1
                                  1,1,1 1,-1,1 1,-1,-1"
                                TriangleIndices="0 1 2 0 2 3 4 5 6 4 6 7"/>
              </GeometryModel3D.Geometry>
            </GeometryModel3D>

            <GeometryModel3D x:Name="Ends">
              <GeometryModel3D.Material>
                <DiffuseMaterial Brush="Red"/>
              </GeometryModel3D.Material>
              <GeometryModel3D.Geometry>
                <MeshGeometry3D
                  Positions="-0.25,0,1 -1,1,1 -1,-1,1 -0.25,-1,1 -0.25,0,1
                    -1,-1,1 0.25,0,1 1,-1,1 1,1,1 0.25,0,1 0.25,-1,1 1,-1,1
                    1,1,1 0,2,1 -1,1,1 -1,1,1 -0.25,0,1 0.25,0,1 1,1,1 1,1,-1
                    1,-1,-1 -1,-1,-1 -1,1,-1 1,1,-1 -1,1,-1 0,2,-1"
                  TriangleIndices="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 15
                   17 18 19 20 21 19 21 22 23 24 25"/>
              </GeometryModel3D.Geometry>
            </GeometryModel3D>

          </Model3DGroup>
        </ModelVisual3D.Content>
      </ModelVisual3D>
    </Viewport3D.Children>
  </Viewport3D>
</Page>
