Ошибка HLSL X3000: нераспознанный идентификатор
У меня нет опыта работы с hlsl и я не могу понять, как исправить эту ошибку. Вот мой файл SimpleVertexShader.hlsl
cbuffer PerApplication : register (b0)
{
matrix projectionMatrix;
}
cbuffer PerFrame : register (b1)
{
matrix viewMatrix;
}
cbuffer PerObject : register (b2)
{
matrix worldMatrix;
}
struct AppData
{
float3 position : POSITION;
float3 color : COLOR;
};
struct VertexShaderOuput
{
float4 color : COLOR;
float4 position : SV_POSITION;
};
VertexShaderOuput SimpleVertexShader(AppData IN)
{
VertexShaderOutput OUT;
matrix mvp = mul(projectionMatrix, mul(viewMatrix, worldMatrix));
OUT.position = mul(mvp, float4(IN.position, 1.0f));
OUT.color = float4(IN.color, 1.0f);
return OUT;
}
Я получаю ошибку X3000: unrecognized identifier 'VertexShaderOutput'
так же как unrecognized identifier 'OUT'
, Я использую Visual Studio 2013. И в Свойствах для этого файла у меня есть эти настройки:
HLSL Compiler>Entrypoint Name: SimpleVertexShader
Shader Type: Vertex Shader (/vs)
Shader Model: Shader Model 4 (/4_0).
HLSL Compiler>Output Files>Header Variable Name: g_vs
Object File Name: $(OutDir)%(Filename)_d.cso.
(_d находится только в конфигурации отладки.)