■ MeshGeometry3D 엘리먼트 : TextureCoordinates 속성을 사용해 정육면체의 브러시 매핑하기
------------------------------------------------------------------------------------------------------------------------
▶ 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="horizontalScrollBar" DockPanel.Dock="Bottom" Orientation="Horizontal" Minimum="-180" Maximum="180" LargeChange="10" SmallChange="1" /> <ScrollBar Name="verticalScrollBar" DockPanel.Dock="Right" Orientation="Vertical" Minimum="-180" Maximum="180" LargeChange="10" SmallChange="1" /> <Viewport3D> <ModelVisual3D> <ModelVisual3D.Content> <Model3DGroup> <GeometryModel3D> <GeometryModel3D.Geometry> <MeshGeometry3D Positions="-0.5 0.5 0.5, 0.5 0.5 0.5, -0.5 -0.5 0.5, 0.5 -0.5 0.5, 0.5 0.5 -0.5, -0.5 0.5 -0.5, 0.5 -0.5 -0.5, -0.5 -0.5 -0.5, -0.5 0.5 -0.5, -0.5 0.5 0.5, -0.5 -0.5 -0.5, -0.5 -0.5 0.5, 0.5 0.5 0.5, 0.5 0.5 -0.5, 0.5 -0.5 0.5, 0.5 -0.5 -0.5, 0 0.5 0, 0.5 0.5 -0.5, -0.5 0.5 -0.5, -0.5 0.5 0.5, 0.5 0.5 0.5, 0.5 0.5 -0.5, 0 -0.5 0, 0.5 -0.5 -0.5, -0.5 -0.5 -0.5, -0.5 -0.5 0.5, 0.5 -0.5 0.5, 0.5 -0.5 -0.5" TriangleIndices=" 0 2 1, 1 2 3 4 6 5, 5 6 7, 8 10 9, 9 10 11, 12 14 13, 13 14 15, 16 17 18, 16 18 19, 16 19 20, 16 20 21, 22 24 23, 22 25 24, 22 26 25, 22 27 26" TextureCoordinates= "0.50 0.2, 0.75 0.2, 0.50 0.8, 0.75 0.8, 0.00 0.2, 0.25 0.2, 0.00 0.8, 0.25 0.8, 0.25 0.2, 0.50 0.2, 0.25 0.8, 0.50 0.8, 0.75 0.2, 1.00 0.2, 0.75 0.8, 1.00 0.8, 0.50 0, 0 0.2, 0.25 0.2, 0.50 0.2, 0.75 0.2, 1.00 0.2, 0.50 1, 0 0.8, 0.25 0.8, 0.50 0.8, 0.75 0.8, 1.00 0.8" /> </GeometryModel3D.Geometry> <GeometryModel3D.Material> <DiffuseMaterial> <DiffuseMaterial.Brush> <ImageBrush ImageSource="./sample.jpg" /> </DiffuseMaterial.Brush> </DiffuseMaterial> </GeometryModel3D.Material> <GeometryModel3D.Transform> <Transform3DGroup> <RotateTransform3D> <RotateTransform3D.Rotation> <AxisAngleRotation3D Axis="0 1 0" Angle="{Binding ElementName=horizontalScrollBar, Path=Value}" /> </RotateTransform3D.Rotation> </RotateTransform3D> <RotateTransform3D> <RotateTransform3D.Rotation> <AxisAngleRotation3D Axis="1 0 0" Angle="{Binding ElementName=verticalScrollBar, Path=Value}" /> </RotateTransform3D.Rotation> </RotateTransform3D> </Transform3DGroup> </GeometryModel3D.Transform> </GeometryModel3D> <AmbientLight Color="White" /> </Model3DGroup> </ModelVisual3D.Content> </ModelVisual3D> <Viewport3D.Camera> <PerspectiveCamera Position="0 0 4" LookDirection="0 0 -1" UpDirection="0 1 0" FieldOfView="45" /> </Viewport3D.Camera> </Viewport3D> </DockPanel> </Window>
|
------------------------------------------------------------------------------------------------------------------------
'C# > WPF' 카테고리의 다른 글
[C#/WPF] DrawingBrush 엘리먼트 사용하기 (0) | 2019.08.26 |
---|---|
[C#/WPF] VisualBrush 엘리먼트 사용하기 (0) | 2019.08.25 |
[C#/WPF] VisualBrush 엘리먼트 사용하기 (0) | 2019.08.25 |
[C#/WPF] VisualBrush 엘리먼트 : Visual 속성을 사용해 텍스트 표시하기 (0) | 2019.08.25 |
[C#/WPF] DrawingBrush 엘리먼트 사용하기 (0) | 2019.08.24 |
[C#/WPF] MeshGeometry3D 엘리먼트 : TextureCoordinates 속성을 사용해 정육면체의 브러시 매핑하기 (0) | 2019.08.24 |
[C#/WPF] MeshGeometry3D 엘리먼트 : TextureCoordinates 속성을 사용해 정육면체의 브러시 매핑하기 (0) | 2019.08.24 |
[C#/WPF] ImageBrush 엘리먼트 : Viewport 속성 사용하기 (0) | 2019.08.24 |
[C#/WPF] ImageBrush 엘리먼트 사용하기 (0) | 2019.08.21 |
[C#/WPF] MeshGeometry3D 엘리먼트 : TextureCoordinates 속성을 사용해 12면체의 브러시 매핑하기 (0) | 2019.08.21 |
[C#/WPF] MeshGeometry3D 엘리먼트 : TextureCoordinates 속성을 사용해 피라미드의 브러시 매핑하기 (0) | 2019.08.21 |
댓글을 달아 주세요