2009-03-30 14 views
3

私はImageBrushでレンダリングしようとしている3DプレーンをDiffuseMaterial.Brushとして持っています。私はSolidColorBrushを使用する場合、平面が正常に表示されますが、ImageBrushまたはVisualBrushで何も得られません。WPF 3D - ImageBrushがレンダリングされないのはなぜですか?

誰でも私にその理由を教えてもらえますか?ここにコードがあります。

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

答えて

5

は、私はレンダリングするブラシのマッピング座標を提供するために必要な、

それを手に入れました。 MeshhGeometry3Dは、次のようになります -

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