2009-03-30 9 views
3

J'ai un plan 3D que j'essaie de rendre avec un ImageBrush comme DiffuseMaterial.Brush. Si j'utilise un SolidColorBrush alors le plan semble bien mais je n'ai rien du tout avec un ImageBrush ou un VisualBrush.WPF 3D - Pourquoi mon ImageBrush n'est-il pas rendu?

Quelqu'un peut-il me dire pourquoi? Voici le code.

<ModelVisual3D> 
     <ModelVisual3D.Transform> 
      <RotateTransform3D CenterX="0" CenterY="0" CenterZ="0"> 
       <RotateTransform3D.Rotation> 
        <AxisAngleRotation3D Axis="0 1 0" Angle="90"/> 
       </RotateTransform3D.Rotation> 
      </RotateTransform3D> 
     </ModelVisual3D.Transform> 
     <ModelVisual3D.Content> 
      <GeometryModel3D> 
       <GeometryModel3D.Geometry> 
        <MeshGeometry3D x:Name="frontmesh" TriangleIndices=" 
            0 1 2 
            2 3 0"> 
         <MeshGeometry3D.Positions> 
          <MultiBinding Converter="{StaticResource front}"> 
           <Binding ElementName="UC" Path="CubeHeight" /> 
           <Binding ElementName="UC" Path="CubeWidth" /> 
           <Binding ElementName="UC" Path="CubeDepth" /> 
          </MultiBinding> 
         </MeshGeometry3D.Positions> 
        </MeshGeometry3D> 
       </GeometryModel3D.Geometry> 
       <GeometryModel3D.Material> 
        <DiffuseMaterial> 
         <DiffuseMaterial.Brush> 
          <ImageBrush ImageSource="CF.jpg" 
             AlignmentX="Center" AlignmentY="Center" 
             Stretch="Fill"/> 

         </DiffuseMaterial.Brush> 
        </DiffuseMaterial> 
       </GeometryModel3D.Material> 
      </GeometryModel3D> 
     </ModelVisual3D.Content> 
    </ModelVisual3D> 

Répondre

5

a obtenu,

I nécessaire pour fournir des coordonnées de carte pour la brosse à rendre. Le MeshhGeometry3D ressemble maintenant à ceci -

<MeshGeometry3D x:Name="frontmesh" TriangleIndices=" 
            0 1 2 
            2 3 0" 
            TextureCoordinates="0 1,1 1,1 0 ,0 0"> 
         <MeshGeometry3D.Positions> 
          <MultiBinding Converter="{StaticResource front}"> 
           <Binding ElementName="UC" Path="CubeHeight" /> 
           <Binding ElementName="UC" Path="CubeWidth" /> 
           <Binding ElementName="UC" Path="CubeDepth" /> 
          </MultiBinding> 
         </MeshGeometry3D.Positions> 
        </MeshGeometry3D> 
Questions connexes