Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

unity3d

shader

cg

While I built an idea of what vert_img does by observing results, I would like to read a more theoretical explanation that I couldn't find online.

For context, I found this vert_img in some shaders that use floating point textures to compute the dynamics of a particle system.

Edit: the confusing thing is that it's declared even if no vertex shaders are defined.

like image 223
SteakOverflow Avatar asked Feb 01 '16 17:02

SteakOverflow


1 Answers

As I just found out, vert_img is a minimal vertex shader that is defined in 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;
}

Its purpose is to forward the vertex data to the fragment shader. Handy!

like image 200
SteakOverflow Avatar answered Sep 28 '22 01:09

SteakOverflow