Ошибка 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 находится только в конфигурации отладки.)

0 ответов

Другие вопросы по тегам