I am trying to apply an image brush to a Triangle in WPF without success. What am i doing wrong?
This is my attempt:
Dim ModelTri As New MeshGeometry3D
ModelTri.Positions.Add(New Point3D(0, 0, 0))
ModelTri.Positions.Add(New Point3D(100, 0, 0))
ModelTri.Positions.Add(New Point3D(100, 100, 0))
Dim MeshTri As New MeshGeometry3D
MeshTri.TriangleIndices.Add(0)
MeshTri.TriangleIndices.Add(1)
MeshTri.TriangleIndices.Add(2)
'Texture
Dim TexturePoints As New PointCollection
TexturePoints.Add(New Point(100, 0))
TexturePoints.Add(New Point(0, 100))
TexturePoints.Add(New Point(100, 100))
MeshTri.TextureCoordinates = TexturePoints
'Image Brush
Dim imgBrush As New ImageBrush()
imgBrush.ImageSource = New BitmapImage(New Uri("Mercury.jpg", UriKind.Relative))
imgBrush.Stretch = Stretch.Fill
imgBrush.TileMode = TileMode.Tile
imgBrush.SetValue(NameProperty, "imgBrush")
Dim Mat As Material
Dim DMaterial As New DiffuseMaterial
DMaterial.Brush = imgBrush
Dim Bind As New Binding("imgBrush")
Bind.Source = imgBrush
BindingOperations.SetBinding(DMaterial, BindingGroupProperty, Bind)
'This doesnt work
Mat = DMaterial
'This works
'Mat = New DiffuseMaterial(New SolidColorBrush(Colors.Khaki))
Dim triangleModel As GeometryModel3D = New GeometryModel3D(ModelTri, Mat)
Dim model As New ModelVisual3D()
model.Content = triangleModel
Viewport.Children.Add(model)