8

WPF Viewport3D で立方体を描画する次のコードがあります。

        <Viewport3D Name="viewport3D1">
            <Viewport3D.Camera>
                <PerspectiveCamera x:Name="camMain" Position="6 5 4" LookDirection="-6 -5 -4">
                </PerspectiveCamera>
            </Viewport3D.Camera>
            <ModelVisual3D>
                <ModelVisual3D.Content>
                    <DirectionalLight x:Name="dirLightMain" Direction="-1,-1,-1">
                    </DirectionalLight>
                </ModelVisual3D.Content>
            </ModelVisual3D>
            <ModelVisual3D>
                <ModelVisual3D.Content>
                    <GeometryModel3D>
                        <GeometryModel3D.Geometry>
                            <MeshGeometry3D x:Name="meshMain"
                                Positions="0 0 0  1 0 0  0 1 0  1 1 0  0 0 1  1 0 1  0 1 1  1 1 1"
                                TriangleIndices="2 3 1  2 1 0  7 1 3  7 5 1  6 5 7  6 4 5  6 2 0  2 0 4  2 7 3  2 6 7  0 1 5  0 5 4">
                            </MeshGeometry3D>
                        </GeometryModel3D.Geometry>
                        <GeometryModel3D.Material>
                            <DiffuseMaterial x:Name="matDiffuseMain">
                                <DiffuseMaterial.Brush>
                                    <SolidColorBrush Color="Red"/>
                                </DiffuseMaterial.Brush>
                            </DiffuseMaterial>
                        </GeometryModel3D.Material>
                    </GeometryModel3D>
                </ModelVisual3D.Content>
            </ModelVisual3D>
        </Viewport3D>

これにより、次の結果が得られます。

ワイヤーフレームとしてレンダリングするには?

4

2 に答える 2

9

LinesVisual3D(無料の) Helix 3D Toolkit ( https://github.com/helix-toolkit )のクラスを見てください。これは、例のようなワイヤーフレームを描画できる「スクリーン スペース ライン」のバージョンです。

WPF 3D 作業を行っている場合は、 Helix 3D Toolkitを強くお勧めします。

于 2012-06-08T09:42:47.137 に答える
0

多分これは助けることができます:

                <GeometryModel3D.Material>
                    <DiffuseMaterial x:Name="matDiffuseMain">
                        <DiffuseMaterial.Brush>
                            <SolidColorBrush Color="Red" Opacity="0.5" />
                        </DiffuseMaterial.Brush>
                    </DiffuseMaterial>
                </GeometryModel3D.Material>
                <GeometryModel3D.BackMaterial>
                    <DiffuseMaterial x:Name="matDiffuseMain2">
                        <DiffuseMaterial.Brush>
                            <SolidColorBrush Color="Red" Opacity="0.5" />
                        </DiffuseMaterial.Brush>
                    </DiffuseMaterial>
                </GeometryModel3D.BackMaterial>
于 2012-06-08T08:51:16.867 に答える