WPF Model3DGroup

<Window x:Class="WpfApp108.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp108"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Viewport3D ClipToBounds="true" Canvas.Top="10">
        <Viewport3D.Camera>
            <OrthographicCamera Position="5,5,5"
                                LookDirection="-1,-1,-1"
                                Width="5"/>
        </Viewport3D.Camera>
        <Viewport3D.Children>
            <ModelVisual3D>
                <ModelVisual3D.Content>
                    <Model3DGroup x:Name="Cube">
                        <GeometryModel3D x:Name="Front">
                            <GeometryModel3D.Material>
                                <DiffuseMaterial Brush="Orange"/>
                            </GeometryModel3D.Material>
                            <GeometryModel3D.Geometry>
                                <MeshGeometry3D Positions="1,1,1 -1,1,1 -1,-1,1 1,-1,1"
                                                        TextureCoordinates="1,1 0,1 0,0 1,0"
                                                        TriangleIndices="0 1 2 0 2 3"/>
                            </GeometryModel3D.Geometry>
                        </GeometryModel3D>

                        <GeometryModel3D x:Name="Right">
                            <GeometryModel3D.Material>
                                <DiffuseMaterial Brush="Yellow"/>
                            </GeometryModel3D.Material>
                            <GeometryModel3D.Geometry>
                                <MeshGeometry3D
                                            Positions="1,1,-1 -1,1,-1 -1,1,1 1,1,1"
                                            TextureCoordinates="0,0 1,0 1,1 0,1"
                                            TriangleIndices="0 1 2 0 2 3"/>
                            </GeometryModel3D.Geometry>
                        </GeometryModel3D>

                        <GeometryModel3D x:Name="Back">
                            <GeometryModel3D.Material>
                                <DiffuseMaterial Brush="Red"/>
                            </GeometryModel3D.Material>
                            <GeometryModel3D.Geometry>
                                <MeshGeometry3D Positions="-1,-1,-1 -1,1,-1 1,1,-1, 1,-1,-1"
                                                        TextureCoordinates="1,0 1,1 0,1 0,0"
                                                        TriangleIndices="0 1 2 0 2 3"/>
                            </GeometryModel3D.Geometry>
                        </GeometryModel3D>

                        <GeometryModel3D x:Name="Left">
                            <GeometryModel3D.Material>
                                <DiffuseMaterial Brush="Blue"/>
                            </GeometryModel3D.Material>
                            <GeometryModel3D.Geometry>
                                <MeshGeometry3D
                                            Positions="-1,1,1 -1,1,-1 -1,-1,-1 -1,-1,1"
                                            TextureCoordinates="1,1 0,1 0,0 1,0"
                                            TriangleIndices="0 1 2 0 2 3"/>
                            </GeometryModel3D.Geometry>
                        </GeometryModel3D>

                        <GeometryModel3D x:Name="Top">
                            <GeometryModel3D.Material>
                                <DiffuseMaterial Brush="Green"/>
                            </GeometryModel3D.Material>
                            <GeometryModel3D.Geometry>
                                <MeshGeometry3D Positions="1,-1,1 1,-1,-1 1,1,-1 1,1,1"
                                                        TextureCoordinates="1,1 0,1 0,0 1,0"
                                                        TriangleIndices="0 1 2 0 2 3"/>
                            </GeometryModel3D.Geometry>
                        </GeometryModel3D>

                        <GeometryModel3D x:Name="Bottom">
                            <GeometryModel3D.Material>
                                <DiffuseMaterial Brush="Purple"/>
                            </GeometryModel3D.Material>
                            <GeometryModel3D.Geometry>
                                <MeshGeometry3D Positions="-1,-1,1 -1,-1,-1 1,-1,-1 1,-1,1"
                                                        TextureCoordinates="0,1 0,0 1,0 1,1"
                                                        TriangleIndices="0 1 2 0 2 3"/>
                            </GeometryModel3D.Geometry>
                        </GeometryModel3D>
                    </Model3DGroup>
                </ModelVisual3D.Content>
            </ModelVisual3D>
        </Viewport3D.Children>
    </Viewport3D>

</Window>

 

 

 

 

posted @ 2024-12-29 15:19  FredGrit  阅读(18)  评论(0)    收藏  举报