Я пытаюсь реализовать простую камеру FPS, которую я привел из старого проекта XNA, в SlimDX.Direct3D11.Я понятия не имею, как установить результирующую матрицу представления или любую другую матрицу в этом отношении.
Все найденные мной учебники используют 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);