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

Ste*_*low 5 shader cg unity-game-engine

虽然我通过观察结果建立了一个关于vert_img做什么的想法,但我想阅读一个我在网上找不到的理论解释.

作为旁注,我在一些着色器中发现了这个指令,它使用浮点纹理来计算粒子系统的动态.

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

Ste*_*low 8

正如我刚刚发现的那样,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;
}
Run Code Online (Sandbox Code Playgroud)

其目的是将顶点数据转发到片段着色器.便利!