■ VisualBrush 엘리먼트의 Visual 속성을 사용해 텍스트를 표시하는 방법을 보여준다.
▶ MainWindow.xaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
<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="VisualBrush 엘리먼트 : Visual 속성을 사용해 텍스트 표시하기" FontFamily="나눔고딕코딩" FontSize="16"> <Window.Resources> <DiffuseMaterial x:Key="TextDiffuseMaterialKey"> <DiffuseMaterial.Brush> <VisualBrush RenderOptions.CachingHint="Cache"> <VisualBrush.Visual> <TextBlock Text="3D 문자열" /> </VisualBrush.Visual> </VisualBrush> </DiffuseMaterial.Brush> </DiffuseMaterial> </Window.Resources> <Viewport3D> <ModelVisual3D> <ModelVisual3D.Content> <GeometryModel3D Material="{StaticResource TextDiffuseMaterialKey}" BackMaterial="{StaticResource TextDiffuseMaterialKey}"> <GeometryModel3D.Geometry> <MeshGeometry3D Positions="0 0 0, 0 1 0, 1 0 0, 1 1 0" TriangleIndices="0 2 3, 0 3 1" TextureCoordinates="0 1, 0 0, 1 1, 1 0" /> </GeometryModel3D.Geometry> <GeometryModel3D.Transform> <RotateTransform3D> <RotateTransform3D.Rotation> <AxisAngleRotation3D x:Name="axisAngleRotation3D" Axis="0 1 0" /> </RotateTransform3D.Rotation> </RotateTransform3D> </GeometryModel3D.Transform> </GeometryModel3D> </ModelVisual3D.Content> </ModelVisual3D> <ModelVisual3D> <ModelVisual3D.Content> <AmbientLight Color="White" /> </ModelVisual3D.Content> </ModelVisual3D> <Viewport3D.Camera> <PerspectiveCamera Position="0 0.5 1.5" LookDirection="0 0 -1" UpDirection="0 1 0" FieldOfView="120" /> </Viewport3D.Camera> </Viewport3D> <Window.Triggers> <EventTrigger RoutedEvent="Window.Loaded"> <BeginStoryboard> <Storyboard TargetName="axisAngleRotation3D" TargetProperty="Angle"> <DoubleAnimation From="360" To="0" Duration="0:0:10" RepeatBehavior="Forever" /> </Storyboard> </BeginStoryboard> </EventTrigger> </Window.Triggers> </Window> |