此示例展示了如何将纹理应用于三角形,以使场景比覆盖纯色的场景更逼真。以下是为三角形添加纹理的基本步骤。
- 创建一个MeshGeometry3D对象。
- 像往常一样定义三角形的点和法线。
- 通过向网格的TextureCoordinates集合添加值来设置三角形的纹理坐标。
- 创建一个使用想要显示的纹理的 ImageBrush 。
- 使用画笔创建材质并像往常一样将其应用到网格上。
此步骤列表忽略了以下章节中描述的一些细节。
纹理坐标
纹理坐标从纹理图像的左上角开始测量,向右向下增加。左上角的坐标为 (0, 0),右下角的坐标为 (1, 1),如右图所示。这些坐标通常称为 U 和 V 坐标,而不是 X 和 Y 坐标。
由于 WPF 为三角形着色的方式有一个奇怪的“特性”,它似乎会缩放实际使用的纹理坐标,因此程序会使用纹理的整个宽度和高度。如果您的三角形使用覆盖整个 0 到 1 范围的纹理