我正在尝试在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);