■ MeshGeometry3D 엘리먼트 : TextureCoordinates 속성을 사용해 피라미드의 브러시 매핑하기

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


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="MeshGeometry3D 엘리먼트 : TextureCoordinates 속성을 사용해 피라미드의 브러시 매핑하기"

    FontFamily="나눔고딕코딩"

    FontSize="16">

    <DockPanel>

        <ScrollBar Name="scrollBar" DockPanel.Dock="Bottom"

            Orientation="Horizontal"

            Minimum="-180"

            Maximum="180"

            LargeChange="10"

            SmallChange="1" />

        <Viewport3D>

            <ModelVisual3D>

                <ModelVisual3D.Content>

                    <Model3DGroup>

                        <GeometryModel3D>

                            <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"

                                    TextureCoordinates="1 0, 0 1, 1 1,

                                                        1 0, 0 1, 0 0,

                                                        1 0, 0 0, 0 1,

                                                        1 0, 1 1, 0 1" />

                            </GeometryModel3D.Geometry>

                            <GeometryModel3D.Material>

                                <DiffuseMaterial>

                                    <DiffuseMaterial.Brush>

                                        <LinearGradientBrush StartPoint="0 0" EndPoint="1 1">

                                            <GradientStop Offset="0"   Color="#ff0000" />

                                            <GradientStop Offset="0.2" Color="#ffff00" />

                                            <GradientStop Offset="0.4" Color="#00ff00" />

                                            <GradientStop Offset="0.6" Color="#00ffff" />

                                            <GradientStop Offset="0.8" Color="#0000ff" />

                                            <GradientStop Offset="1"   Color="#ff00ff" />

                                        </LinearGradientBrush>

                                    </DiffuseMaterial.Brush>

                                </DiffuseMaterial>

                            </GeometryModel3D.Material>

                            <GeometryModel3D.Transform>

                                <RotateTransform3D>

                                    <RotateTransform3D.Rotation>

                                        <AxisAngleRotation3D

                                            Axis="0 1 0"

                                            Angle="{Binding ElementName=scrollBar, Path=Value}" />

                                    </RotateTransform3D.Rotation>

                                </RotateTransform3D>

                            </GeometryModel3D.Transform>

                        </GeometryModel3D>

                        <AmbientLight Color="Gray" />

                        <DirectionalLight

                            Color="Gray"

                            Direction="2 -3 -1" />

                    </Model3DGroup>

                </ModelVisual3D.Content>

            </ModelVisual3D>

            <Viewport3D.Camera>

                <PerspectiveCamera

                    Position="-2 2.3 4"

                    LookDirection="2 -2 -4"

                    UpDirection="0 1 0"

                    FieldOfView="22.5" />

            </Viewport3D.Camera>

        </Viewport3D>

    </DockPanel>

</Window>

 

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

Posted by 사용자 icodebroker

댓글을 달아 주세요