5

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 であるため、私が期待しているのは赤い三角形ですが、得られるのはの三角形です! 私の理解を修正し、より大きなモデルに進むことができるように、誰かがこの動作を説明してもらえますか? ありがとう!

4

2 に答える 2

1

WPF での 2D から 3D へのマッピング手順に関する役立つ説明については、Daniel Lehenbauer のブログを参照してください 。

于 2013-10-11T03:34:52.923 に答える