■ GeometryModel3D 엘리먼트 : 리소스를 사용해 모델 공유하기

------------------------------------------------------------------------------------------------------------------------


TestProject.zip


MainWindow.xaml

 

 

<Window x:Class="TestProject.MainWindow"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Width="800"

    Height="600"

    Title="GeometryModel3D 엘리먼트 : 리소스를 사용해 모델 공유하기"

    Background="SkyBlue"

    FontFamily="나눔고딕코딩"

    FontSize="16">

    <Window.Resources>

        <GeometryModel3D x:Key="PyramidGeometryModel3DKey">

            <GeometryModel3D.Geometry>

                <MeshGeometry3D

                    Positions="0 1 0, -0.5 0  0.5,  0.5 0  0.5,

                               0 1 0,  0.5 0 -0.5, -0.5 0 -0.5,

                               0 1 0, -0.5 0 -0.5, -0.5 0  0.5,

                               0 1 0,  0.5 0  0.5,  0.5 0 -0.5"

                    TriangleIndices="0 1 2, 3 4 5, 6 7 8, 9 10 11" />

            </GeometryModel3D.Geometry>

            <GeometryModel3D.Material>

                <DiffuseMaterial Brush="Gray" />

            </GeometryModel3D.Material>

        </GeometryModel3D>

    </Window.Resources>

    <Viewport3D>

        <ModelVisual3D>

            <ModelVisual3D.Content>

                <GeometryModel3D>

                    <GeometryModel3D.Geometry>

                        <MeshGeometry3D

                            Positions="-1000 0     5, 1000 0     5,

                                       -1000 0 -1000, 1000 0 -1000"

                            TriangleIndices="0 1 2, 1 3 2" />

                    </GeometryModel3D.Geometry>

                    <GeometryModel3D.Material>

                        <DiffuseMaterial Brush="Gold" />

                    </GeometryModel3D.Material>

                </GeometryModel3D>

            </ModelVisual3D.Content>

        </ModelVisual3D>

        <ModelVisual3D Content="{StaticResource PyramidGeometryModel3DKey}" />

        <ModelVisual3D Content="{StaticResource PyramidGeometryModel3DKey}">

            <ModelVisual3D.Transform>

                <TranslateTransform3D

                    OffsetX="-1"

                    OffsetZ="-5" />

            </ModelVisual3D.Transform>

        </ModelVisual3D>

        <ModelVisual3D Content="{StaticResource PyramidGeometryModel3DKey}">

            <ModelVisual3D.Transform>

                <TranslateTransform3D

                    OffsetX="1.5"

                    OffsetZ="-10" />

            </ModelVisual3D.Transform>

        </ModelVisual3D>

        <ModelVisual3D Content="{StaticResource PyramidGeometryModel3DKey}">

            <ModelVisual3D.Transform>

                <TranslateTransform3D

                    OffsetX="3"

                    OffsetZ="-3" />

            </ModelVisual3D.Transform>

        </ModelVisual3D>

        <ModelVisual3D Content="{StaticResource PyramidGeometryModel3DKey}">

            <ModelVisual3D.Transform>

                <TranslateTransform3D

                    OffsetX="10"

                    OffsetZ="-25" />

            </ModelVisual3D.Transform>

        </ModelVisual3D>

        <ModelVisual3D Content="{StaticResource PyramidGeometryModel3DKey}">

            <ModelVisual3D.Transform>

                <TranslateTransform3D

                    OffsetX="0"

                    OffsetZ="-50" />

            </ModelVisual3D.Transform>

        </ModelVisual3D>

        <ModelVisual3D>

            <ModelVisual3D.Content>

                <Model3DGroup>

                    <AmbientLight Color="#404040" />

                    <DirectionalLight

                        Color="#c0c0c0"

                        Direction="2 -3 -1" />

                </Model3DGroup>

            </ModelVisual3D.Content>

        </ModelVisual3D>

        <Viewport3D.Camera>

            <PerspectiveCamera

                Position="-1 2 4"

                LookDirection="1 -1 -4"

                UpDirection="0 1 0"

                FieldOfView="45" />

        </Viewport3D.Camera>

    </Viewport3D>

</Window>

 

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker