#pragma vertex vert_img 在 Unity 着色器中做什么?

What does #pragma vertex vert_img do in a Unity shader?

虽然我通过观察结果对 vert_img 的作用有了一个概念,但我想阅读我在网上找不到的更具理论性的解释。

对于上下文,我在一些使用浮点纹理计算粒子系统动力学的着色器中发现了这个vert_img

编辑:令人困惑的是,即使没有定义顶点着色器,它也会被声明。

#pragma vertex VERTEX_SHADER_NAME(顶点法)

#pragma vertex ____表示Shader代码中vertex shader的名称

要么是 vert_img,要么是其他任何东西。

正如我刚刚发现的那样,vert_img 是在 UnityCG.cginc 中定义的最小顶点着色器

v2f_img vert_img( appdata_img v )
{
    v2f_img o;
    o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
    o.uv = v.texcoord;
    return o;
}

其目的是将顶点数据转发给片段着色器。好用!