Неверная выходная семантика 'SV_POSITION': юридические индексы в [0,0] - PullRequest
0 голосов
/ 24 октября 2019

Я только начинаю изучать шейдер Unity3d, я следовал учебному пособию книги, весь мой код такой же, как учебное пособие, однако есть ошибка, которую я не могу понять.

Вот код:

    Shader "Unity Shaders Book/Chapter5/Simple Shader"{
        SubShader{
            Pass{
            CGPROGRAM

    #pragma vertex vert
    #pragma fragment frag

    struct a2v {
    float4 vertex:POSITION;
    float3 normal:NORMAL;
    float4 texcoord:TEXCOORD0;
    };

    struct v2f {
        float4 pos: SV_POSITION;
        fixed3 color : COLOR0;

    };

    v2f vert(a2v v) : SV_POSITION {
        v2f o;
        o.pos = UnityObjectToClipPos(v.vertex);
        o.color = v.normal *0.5 + fixed3(0.5, 0.5, 0.5);
        return o;
    }
    fixed4 frag(v2f i) : SV_Target{
    return fixed4(i.color,1.0);
    }
    ENDCG
    }
}

}

Ошибка

1 Ответ

0 голосов
/ 25 октября 2019

Изменить эту строку:

v2f vert(a2v v) : SV_POSITION {

На это:

v2f vert(a2v v) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...