我有一个WPF 3d对象,文本块文本反向显示。为什么?

时间:2013-06-28 01:49:13

标签: wpf

enter image description here我的应用程序中有以下代码,文本块反向显示。如何正常显示文字

<GeometryModel3D x:Name="Front">
    <GeometryModel3D.Material>
        <DiffuseMaterial>
            <DiffuseMaterial.Brush>
                <VisualBrush>
                    <VisualBrush.Visual>
                        <StackPanel>
                            <TextBlock FontSize="10pt" Margin="2">Hello, from the Front!</TextBlock>
                            <Button Margin="2">A Button</Button>
                        </StackPanel>
                    </VisualBrush.Visual>
                </VisualBrush>
            </DiffuseMaterial.Brush>
        </DiffuseMaterial>
    </GeometryModel3D.Material>
    <GeometryModel3D.Geometry>
        <MeshGeometry3D Positions="1,1,1 -1,1,1 -1,-1,1 1,-1,1"
            TextureCoordinates="1,1 0,1 0,0 1,0"
            TriangleIndices="0 1 2 0 2 3"/>
    </GeometryModel3D.Geometry>
</GeometryModel3D>

1 个答案:

答案 0 :(得分:0)

这纯粹是一个TextureCoordinates的问题,你只需要完全镜像它们,将所有1改为0,将所有0改为1:

TextureCoordinates="0,0 1,0 1,1 0,1"

延伸回答:
纹理坐标的定义顺序与顶点(位置)的顺序相同,因此每个顶点都包含一个UV(纹理空间中的xy),以表示将哪个像素映射到该顶点。与标准信息学图形的经典差异在于0,0产生左下角而不是左上角(纹理图像)。并且顶点之间(表面上)的值由光栅化器插值。