'What does #pragma vertex vert_img do in a Unity shader?
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.
Solution 1:[1]
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!
Solution 2:[2]
#pragma vertex VERTEX_SHADER_NAME (vertex method)
#pragma vertex ____ represents the name of vertex shader in Shader code.
Either it is vert_img or any thing else.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Hamza Hasan |