2

SlimDX を使用してワイヤーフレーム 3D モデルをレンダリングしようとしています。

グーグルで検索した後、SlimDX でワイヤーフレームを描画する方法ではなく、高度なトピックしか見つかりませんでした。彼らは、それを行うにはシェーダーを使用する必要があると言います。

私は DirectX を初めて使用するので、HLSL はよくわかりません。

どうすればそれを描くことができますか?本当にシェーダーを使用する必要がある場合、誰かが例やヒントを教えてくれますか?

4

2 に答える 2

3

Direct3D 11 を使用しているため、シェーダーを使用して何かを描画する必要があります (固定機能は directx10 から削除されました)。

ワイヤーフレームの場合、実際にラスタライザーの状態を設定する必要があります。ここに例を示します(そこのカリングも削除しました:

RasterizerStateDescription rsd = new RasterizerStateDescription()
{
    CullMode = CullMode.None,
    DepthBias = 0,
    DepthBiasClamp = 0.0f,
    FillMode = FillMode.Wireframe,
    IsAntialiasedLineEnabled = false,
    IsDepthClipEnabled = false,
    IsFrontCounterclockwise = false,
    IsMultisampleEnabled = false,
    IsScissorEnabled = false,
    SlopeScaledDepthBias = 0.0f             
};

次に、この状態を適用するには、

RasterizerState rs = RasterizerState.FromDescription(device, rsd);
device.ImmediateContext.Rasterizer.State = rs;

SlimDX のチュートリアルはそれほど多くないことを認めた後、c++ には

http://www.rastertek.com/tutdx11.html

少なくとも、いくつかの基本的なシェーダーの例を見つけることができます。

于 2012-09-28T16:55:31.047 に答える
0

これが私が見つけたもので、私にとってはうまくいきます:

device.SetRenderState<FillMode>(RenderState.FillMode, FillMode.Wireframe);
于 2014-04-09T04:07:22.547 に答える