How it works...

As the name suggests, Vertex and Fragment Shaders work in two steps. The model is first passed through a vertex function; the result is then inputted to a Fragment function. Both these functions are assigned using #pragma directives:

#pragma vertex vert#pragma fragment frag

In this case, they are simply called vert and frag.

Conceptually speaking, fragments are closely related to pixels; the term fragment is often used to refer to the collection of data necessary to draw a pixel. This is also why Vertex and Fragment Shaders are often called Pixel Shaders.

The vertex function takes the input data in a structure that is defined as vertInput in the shader:

struct vertInput { float4 pos : POSITION; float2 texcoord : TEXCOORD0; ...

Get Unity 2018 Shaders and Effects Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.