Working with a shader in Vulkan
Shaders are the means by which the programmable stage is controlled in the graphics and compute pipeline.
The graphics pipeline includes vertex, tessellation, geometry, and fragment shaders. Collectively, the first four-vertex, tessellation control, tessellation evaluation, and geometry shaders-are responsible for the vertex-processing stages. These are followed by the fragment shader, which is executed after rasterization.
Here's a bit about the graphics pipeline shaders:
Vertex shaders: The graphics pipeline executes the vertex shader as a result of the primitive assembly. It is used to process geometric vertices. It manipulates the data that may be required by the subsequent shaders (if enabled), such as lighting information by the fragment shader.
Tessellation shaders: This is a vertex-processing stage. When enabled, it subdivides the patches of vertex data into smaller primitives governed by the control and evaluate shaders.
Geometry shaders: This shader...