SlimDX を使用してワイヤーフレーム 3D モデルをレンダリングしようとしています。
グーグルで検索した後、SlimDX でワイヤーフレームを描画する方法ではなく、高度なトピックしか見つかりませんでした。彼らは、それを行うにはシェーダーを使用する必要があると言います。
私は DirectX を初めて使用するので、HLSL はよくわかりません。
どうすればそれを描くことができますか?本当にシェーダーを使用する必要がある場合、誰かが例やヒントを教えてくれますか?
SlimDX を使用してワイヤーフレーム 3D モデルをレンダリングしようとしています。
グーグルで検索した後、SlimDX でワイヤーフレームを描画する方法ではなく、高度なトピックしか見つかりませんでした。彼らは、それを行うにはシェーダーを使用する必要があると言います。
私は DirectX を初めて使用するので、HLSL はよくわかりません。
どうすればそれを描くことができますか?本当にシェーダーを使用する必要がある場合、誰かが例やヒントを教えてくれますか?
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
少なくとも、いくつかの基本的なシェーダーの例を見つけることができます。
これが私が見つけたもので、私にとってはうまくいきます:
device.SetRenderState<FillMode>(RenderState.FillMode, FillMode.Wireframe);