如何在SlimDX / DirectX11中设置视图/世界矩阵

时间:2012-01-24 02:14:38

标签: c# directx slimdx directx-11

我正在尝试在SlimDX.Direct3D11中实现一个简单的FPS相机,这是我从旧的XNA项目中带来的。我不知道如何设置结果视图矩阵或任何矩阵。

我发现的所有教程都使用了C ++以及SlimDX中没有的函数或类。你们中的任何人都知道比SlimDX主页上的三个更多的例子吗?

这是我的顶点着色器

cbuffer MatrixBuffer
{
    matrix worldMatrix;
    matrix viewMatrix;
    matrix projectionMatrix;
};

struct VertexInputType
{
    float4 position : POSITION;
    float2 tex : TEXCOORD0;
};

struct PixelInputType
{
    float4 position : SV_POSITION;
    float2 tex : TEXCOORD0;
};
PixelInputType TextureVertexShader(VertexInputType input)
{
    PixelInputType output;

    input.position.w = 1.0f;

    output.position = mul(input.position, worldMatrix);
    output.position = mul(output.position, viewMatrix);
    output.position = mul(output.position, projectionMatrix);

    output.tex = input.tex;

    return output;
}

加载它们
bytecode = ShaderBytecode.CompileFromFile("shader/triangle.fx", "TextureVertexShader", "vs_4_0", ShaderFlags.None, EffectFlags.None);
inputSignature = ShaderSignature.GetInputSignature(bytecode);
vertexShader = new VertexShader(device, bytecode);

0 个答案:

没有答案