WPF 3D のテクスチャ座標を理解しようとする試みでは、次のように、1 つの三角形、線形グラデーション ブラシ、およびテクスチャ座標という非常に単純な例から始めました。
<Viewport3D>
<ModelVisual3D>
<ModelVisual3D.Content>
<Model3DGroup>
<GeometryModel3D>
<!-- Geometry -->
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="10 10 0,
20 10 0,
15 15 0"
TriangleIndices="0 1 2"
TextureCoordinates="0.5 0.0,
0.5 0.0,
0.5 0.0" />
</GeometryModel3D.Geometry>
<!-- Foreground and background brushes -->
<GeometryModel3D.Material>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
<LinearGradientBrush.GradientStops>
<GradientStop Color="Red" Offset="0.0"/>
<GradientStop Color="Yellow" Offset="0.50"/>
<GradientStop Color="Green" Offset="1.0"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</GeometryModel3D.Material>
<GeometryModel3D.BackMaterial>
<DiffuseMaterial Brush="Blue" />
</GeometryModel3D.BackMaterial>
</GeometryModel3D>
<!-- Lighting -->
<AmbientLight Color="White" />
</Model3DGroup>
</ModelVisual3D.Content>
</ModelVisual3D>
<!-- Camera -->
<Viewport3D.Camera>
<PerspectiveCamera Position="15 12 10"
LookDirection="0 0 -1"
UpDirection="0 1 0"
FieldOfView="90">
</PerspectiveCamera>
</Viewport3D.Camera>
</Viewport3D>
テクスチャのすべての y 座標が 0.0 であるため、私が期待しているのは赤い三角形ですが、得られるのは緑の三角形です! 私の理解を修正し、より大きなモデルに進むことができるように、誰かがこの動作を説明してもらえますか? ありがとう!